靠着波兰人的老办法,加上操作上的漏洞,英国人勉强支撑着对恩尼格玛机的破译工作。但长此以往肯定不行,必须要找出一套行之有效的系统方法。
波兰人的成功经验使英国人认识到,破解像恩尼格玛机这样的机器密码,数学家是至关重要的力量。因此,布莱切利园从剑桥大学招来了四位优秀的数学家,他们分别是特温、杰弗里斯、威尔仕曼和图灵,他们都作出了相应的贡献:
特温运用波兰人的方法,于1940年1月为英国破译了第一份恩尼格玛密码;
杰弗里斯改进了波兰数学家齐加尔斯基发明的“穿孔纸”,能够破解配有5个转子(每次任选其中三个使用)的恩尼格玛机;
威尔仕曼发明了专门破解恩尼格玛机接线板连接方式的“对角板”,极大地提高了破解效率;
而对最终破解恩尼格玛机做出最大贡献的则无疑是阿兰·图灵,他被后世公认为20世纪杰出的数学家、现代计算机科学的奠基人。
来到布莱切利园后,图灵认为波兰的破解方法严重依赖于对每份密文前被重复加密的3个字母密钥的分析,这种做法有很大的局限性。事实上在德军改进了恩尼格玛机之后,波兰人的方法已经很难奏效了。
图灵开始重新思考,经过仔细分析恩尼格玛机的工作原理,他又发现了一个重大缺陷——恩尼格玛机对同一个字母连续加密的话,是不会加密成相同字母的,而且这个字母也不会被加密成它本身。利用这一缺陷,图灵在1939年底提出了一种基于crib的破解方法。
“crib"的原意是指考试作弊时的夹带,在这里则表示一段未加密的文字或字符串,图灵称其为“对照文”。
图灵的新破解方法如果用手工来操作,大致是这样一个过程:
假设已经确认一份加密电文中包含了一段crib内容,则将密文与crib上下并排对齐,然后逐个位置比较上下字母;如至少有一个位置的上下字母相同,则将crib右移一位,继续比较;直到发现两者在所有的对应位置上没有相同的字母,则密文中的这段字符串很可能就是对应crib内容的加密文字,于是就能得到这些位置上的一些原文与密文字母之间的对应关系。
经过计算,图灵还发现,一份加密电文中只要含有30个字母的crib,就可以被破解。
那么该如何寻找crib呢?图灵也从一些军事规律导致的漏洞入手。
比如,德军消息里类似——
无特殊情况(Keine besonderen Ereignisse)
希特勒万岁(Heil Hitler)……
这样的词语,会经常出现。
图灵还分析出了一个更好用的词——“天气”(wetter)。这个词每天早上6点到6:05必然出现,而且大都出现在信息的开头,此外这个词里出现了两个t挨着的情况。
根据图灵发现的规则,图灵就可以拿着wetter这个字段当作原文,对照着密文一位一位的挪动,排除掉那些不符合刚刚两个规律的方案。
又因为wetter很高概率出现在信息最开头,所以只要试几次,就能发现wetter对应的密文到底是哪几个字母。
还有些时候,为了获得所需要的crib,英军会刻意制造一些事件,以此来引发德军在电文中使用某些词。如故意在某一地区布雷,当地的德军就会立即向上级报告,请求派工兵来扫雷。这样,在来往电文中就一定会包含“地雷”这个词。
这种获取crib的方法在布莱切利园里被称为“种花”(Gardening),英国人对此屡试不爽。不过为了防止德军起疑,这招不能用得太频繁。
英国很重视来之不易的破解,所以尽量装成什么都不知道。比如说已经知道德国军舰的位置,准备去偷袭,却要先派出侦察机像模像样的巡航一番。好像德军舰艇的位置是通过侦察机捕捉到的,而不是破解密码得到的。
图灵方法的最大优点就是,它仅依赖于对密文本身的分析而不依赖于对其收发方式的分析。尽管德军后来又数次改进恩尼格玛机和改变收发电报的操作规则,但都没有影响图灵方法的有效性。
但是,如果真的用人工来实现图灵的方法,需要花费大量的时间。因此,图灵与威尔仕曼以及英国制表机公司的总工程师基恩合作,改进了雷杰夫斯基发明的“炸弹”机。改进后的“炸弹”机相当于36台恩尼格玛机组合在一起,到了1945年,英国配备的“炸弹”机的总数达到了211台,操作人员有近2000名。
在二战中,“炸弹”机破译了德军90%以上的电文,为赢得战争的胜利做出了重要的贡献。
更多文章:
本人是官方授权简书会员推广专员,点击会员专属通道成为简书会员,您将会获得简书钻奖励及诸多权益!