1701018570
其中T1,…,T6当然是未知的。但是根据以上分析,知道T1,…,T6都是两两对换的置换。所以有T1(d)=x,T2(m)=y,T3(p)=z。于是从(1)式可以得到
1701018571
1701018572
T4(T1(d))=v,T5(T2(m))=b,T6(T3(p))=m.(2)
1701018573
1701018574
这样,如果令置换A为T1和T4的合成,B为T2和T5的合成,C为T3和T6的合成,则置换A,B,C是部分可知的。雷耶夫斯基观察到,只要一天能够截获80份“隐谜”密文,则26个字母都会在密钥字符串的1到6的每个位置上出现。这样就可以完全决定置换A,B,C!雷耶夫斯基把这三个置换称为这一天“隐谜”密码的“特征集”,因为它在一天里不变。
1701018575
1701018576
下一步是要通过特征集求出T1,…,T6。注意到T1,…,T6都是两两对换,所以特征集中的置换都是由两个两两对换合成的,雷耶夫斯基证明了这样一条关于两两对换合成的置换群定理。
1701018577
1701018578
定理 在由两个两两对换合成的置换中,所包含的长度相同并且不相交的圈的个数总是为偶数;反过来,如果一个置换中出现的长度相同并且不相交的圈的个数总是偶数,那么,它一定可以分解为两个两两对换的合成。(说明:如果在一个置换中,把两两不同的元素a1换成a2,a2换成a3,…,an换成a1,则称该置换包含一个长度为n的圈,记为(a1 a2…an)。例如,“两两对换”其实就是长度为2的圈。)
1701018579
1701018580
这条定理被人称为是“打赢第二次世界大战的数学定理”!它给出了求解T1,…,T6的方法:只要找出特征集置换的所有对换合成就可以了。
1701018581
1701018582
再下一步是要确定转轮上的接线方式。从理论上讲,只要通过比较多天的特征集并利用置换群方程(2),就能够做到这一点。当然,需要很复杂的计算。然而,雷耶夫斯基的面前突然出现了一条捷径。
1701018583
1701018584
1932年12月,法国密码局局长贝特朗(Gustave Bertrand)造访波兰密码局。他随身带来一包东西,里面是德军关于“隐谜”密码机的操作手册和1932年9月和10月的两个月里的每天“隐谜”的初始条件值,即转轮的排列与起始位置以及插口板上的接线方式!原来这些材料是德国密码局中负责掌管“隐谜”资料的军官施密特(Hans Thilo Schmidt)为了赚钱而出卖给法国人的。但是法国人拿到这些东西却不知道如何利用。因为法国和波兰有情报合作协议,所以就复制了一份送给波兰密码局。
1701018585
1701018586
雷耶夫斯基拿到了这些宝贵的材料后,立即利用其中详细的数据算出了每个转轮上的接线方式。至此,德军使用的“隐谜”密码机的结构已经完全清楚了。为了进一步破译的需要,波兰密码局立即仿制了数台“隐谜”机。这是在1932年年底。就在这个时候,雷耶夫斯基的两个同学,齐加尔斯基和鲁日茨基,也加入了破译“隐谜”的队伍。
1701018587
1701018588
这三位年轻的波兰数学家先后设计了回转机(Cyclometer)、穿孔纸和“炸弹”(Bomba)机等设备。其中回转机相当于把两台“隐谜”机对接,而“炸弹”机(据说这一名字是鲁日茨基借用当时的一种冰淇淋名而得来的)相当于把6台“隐谜”机连接在一起。有了这些设备,就能针对德军“隐谜”机不同的使用情况,获取其每天的初始设置参数。至此,“隐谜”遂告破解。以后几年,波兰密码局每天都可破译大量的德军电报。
1701018589
1701018590
如果说谢比乌斯发明的“隐谜”机标志着机器加密时代的开始,那么波兰年轻数学家设计的“炸弹”机等设备则宣告了机器破译的日子来临。
1701018591
1701018592
随着德国法西斯越来越咄咄逼人,战争已渐渐临近。德军对“隐谜”的改进越来越频繁。他们先后更换了反射轮,把插口板上的6对接线增加到10对,并且把3个固定的转轮增加到了5个,然后每天从中任选3个使用。
1701018593
1701018594
新的改进措施给波兰人的破译工作带来了一时难以克服的困难。而战争已经迫在眉睫。这时,波兰密码局审时度势,做出了一个重要的决定。
1701018595
1701018596
1939年7月24—26日,英国、法国和波兰的密码局官员们集中在波兰密码局开会。三位波兰年轻数学家出席了会议。会议期间,英法的代表们各自收到波兰同行们送的一份意外的礼物:复制的德国军用“隐谜”密码机、“炸弹”机、穿孔纸以及关于破解“隐谜”密码数学理论和技术方法的详细说明等。面对这份礼物,英国人和法国人都目瞪口呆:原来他们的波兰同行早已破译了“隐谜”!而他们自己长期以来一直想方设法破解它,却没有取得任何进展。
1701018597
1701018598
一个多月之后,1939年9月1日,德国大举入侵波兰,勇敢的波兰骑兵与德国坦克部队进行了一场力量悬殊的战斗。两个星期之后,苏联开始进攻波兰。数天之内,波兰就被两个大国解体瓜分。英法两国则向德国宣战。第二次世界大战爆发了。
1701018599
1701018600
4.英国的布雷契莱庄园
1701018601
1701018602
虽然波兰人天才地破译了早期的“隐谜”密码,但以他们的数学能力和国家实力尚不能或来不及应付德国人后来对“隐谜”的一系列改进措施,最终无法阻止亡国之灾。所幸的是,他们及时地把破译的关键技术和设备传交给了英法两国。然而,波兰沦陷后不到1年,法国人还来不及改进波兰人的成果,就被德国的闪电战一举击败,只得宣布投降。于是,继续破解“隐谜”以争取反德国法西斯战争胜利的重任,很自然地落到了英国人的肩上。
1701018603
1701018604
距英国首都伦敦西北约75千米,有一座20世纪60年代才设立的新兴城市,叫做米尔顿凯因斯(Milton Keynes)市。位于该市的西南部有一个小镇,叫做布雷契莱(Bletchley)镇,镇上有一个占地22公顷的庄园,叫做布雷契莱庄园(Bletchley Park,图9.3.5),该庄园是第二次世界大战中英国最神秘的地方。因为英国于1939年将其负责截听和破译国外无线通信的情报机构秘密地搬入此地。该机构的公开名称叫做“政府密码学校”(Government Code and Cipher School)。德国人做梦也没有想到,这个破旧的庄园中隐藏着英国人最致命的战争武器,其作用甚至超过一千架飞机、一万辆坦克和100万精锐部队。在整个第二次世界大战期间,缺乏防卫设施的布雷契莱庄园几乎没有遭受过敌机的轰炸。
1701018605
1701018606
布雷契莱庄园的“政府密码学校”在鼎盛时期拥有约9千名工作人员,其中有不少国际象棋冠军、纵横字谜高手和通晓多国语言的专家,这几类人一直是传统密码战场上的主力军。“学校”有时会采用一些别出心裁的方法来招募人才。如有一次,他们请《每日电讯报》(The Daily Telegraph)举办一场纵横字谜比赛,凡是在12分钟内完成字谜游戏的参赛选手都被询问“是否愿意从事一种能为战争做贡献的特殊工作”。
1701018607
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的破解方法。
[
上一页 ]
[ :1.70101857e+09 ]
[
下一页 ]