淘宝网站维护,网页休闲游戏网站,网站制作报价明细,wordpress二次元简约主题一、基本原理
埃特巴什码的原理是#xff1a;字母表中的最后一个字母代表第一个字母#xff0c;倒数第二个字母代表第二个字母#xff0c;以此类推。在罗马字母表中#xff0c;对应关系如下#xff1a;
常文#xff08;明文#xff09;#xff1a;A B C D E F G H I …一、基本原理
埃特巴什码的原理是字母表中的最后一个字母代表第一个字母倒数第二个字母代表第二个字母以此类推。在罗马字母表中对应关系如下
常文明文A B C D E F G H I J K L M N O P Q R S T U V W X Y Z密文Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
二、发现者与历史背景
发现者埃特巴什码是由熊斐特博士发现的。熊斐特博士是库姆兰《死海古卷》的最初研究者之一在《圣经》历史研究方面有着卓越的贡献其最有名气的著作是《逾越节的阴谋》。历史背景这种密码最初用于希伯来字母表但可以用于任何字母表。它被运用在公元1世纪的艾赛尼/萨多吉/拿撒勒教派的经文中用以隐藏姓名。此外早在公元前500年它就被抄经人用来写作《耶利米书》。耶利米是活动在公元前627~前586年间的犹太先知圣经旧约书中有许多关于他的记载。
三、应用与示例
应用熊斐特博士运用埃特巴什码来研究别人利用其他方法不能破解的那些经文。此外它还被用于隐藏和传递秘密信息。示例以罗马字母表为例若明文为“the quickbrownfoxjumpsover the lazy dog”则对应的密文为“gsvjfrxpyildm ulc qfnkh levi gsv ozab wlt”。
python解码程序
简单版
def atbash_decode(txt):answer for char in txt:if a char z: # 小写字母answer chr(ord(z) - ord(char) ord(a))elif A char Z: # 大写字母answer chr(ord(Z) - ord(char) ord(A))else: # 非字母字符answer charreturn answer# 使用示例
txt input(请输入要解码的文本: )
print(解码后的文本:, atbash_decode(txt))
困难版
lower [chr(i) for i in range(ord(a), ord(z) 1)]
upper [chr(i) for i in range(ord(A), ord(Z) 1)]def kashidecode(txt):answer for i in range(len(txt)):if txt[i].islower():# 找到当前小写字母在 lower 列表中的索引index lower.index(txt[i])# 使用该索引从列表的末尾获取对应的字母answer lower[-1 - index]elif txt[i].isupper():# 对大写字母做同样的处理index upper.index(txt[i])answer upper[-1 - index]else:# 非字母字符保持不变answer txt[i]return answerif __name__ __main__:txt input(请输入要解码的文本: )answer kashidecode(txt)print(解码后的文本:, answer)