B OBDFSOBDLNLBC, ILXS B QBLCDSV MV B QMSD, LE B OBXSV MH QBDDSVCE.
LH FLE QBDDSVCE BVS OMVS QSVOBCSCD DFBC DFSLVE, LD LE ASNBGES DFSJ BVS OBTS ZLDF LTSBE. DFS OBDFSOBDLNLBC'E QBDDSVCE, ILXS DFS QBLCDSV'E MV DFS QMSD'E OGED AS ASBGDLHGI; DFS LTSBE ILXS DFS NMIMGVE MV DFS ZMVTE, OGED HLD DMUSDFSV LC B FBVOMCLMGE ZBJ. ASBGDJ LE DFS HLVED DSED: DFSVS LE CM QSVOBCSCD QIBNS LC DFS ZMVIT HMV GUIJ OBDFSOBDLNE.
上述这段文字看上去就像天书,但是,实际上它是用一种使用最广泛的密码写出来的,这种密码称为替换式码。它用不同的字母来替换原文中的字母,比如,a可能被替换成了P,t可能替换成C等。(在此,小写字母表示未加密的讯息,即专业人士所称的明文,大写字母表示密文。)只要信息的发送者和接收者事先商定好字母的替换规律,接收者便能破解其中的秘密,但对于其他人来说,这些文字只不过是些毫无意义的字符组合罢了。
所有此类密码中最简单的一种是以凯撒大帝的名字命名的凯撒变换码。凯撒曾在高卢战争中用这种密码和他的将军交换信息。这种密码的规则是将每个字母替换为字母表后相同距离以外的另一个字母。如果该距离设为3位,a就变成了D,b就变成了E,依此类推。从本书网站上可以下载到相关文件,你可以用其来设立自己的密码轮盘,创建出一种简单的凯撒变换码。
以相同间隔来替换字母的方法只能创造出25种可能的密码,一旦你认出其中的编码方式,密文便不难破解。此外,还有另一种更好的编码方式,即不将所有字母统一后移,而是将字母混在一起,任何字母都可以用来替换任何其他字母。实际上,这种加密术的发明要比凯撒大帝的密码早数百年的时间。而且,令人吃惊的是,它并非写在一本军事书籍之中,而是写在印度《爱经》里。虽然这本古代梵文著作通常被认为是和肉体欢愉相关的,但其中也涵盖了作者认为妇女应当掌握的众多技艺,从变戏法、下象棋、书籍装订,甚至到木工等等。其中的第45章则专门介绍了加密书写的艺术。而这里的替换密码则被视为一种隐匿爱人间联络细节的绝妙方式。
虽然凯撒变换密码只有25种,但如果能用任何字母来替换其他任何字母的话,就会产生更多的密码。要替换字母a,我们共有26种选择,而在此基础上再替换字母b,则有25种选择(因为其中已经有1个字母用来替换了字母a)。因此,仅仅替换a、b两个字母,便已经有26×25种不同的方式。如果我们继续下去,将剩下的字母也都替换成不同的字母,那么,就将产生以下这么多种的《爱经》密码:
26×25×24×23×22×21×20×19×18×17×16×15×14×13×12×11×10×9×8×7×6×5×4×3×2×1
根据前文第40页的讲述,我们可以将上述数字写成26!。此外,我们还需要记得从该数字中减去1,因为其中有一种可能是A为a,B为b,一直到Z为z,这种情况下也就不能称其为密码了。当我们计算出26!的值,并减去1后,得到的总数如下:
403 291 461 126 605 635 583 999 999
即一共有超过四亿亿亿种可能的密码种类。
本节开头的那段文字便是依照其中一种密码所撰写的。为便于读者理解上述数字到底有多大,我来举两个例子。如果我用其中所有可能的密码种类把该段文字誊写一遍的话,纸张的长度可以轻易地从这里延伸至银河系边界。而如果1台计算机1秒钟检验1种密码的话,自130亿年前宇宙大爆炸开始操作,到今天为止,它也只能检验完其中的一小部分——很小很小的一部分。
如此看来,这种密码似乎是无法破解的。谁能有这么大本事从如此庞杂的选择中确定我使用的特定类型呢?令人吃惊的是,解决这一问题要依赖于一种十分简单的数学思想:计数。
表 4-1 简明英文中各字母出现的频率,精确到1%。根据这些数据,我们便可以开始破解那些使用替换密码撰写的密文
密码分析学(密码破译的学名)最早由阿拉伯人在阿巴斯王朝时期发展起来的。公元9世纪的博学人士叶尔孤白·肯迪发现,在书面文本中,有些字母反复出现,而另一些字母很少出现,正如表4-1中的数据所显示的那样。熟悉Scrabble拼字游戏的读者对此都深有体会:字母E的价值只是1分,因为E是英语字母中最常出现的文字,而字母Z则价值10分。在书面文本中,每一个字母都有其独特的“个性特征”,包括出现的频率、与其他字母的组合方式等,但是,肯迪分析的关键之处就在于,他认识到一个字母并不会因为被其他符号替换掉,就改掉其原本的个性特征。
那么,就让我们以本节开篇段落为例来尝试一下破译密码吧。表4-2中列出了这段文字中各字母的出现频率。
表 4-2 密文中各字母的出现频率(www.daowen.com)
从表中,我们可以看出字母S的出现频率为13%,比密文中其他字母的出现频率都高,因此,很有可能这个字母在密码中就代表着字母e。(当然,你得指望我在此使用的不是乔治·佩雷克的小说《消失》,在这部小说中,字母e完全消失了。)密文中出现频率第二高的字母则是D,出现频率为12%。而英文中第二常见的字母为t,因此,很有可能D在这里所替换的字母就是t。接下来,密文中第三常见的字母为B,出现频率为10%,因此,它替换的很可能就是英文中第三常见的字母a。
现在就让我们把上述的3个字母替换回来,看看结果如何:
a OatFeOatLNLaC, ILXe a QaLCteV MV a QMet, LE a OaXeV MH QatteVCE.
LH FLE QatteVCE aVe OMVe QeVOaCeCt tFaC tFeLVE, Lt LE AeNaGEe tFeJ aVe OaTe ZLtF LTeaE. tFe OatFeOatLNLaC'E QatteVCE, ILXe tFe QaLCteV' E MV tFe QMet' E OGEt Ae AeaGtLHGI; tFe LTeaE ILXe tFe NMIMGVE MV tFe ZMVTE, OGEt HLt tMUetFeV LC a FaVOMCLMGE ZaJ. AeaGtJ LE tFe HLVEt teEt: tFeVe LE CM QeVOaCeCt QIaNe LC tFe ZMVIT HMV GUIJ OatFeOatLNE.
虽然看上去仍然是一团乱麻,但我们从其中看到好几个单独的字母a,这或许证明我们对该字母的解码是正确的。(当然,最终的结果或许显示B替换的是字母i,果真如此的话,我们就得从头再来了。)然后,我们还观察到单词tFe反复出现,因此,它很可能表示的就是单词the。根据上面的频率列表,字母F在密文中的出现频率为6%,而字母h在英文中的出现频率也是6%。
我们还看到单词Lt,其中只有第2个字母被破解了。而英文中只有两个以t收尾的双字母单词,即at和it。由于我们已经破解出了字母a,所以L很可能就是字母i,而字母频率列表也佐证了这一点。L在密文中的出现频率为8%,而字母i在英文中的出现频率则为7%,二者十分接近。这种频率的统计并不非常精确,一般来讲,文本越长,精确性就越高,但在解读时还是要保持一定的灵活性。
现在我们把两个新破解出的字母替换进去:
a OatheOatiNiaC, IiXe a QaiCteV MV a QMet, iE a OaXeV MH QatteVCE.
iH hiE QatteVCE aVe OMVe QeVOaCeCt thaC theiVE, it iE AeNaGEe theJ aVe OaTe Zith iTeaE. the OatheOatiNiaC'E QatteVCE, IiXe the QaiCteV'E MV the QMet'E OGEt Ae AeaGtiHGI; the iTeaE IiXe the NMIMGVE MV the ZMVTE, OGEt Hit tMUetheV iC a haVOMCiMGE ZaJ. AeaGtJ iE the HiVEt teEt: theVe iE CM QeVOaCeCt QIaNe iC the ZMVIT HMV GUIJ OatheOatiNE.
如此,文章内容便开始一点一点地凸显出来了。剩下的破解工作就留给读者自己去做了。如果想检验自己的破解是否准确,请见本章末尾处公布的解码的文本。在此给大家一个提示,这些文字是我最喜欢的篇章之一,选自剑桥数学家戈弗雷·哈罗德·哈代的《一个数学家的辩白》一书。这是我上学时期读过的一本书,而且它也是促使我决定当一名数学家的原因之一。
这种简单的数字母个数的计算频率的技巧,使得任何以替换密码写成的信息都难逃被破解的命运,苏格兰玛丽皇后便尝到了其中的苦头。她用奇怪的符号替代字母(见图4-1)写了一封信给她的同谋者安东尼· 贝平顿,密谋刺杀伊利莎白一世。
图 4-1 贝平顿密码
玛丽皇后的书信第一眼看上去似乎完全无从下手,但是,伊利莎白女皇征召了一名欧洲密码破译大师托马斯· 菲利普斯。这位破译大师其貌不扬,曾有文对其描述道:“五短身材,瘦骨嶙峋,头发深黄,黄色的胡须整洁,甚至面生痘疮,双眼近视。”许多人因其能阅读像这样的神秘文本而将其视为与恶魔为伍的人,事实上,他所使用的无非就是前文所述的分析频率的方法。菲利普斯成功地破解出密码,玛丽皇后因此被捕并被送上法庭。这封密信也成了将其送上断头台的铁证。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。