1701742879
1701742880
在这种加密方案中,一个字母始终用某个其他字母替换。这种密码被称为“恺撒密码”,因罗马诸皇帝使用过这种密码而得名。奥古斯都·恺撒使用上表的密码,朱利乌斯·恺撒使用一种相似的密码,把原文的A替换成D、B替换成E,等等。
1701742881
1701742882
恺撒密码有26种。在上表中,下面那行字母可以串两个位置,也可以串三个位置,等等(第26种恺撒密码就是以每个字母替代它本身)。每种恺撒密码可以用一个数字或字母指明。奥古斯都·恺撒使用的密码被称为“密码B”,朱利乌斯·恺撒使用的密码被称为“密码D”。
1701742883
1701742884
恺撒密码很容易破译。例如,在一种恺撒密码中,E可能总被替换成U。由于在许多语言中E都是最常见的字母,在密文中,U很可能成为最常见的字母。这样秘密就完全暴露了。破译者可以识别出最常见的几个字母,然后利用这些字母识别出常见的简单词,而后迅速地解破整个信息。
1701742885
1701742886
从恺撒的时代起,密码学取得了长足的进步。现在,任何国家都不会使用像恺撒密码那样简单的密码了。然而,以恺撒密码为基础可以设计出不可破解的密码,现在的超级大国使用的就是这种改造过的密码。
1701742887
1701742888
关键在于,应该对于每一个字母应用不同的恺撒密码。对于第一个字母,应用一种恺撒密码;对于第二个字母,应用另一种;对于第三个字母,再换一种,如此等等。
1701742889
1701742890
一方面,这种方案使得密码的复杂性剧增。你需要一个“密钥”告诉你,对于每一个字母应用的是哪种恺撒密码。密钥的长度至少和信息一样长。这种方案的优点是密码非常安全。密文中的任何一个字母可以代表任何字母。应用一种确定的密钥,可以把《葛底斯堡宣言》加密成一连串的“i”;换一种密钥,又可以加密成《格利佛游记》的一部分;再换一种密钥,会得到我们期望的“随机”字母组合(实际上这种情况是最有可能的)。
1701742891
1701742892
这种密码即“一次性便笺密码”。密钥被写在一个便笺簿上,每一页上写一个密钥,只用一次,用完销毁。例如,每一页上的密钥针对信息中的一个字母,指明对这个字母应用哪一种恺撒密码,对信息中的每个字母连续应用便笺簿上的密钥。如果用字母指明恺撒密码(如上文介绍的),那么整个密钥看起来就像一长串随机字母。
1701742893
1701742894
对于“MESSAGE”这个单词,用恺撒密码“C”、“R”、“F”、“B”、“Z”、“F”和“D”进行加密。在恺撒密码C中,M替换成O;在恺撒密码R中,情况是这样:
1701742895
1701742896
1701742897
1701742898
1701742899
E替换成V。最终,“MESSAGE”变成“OVXTZLH”。
1701742900
1701742901
与“NFTTBHF”(用密码B加密的结果)相比,“OVXTZLH”要好得多。如果密码只采用单一的替换方案,会留下线索,让破译者很容易入手,解开任意长度的密文。通过对密文的“熵”进行分析,我们可以识别出原文是哪种语言。从“NFTTBHF”可以看出,原文中间有两个相同字母,而且第二个字母和最后一个字母相同。即使仅从这一个单词出发,你也可以(正确地)猜出,F代表英语中最常见的单词E。然而,在“OVXTZLH”这段密文中,没有任何线索。原文中连续的两个S变成了两个不同的字母。由于对每个字母都应用了不同的、随机选择的替代方案,显然,“OVXTZLH”完全可能代表任何由7个字母组成的单词。由于一次性便笺密码系统具备彻底的不确定性,在没掌握密钥的情悦下,任何破译企图都注定不可能得逞。
1701742902
1701742903
一次性便笺密码系统的问题在于,如何向密文发送者和接收者提供密钥。密钥不能和密码一起发送。如果一起发送,任何截获信息的人都可以解开密码。鲁道夫·亚伯(Rudolf Abel)是苏联间谍,1957年在纽约被捕。
1701742904
1701742905
他用的就是一次性便笺密码系统,密钥被记在一个邮票大小的便笺簿上,每一页都密密麻麻的。如果真的把密钥记在便笺簿上,每一页则需要写上数以百计的数字或字母,这样才能应付信息长度的实际需要。这个问题使得一次性便笺密钥的应用范围局限于重要且不是很长的信息。
1701742906
1701742907
通过选择适当的密钥,利用一次性便笺密码可以把任何文本转化成iiiii……,然而,你必须先拿到文本,而后针对文本制作特定密钥。这与设计密码的初衷相悖,通常,密码的目的是交换未来的未知信息。既然已知密文是iiiii……,无论它代表什么,它都无法传达未知的新信息。这段密码只能告诉我们信息有多长。
1701742908
1701742909
“iiiii……”这段密文的熵已达到最低限度,远低于任何一种实际语言。通常,密文的熵等同或高于原文。当熵下降时,这意味着部分信息量被塞进了密码系统中。(《伏尼契手稿》就是这种情况,除非原文就是塔希提语!)此时,密文是不确定的。解开这段密文依赖于密文之外的信息:一种密钥,或者信息的原作者所具备的、从意义不明的密文重建原文的能力。
1701742910
1701742912
暴力法
1701742913
1701742914
假定《伏尼契手稿》的原文是一种基于罗马字母的欧洲语言,手稿中的每一个花体符号对应一个字母,加密方法是不可破译的、不确定的一次性便笺密码。像班尼特那样把每个花体符号表示为字母。假设一共有26个不同的有意义符号。把这些符号排列成任意一种顺序,做出一个“字母表”,有26种恺撒密码可以把罗马字母转化为伏尼契符号。
1701742915
1701742916
我们不知道伏尼契符号的字母表顺序(如果这种字母表存在的话)。我们也不能肯定,《伏尼契手稿》的密码系统只使用了恺撒密码。除恺撒密码以外,还有很多办法可以把字母转化为符号。但是为简单起见,我们假定字母表的顺序是已知的,而且手稿的密码系统只应用恺撒密码。
1701742917
1701742918
密钥的功能就在于,指出手稿中的每一个符号应用了哪种恺撒密码。如果有人宣称找到了密钥,我们可以把密钥应用于几十个符号,看看是否能得到属于某种欧洲语言的有意义的单词。如果通过检验,我们可以把密钥应用于整个手稿。如果结果是有意义的信息,这样密码就解开了。
1701742919
1701742920
我们没有密钥。看起来我们可以用暴力法破解这个密码。我们可以检验所有伏尼契文本可能采用的加密方案。
1701742921
1701742922
有两个原因注定这个办法行不通。对于第一个字母需要检验26种可能性,对于第二个字母又有26种可能性,对于第三个字母也有26种可能性……(实际问题的复杂性远超于此,因此此处尚未考虑伏尼契符号的字母表顺序有很多种可能性,而且有可能应用了非恺撒密码。)用n表示在密文中抽取的样本所包含的符号数,则需要考虑的可能性为26n种。如果样本包括100个符号,则需要考虑26100种可能性,即10141左右。这个数太大了,即使拥有宇宙的全部时间,也无法完成检验。
1701742923
1701742924
确实如此。但是我们还是可以设想,检查10141种可能性的超级艰巨任务是有可能完成的。虽然在现实中做不到,但是在理论上是可以完成的。然而,即使如此,完成这些检验也是无用的。由于我们已经检验了所有可能的密钥,我们一定已经找到了一种密钥,逆向应用于《伏尼契手稿》后得到了《格利佛游记》。比方说,我们可以这样做:对于《格利佛游记》中的第一个字母,有一种恺撒密码可以把它转化为《伏尼契手稿》中的第一个字母;对于《格利佛游记》中的第二个字母,找到另一种恺撒密码,把它转化为《伏尼契手稿》中的第二个字母,如此这般。(两部作品中比较长的那部会留下一些多余的符号。)
1701742925
1701742926
另外一种密钥可以把《伏尼契手稿》转化为《葛底斯堡宣言》。其他一些密钥可以把手稿转化为任何可能的文本,只要目标文本的长度相符。暴力法的繁复搜索工作即使在物理上可行,也是毫无意义的,因为它可以把手稿解释为任何可能的有意义的信息。每种解释与密文的匹配程度都同样高。[6]
1701742927
[
上一页 ]
[ :1.701742879e+09 ]
[
下一页 ]