打字猴:1.701742892e+09
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
1701742911 推理的迷宫:悖论、谜题及知识的脆弱性 [:1701739749]
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
1701742928 推理的迷宫:悖论、谜题及知识的脆弱性 [:1701739750]
1701742929 检验破译结果
1701742930
1701742931 那么,人们怎样才算破解了某个密码呢?(更实际的问题是,人们怎样向自己和他人证明自己破译的结果是正确的呢?)我们这样考虑:
1701742932
1701742933 一个得到经验证实的事实是,随机选择的密钥不会导致有意义的破译结果——这种概率太低了。在《伏尼契手稿》上随机地尝试一种密钥,将得到一串无意义的字母。
1701742934
1701742935 因此,一种任意选择的错误密钥导致有意义的破译结果的概率是微乎其微的。如果一种密钥从密文解出了有意义的信息,实际上可以肯定此密钥是正确的,除非事先给定了破译结果,而后针对破译结果特意设计出密钥。
1701742936
1701742937 为了证明某种破译方案是正确的,需要进行四个步骤:
1701742938
1701742939 第一,指出密码系统及其密钥。这里的“密钥”是指为了破译密码必须掌握的最低限度的信息,它是否表现为可以书写的形式则无关紧要。
1701742940
1701742941 第二,针对密文进行加密过程的逆过程,得出待检验的明文。
[ 上一页 ]  [ :1.701742892e+09 ]  [ 下一页 ]