打字猴:1.701018608e+09
1701018608
1701018609
1701018610
1701018611 ▲ 图9.3.5 布雷契莱庄园,第二次世界大战期间英国密码破译机构所在地,1992年起对外开放,供旅游者参观
1701018612
1701018613 波兰人的成功终于让英国人认识到,要破解像“隐谜”这样的现代密码,数学家才是最合适的人选。“政府密码学校”马上从英国著名学府剑桥大学召来三位优秀数学家,他们是杰弗里斯(John Jeffreys)、威尔仕曼(William Gordon Welchman)和图灵(Alan Mathison Turing)。连同前些时候进来的特温(Peter Twinn),这4位数学家分别为破解“隐谜”做出了不同的贡献。
1701018614
1701018615 然而,毫无疑问,对破解“隐谜”机做出最大贡献的是阿兰·图灵——20世纪杰出的数学家、现代计算机科学的奠基人。
1701018616
1701018617 来到布雷契莱庄园之后,图灵开始重新思考有关“隐谜”破译的问题(图9.3.6)。他发现波兰同行的破译方法依赖于对每份“隐谜”电文前被重复加密的3字母密钥(见上一节介绍)的分析,这种做法有很大的局限性:一旦德国人对机器结构和操作规则稍加变动,就会导致方法失灵,只能推倒重来。事实上,当时波兰人的方法已经很难奏效。因此,必须尽快找到新方法。
1701018618
1701018619 前面已经指出,雷耶夫斯基发现了“隐谜”机的一个严重缺陷:它的加密置换群总是由字母的两两对换构成,即如果把A加密成Q,则一定会把Q加密成A,利用这个缺陷,雷耶夫斯基解出了加密过程的置换群方程。现在图灵经过仔细分析“隐谜”机的工作原理,发现了它的又一个严重缺陷,那就是它永远不会把一个字母加密成本身,即永远不会把A加密成A,把B加密成B,等等。利用这一缺陷,图灵提出了一种基于crib的破解方法。
1701018620
1701018621
1701018622
1701018623
1701018624 图9.3.6 图灵和他在布雷契莱庄园的工作场所:八号棚屋
1701018625
1701018626 “crib”的原意是指考试作弊时的夹带,在这里表示一段未加密的文字或字符串。图灵的新破解方法如果用手工来操作,则大致如此:设已确认一份加密电文中包含了一段crib内容,则将密文与crib上下并排对齐,然后逐个位置比较上下字母;如至少有一个位置的上下字母相同,则将crib右移一位,继续比较;直到发现两者在所有的对应位置上没有相同的字母,则密文中的这段字符串很可能是对应crib内容的加密文字,于是得到这些位置上的一些加解密字母之间的对应关系。可以证明,只有少量的“隐谜”机转轮的组合设置才能够正好在那些位置上将给定的crib加密成所对应的字符串,从而排除了大量的不符合要求的转轮组合设置,使得进一步的破译工作大大简化。据统计,一份加密电文中只要含有30个字母左右的crib就可以被破解。
1701018627
1701018628 图灵方法需要利用足够多的crib。那么,如何找到它们?事实上,利用德国人刻板的行文风格和密码机操作上的漏洞,不难找到所需的crib。如某台“隐谜”机总要准时发送该地区的天气预报,这段电文总是以“VORHERSAGEBEREICH SIEBEN”(七号地区的天气预报)开头,这给英国人提供了所需要的crib。
1701018629
1701018630 有时,由于种种原因,德国人会把同样的电文内容用新旧两种参数加密各发送一遍;这时就有可能利用旧参数加密发送的电文作为crib来破解新参数的密文了。这种crib在布雷契莱庄园被叫做“接吻”(kiss)。
1701018631
1701018632 还有些时候,为了获得所需要的crib,英国人会刻意制造一些事件,引发德军在来往电文中使用某些词。如有意在某一地区布雷,当地的德军就会立即向上级报告,请求派工兵来扫雷。这样,在来往电文中一定会包含“地雷”这个词。这种获取crib的方法在布雷契莱庄园被称为“种花”(gardening),它屡试不爽。
1701018633
1701018634 如果真的用人工来实现图灵的方法,则需要花费大量的时间,效率太低。因此,必须使用机械和电气化的手段。图灵于是和威尔仕曼以及英国制表机公司(British Tabulating Machine Company)的总工程师基恩(Harold Keen,1894—1973)合作,改进了波兰人发明的“炸弹”机。改进后的装置仍然叫做“炸弹”,只是其名称的字母拼写从波兰人的“Bomba”改成英国人的“Bombe”(图9.3.7)。英国人所以仍然使用这个名字,是因为这种机器运转的时候会发出钟表一样的嘀嗒声,就好像一颗上了发条的定时炸弹。“炸弹”机上有36组转轮,每组中有转轮3个,所以它实际上相当于36台“隐谜”机的组合。而雷耶夫斯基原先设计的旧“炸弹”机相当于6台“隐谜”机的组合。在二次大战期间,英国人共造了211台“炸弹”机,破译了德军9 0%以上的“隐谜”电文,为赢得战争的胜利做出了重要的贡献。
1701018635
1701018636 图灵还负责破译德国海军的“隐谜”密码。这在布雷契莱庄园被认为是最困难的任务。德国海军历来极其重视无线通信的可靠性和保密性,它率先在德军中使用“隐谜”密码机。在二次大战中,德国海军的U-潜艇舰队平时悄无声息地潜行在大西洋中,直到发现合适的目标——美英运输船队——后,才通过无线电报召来同伙以“狼群”战术展开凶猛的攻击。无线保密通信对于潜艇舰队的生存和胜利至关重要。因此,德国海军即使对于所信赖的“隐谜”机也频繁地加以结构和操作方式改进,以确保它无懈可击、绝对可靠。
1701018637
1701018638
1701018639
1701018640
1701018641 ◀ 图9.3.7 专门破译“隐谜”密码的英国“炸弹”机
1701018642
1701018643 二次大战前夕,德国空军和陆军的“隐谜”机的转轮从3个增加到5个(每天按规定选用其中3个)。这已经给波兰破译者带来了巨大的困难。而德国海军“隐谜”机的转轮又继续增加到7个,最后增加到8个(每天按规定选用3或4个)!
1701018644
1701018645 在图灵来到之前,布雷契莱庄园中几乎所有人都认为德国海军的“隐谜”密码是无法破译的,因此没有人愿意为它浪费时间。图灵来了之后,虽然不久发明了基于crib破解方法的“炸弹”机,但由于德国海军的“隐谜”机有8个备用转轮,比德国空军和陆军的“隐谜”机多用3个,使得前者可能使用的密码变化范围要比后者大得多;而早期的“炸弹”机运行不太快,用它们破解德国海军密码的效率很低。
1701018646
1701018647 鉴于德国的U-潜艇正在严重威胁盟军的大西洋生命线,寻找有效的破解德国海军“隐谜”密码方法已成为刻不容缓的任务。图灵经过一段时间的摸索和研究,终于发明了基于贝叶斯(Bayes)统计原理的“班布里方法”(Banburismus),所以取这个名称是因为实行此方法所用的卡片是在英格兰中部一个叫做“班布里”(Banbury)的地方制作的。
1701018648
1701018649 班布里方法基于语言学中这样一个统计事实:把任意的两段文字拿来排成行上下对齐作比较,查看其中有多少对字母是相同的;则当这两段文字属于同一编码系统时出现相同字母对的概率明显高于当它们不属于同一编码系统时的相应概率。特别地,对于德文来说,如果两段文字是用不同的方法加密的,则相当于字母的随机配对,其出现相同字母对的概率为1/26;而如果两段文字都是没有加密的明文或是按相同方式加密的密文,则出现相同字母对的概率为1/17。
1701018650
1701018651 1940年5月8日,用班布里方法破解德国海军的“隐谜”密码首次获得成功。以后三年里,此方法结合“炸弹”机成为英国人破解德国海军密码的主要手段,为盟军重创德国潜艇舰队,守住大西洋生命线做出重要贡献。一直到1943年9月,此时“炸弹”机的性能已经有大幅度的提高,只需数十分钟就能破译一份“隐谜”密码。班布里方法才被停止使用。
1701018652
1701018653 由于雷耶夫斯基和图灵等人在密码战线上的卓越工作,使得盟军能够屡创法西斯军队,并最终赢得了第二次世界大战的胜利。这几位杰出数学家还开创了数学在密码学中的应用,并成功实现了利用机械设备破译密码。第二次世界大战以后,由于网络通信的普及,使得密码学迅速发展。而在此发展中,数学起了决定性的作用,以至今天的密码学实际上已成为数学的一个应用分支。
1701018654
1701018655
1701018656
1701018657
[ 上一页 ]  [ :1.701018608e+09 ]  [ 下一页 ]