美文网首页【头号玩家公会】十万简书钻自由点赞群
密码那些事儿|(二十一)再下一城,图灵破解最高级别恩尼格玛机

密码那些事儿|(二十一)再下一城,图灵破解最高级别恩尼格玛机

作者: 东门之杨PLUS | 来源:发表于2019-04-08 00:10 被阅读14次

在布莱切利园中,德国海军的恩尼格玛密码一直被认为是最难以破解的。

德国海军历来极其重视无线通信的可靠性和保密性,就是他们率先使用了恩尼格玛机来加密。而且,德国海军还频繁地在结构和操作方式上对恩尼格玛机进行改进,以确保它无懈可击、牢不可破。

第二次世界大战前夕,德国陆军和空军将恩尼格玛机的转子从3个增加到了5个,而德国海军则是继续增加到了7个,最后更是丧心病狂的增加到了8个。

而且,德国海军还使用了与陆军及空军不一样的新操作规程,主要包括两个方面:

一、增加“密钥手册”,规定每天0点更新初始参数。

(a)选择8个转子中的3个并规定其基左中右位置;

(b)设定各转子的内外轮之间的相对位置;

(c)设定接线板上的10对接线;

(d)设定3个转子的初始位置。

二、采用“双字替换表”

(a)发报前,先从密钥手册中选3个字母,比如ABC,作为密钥,然后把恩尼格玛机的3个转子调到当天规定的初始位置,输入ABC,假设得到FTN,再把转子调到FTN的位置,开始加密正式电文;

(b)再从密钥手册中选另一组字母,比如XYZ,在XYZ的左边和密钥ABC的右边任意增加一个字母,比如P、Q,列成两行,上下对齐。

P X Y Z 

A B C Q

(c)根据当天有效的“双字替换表”把各列的字母对PA、XB、YC、ZQ分别替换,比如替换成IS、OW、MD、UV;

(d)发送电报时,把这4对字母加在正式密文的首尾;

(e)对方接收到电报后,先对4对字母反向操作,得到3个字母ABC,再得到FTN,然后开始解密正文。

这样一来,原来重复加密3个字母密钥的操作就不存在了,以致雷杰夫斯基发明的破解方法完全失效。

在图灵来到布莱切利园之前,几乎所有人都认为德国海军的密码是无法破译的,因此没有人愿意为它浪费时间。图灵到来之后,发明了基于crib方法的“炸弹”机,理论上是可以对德国海军的密码进行破译的,但由于早期的“炸弹”机性能过低,所以破解的效率极为低下。

当时德国的U-潜艇正在严重威胁盟军的大西洋生命线,寻找有效的破解德国海军密码的方法变得刻不容缓。经过一段时间的摸索和研究,图灵终于发明了基于贝叶斯统计原理的“班布里方法”,能够有效破解德国海军的恩尼格玛机。

班布里方法基于语言学中的一个统计事实:把任意两段文字拿来排成行上下对齐进行比较,查看其中有多少对字母是相同的;当这两段文字属于同一编码系统时出现相同字母对的概率,明显高于当它们不属于同一编码系统时的相应概率。

基于这个原理,图灵找到了破解德国海军恩尼格玛机的途径。不过图灵所用的方法包含了大量数学理论,过程也相当繁琐,这里就不详细表述了,我们只说一下图灵的大致思路。

首先,通过对比分析大量的电文头尾的明文字母,部分甚至完全破解“双字替换表”,从而获得电文密钥;

其次,用班布里方法,确定右边转子是8个转子中的哪一个;

再次,重复使用班布里方法,进一步确定中间转子是哪一个;

最后,用“炸弹”机破解全部密文。

这个步骤被验证是行之有效的,图灵就这样搞定了最高级别的德国海军恩尼格玛机。

1940年5月8日,用班布里方法破解德国海军密码首次获得成功。以后的三年里,此方法结合“炸弹”机成为英国破解德国海军密码的主要手段,为盟军重创德国U-潜艇舰队、守住大西洋生命线做出了巨大贡献。

据不完全统计,破解之后,盟军全年被击沉船只的吨位下降了60%;而德军潜艇的损失率,从破译前的不到7%,猛增到50%。

更多文章:

密码那些事儿|(二十)破解恩尼格玛机的图灵方法

密码那些事儿|(十九)在人性与规则中找寻漏洞

密码那些事儿|(十八)跨越英吉利海峡的恩尼格玛机

密码那些事儿|(十七)年轻数学家首次破解恩尼格玛机

密码那些事儿|(十六)二战中大放异彩的“超级情报”

密码那些事儿|(十五)坚持就是胜利——初代恩尼格玛机

密码那些事儿|(十四)古典密码的巅峰——恩尼格玛机

密码那些事儿|(十三)尴尬的维吉尼亚3.0

密码那些事儿|(十二)短命的维吉尼亚2.0

密码那些事儿|(十一)南北战争时的维吉尼亚密码较量

密码那些事儿|(十)“钥匙”打开维吉尼亚的锁


本人是官方授权简书会员推广专员,点击会员专属通道成为简书会员,您将会获得简书钻奖励及诸多权益!

《简书钻奖励调整公告》

相关文章

网友评论

    本文标题:密码那些事儿|(二十一)再下一城,图灵破解最高级别恩尼格玛机

    本文链接:https://www.haomeiwen.com/subject/zrnpbqtx.html