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

2023-04-13 14:44:02 密语知识 思思

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

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

第二次世界大战前夕,德国陆军和空军将恩尼格玛机的转子从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

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

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

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

《钻奖励调整公告》

电影图灵的机器怎样破解德国密码机

造了人类历史上第一台类似计算机的运算机器,通过运算得出密码。

好比你有一个六位数字密码,我只需要在乱枣这六位一个一个填上0-9十个数字,那总共试10^6 = 1 000 000次就可以知道哪个是对的,计算机的运算速度保证运闹它不到1秒就能试出来。

德军的密码排列组合的情况是哗悄拆非常大的数字,人工的话几百年也算不出来,所以就使用计算机,去试那个正确的概率,就解出来啦。

究竟图灵是怎样破解德军的密码系统 Enigma

网上都有,按照现在PC的能力~秒破

只是最后一步及其困难——破解后得到的是不是原文,而是类似字母替代的半散正原文

例如,原文是hello world,破解后有可能是abccd edfcg,其中a对应h、b对应e、c对应l,而且有可能每次对应关系不一样

到这一步得靠对原文语言的熟练程度,而不是对算法的掌握能力

二战德国人的报文中,很少使用缩写,经常有类似国防部Oberkommando,党卫队Schutzstaffel的单词,所以相对容易

但如果只是想破解“hello world”,“bye bye”这种短语,就困难了

顺便说一句,别用波兰人的那个破译方法,用英国图灵冲宽悔的破译算法。

波兰人的是基于德国对密码机使用上的弱点,而图灵是针对密码巧码机的弱点。

二战期间德国密码是怎样被破译的呢?

敦刻尔克大撤退后,德国即将启动入侵英国本土,英国军情局在伦敦郊外的布雷奇利庄园设立了密码破译中心。在这里,有数百名工作人员参与破译德国军事行动的绝密情报。而这所庄园以及破译工作,同样也被英国政府列为最高机密,其代号就是"超级机密"。

正在英国人毫无头绪时,1938年,一位犹太人向英国情报人员透露,他曾是"艾尼格玛"的设计人员之一。英国人经过仔细甄别后,相信了他。这位犹太人真的复制出了一台"艾尼格玛"密码机,按照英国人的说法,这是仿制工程的奇迹,而这的确帮了英国人的大忙。

然而在1939年夏秋之际,德国人又改进了原先的密码机,复制品由此失去了效能,英国再次陷入困境。但波兰情报部门又出手解救了英国人。作为英国的盟国,波兰人将他们数年来对德国密码机的研究成果乃至新的密码机样机、已解密机器悉数交给了英国人。

仅仅一个星期后,纳粹军队就开进了波兰。这让英国密码破译专家诺克斯感动不已,他说:"波兰此举,就像一名古代的骑士在倒下之前,将手中的利剑递给了战友。"

在布雷奇利庄园,除了诺克斯这位破译界名宿,还有一位数学界奇才——图灵。他毕业于剑桥大学,战后依靠对密码机的研究成果,他成了开创电子计算机时代的先驱者之一。

首先,他们从研制能模仿或能解释德国国防军每一个"哑谜"方式的机器入手,从而能推出所有德军主要司令部日日告答局夜夜、成年累月发布命令时经常变换的编码程序。经过艰难攻关,英国人终于制成了具有上述功能的机器,将之命名为"炸弹"。

1939年底,"炸弹"破译出了德国密码,英国人欣喜若狂。从此,德军的秘密计划和行动方案,袜让源源不断地从布雷奇利举枣庄园传到军情六处孟席斯上校手中,再直接交到丘吉尔的案头。事实上,德军在"二战"期间的绝大多数行动,都没能瞒得过英国人,只不过英国人将情报来源一直掩饰得很好,始终没有引起对手的怀疑。

1940年7月2日,希特勒发布了第一组"海狮"作战计划,也即英国本土登陆作战计划。战役一开始,丘吉尔和空军参谋部就通过"超级机密"了解到德国空军的大部分——有时甚至是全部的计划。

针对德国空军司令戈林要求夺取制空权的指令,英国皇家空军制定了集中优势兵力打击敌人的方案。由于英国空军的飞机数量没有德国多,所以只能在适当时间、适当地方和适当高度,集中战斗机中队及主要防御力量,对付敌人的主攻力量。依赖预警雷达及破译的德国军事情报,英国皇家空军总能掐着纳粹空军到达的时刻精准升空拦截,而不需要时时空中巡逻防备德军突袭——英国空军由此大大减少了飞行员体力消耗及汽油等战略物资消耗。

1940年8月13日,苏塞克斯和肯特上空,80架德军"道尼尔 17"轰炸机群,以及更多数量的"容克 88"俯冲轰炸机,飞往不列颠腹地及海岸线执行轰炸任务。由于天空浓云密布,德军护航战斗机无法按计划起飞,轰炸机只好单独出击。

英国空军司令部事先已知晓德军行动计划,当在雷达上发现德国飞机后,立即启动早已就绪的作战方案……这次交锋,德国空军共损失飞机47架,另有80多架被击伤,而英国空军仅损失飞机13架。

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

受影视文学作品影响,提到年轻数学家破解恩尼格玛机,人们的脑海中都会浮现出图灵的名字。不可否认,图灵为最终破解恩尼格玛机确实做出了巨大的贡献,但那是他站在了“巨人的肩膀上”。事实上,在图灵之前,首次破解恩尼格玛机要归功于三位年轻的数学家,他们全部来自波兰。

一战后世界处于暂时的停火状态,波兰位于德国和苏联之间,属于在两个大国的夹缝中求生存。东边经常被苏联渗透,西边的德国又谋划着收复失地,所以波兰的警惕性极高,总感觉随时会被两边的强敌攻陷,从没放松过密码学研究。这种威胁下的恐惧感给喊芦了他们破解恩尼格玛机的最大动力。

1929年1月,波兰波兹南大学数学系的一群20多岁的大学生和部分研究生被要求宣誓保密,然后开始学习一门密码学课程。他们每周上两个晚上的课,在几星期后就开始破解各种密码,无法完成破解功课的学生则会被淘汰。最终只剩下了三名优秀者,他们分别郑物带是雷杰夫斯基、齐加尔斯基和鲁日茨基。

正是这三位年轻的波兰数学家,破译了曾经被认为不可能被破译的初代恩尼格玛机,其中尤以雷杰夫斯基居功至伟——他建立了破解恩尼格玛机的数学方程。

在破解之前,波兰密码局通过情报渠道掌握了德国人使用恩尼格玛机的一些规定:

1.相互间进行通信的恩尼格玛机都有相同的初始设定,其中包括转子的排列和起始位置,初始设定每天变更一次,操作员每个月都会收到一本新的密码簿,上面记录着每天的初始设定;

2.发报员在每发一份电文前,先按密码簿上的当天设定,初始状态为QCW(假设),然后脑子里随意想3个字母,比如说ABC,用设置成QCW状态的机器给ABC加密,比如说加密后ABC变成了BMW。但一次还不够,还要再加密一次,比如第二次ABC又变成了FTN。然后把两次加密的结果并列写一起,形成BMWFTN;

3.收报员收到加密的电文后,先把自己密码机的转子调到当天规定的起始位置,然后输入密文的前6个字母BMWFTN,解密得到ABC,再把3个转子调到ABC的位置,开始解密正式的电文。

通过这些情报,雷杰夫斯基发现: 从数学的角度来看,密码机的作用就是对26个字母进行置换。

随后,他又根据19世纪法国天才数学家伽罗瓦(这位哥们也是密码学史上的重要人物)的“置换群”代数理论——n个元素的所有置换通过合成关系形成为一种代数结构蚂核,建立了恩尼格玛机的“置换群”方程。

比如:字母a被加密成x,字母b被加密成y,字母c被加密成z,就形成了三个置换方程:

T(a)=x,T(b)=y,T(c)=z。解出这个方程的解,也就找到了破解恩尼格玛机的关键。

但是这种置换群的结构仍然十分复杂,想求解也是十分困难。雷杰夫斯基又根据恩尼格玛机的特点,发现了两个限定条件:

第一个条件是由于反射器的作用,恩尼格玛机加密与解密的过程完全一致,也即是T(a)=x与T(x)=a是一致的;

第二个条件是操作规程中的前6个字母。比如,某一天密文的前6个加密字符是BMWFTN,那就可以假设加密前的明文为ABCABC,ABC这三个字母就是该电文的密钥,也就是加密电文时3个转子的初始位置参数。

那么把它用置换方程描述出来就是,T1(A)=B,T2(B)=M,T3(C)=W,T4(A)=F,T5(B)=T,T6(N)=N。

根据第一个条件,就可以转化为,T4(T1(A))=F,T5(T2(B))=T,T6(T3(C))=N。

雷杰夫斯基把这三个置换称为这一天密码的“特征集”,想知道T1、T2、T3、T4、T5、T6,只需要把特征集置换的所有对换总结出来就可以了。

具体的工作就是,把当天截获的信息中,所有可以对应的字母都找出来。

假设波兰人截获四封电文,其中每封电文的开头六个字母分别为:

根据上述的操作方式,每封电文的第一个和第四个字母是同一字母加密而来,于是通过上面四封电文,我们可以得到第一个及第四个字母的联系如下:

如果每天可以得到足够多的电文,那么上面的关系表便可以补充完整如下:

仔细观察这个表格,我们不难发现字母关系中会有如下循环:

同样对第二和第五,第三和第六个字母我们也可以写出类似的循环。

而且三位数学家还进一步发现,这种循环,也即由每天的密钥决定的特征集,当中所包含的环的长度和个数只与转子的排列和初始位置有关。

于是他们决定把所有的特征集按其所包含的环的长度和个数分类。为此雷杰夫斯基在恩尼格码的基础上设计了一台能同时验证所有转子位置的机器,取名为炸弹(La Bomba)。经过一年多的连续运行记录,终于收集到了全部数据。这样,波兰人便从每日截获的大量电文中写出字母循环圈,然后根据循环圈的数目和长度从记录表中检索出相对应的转子位子,即是当日的密钥。

至此,第一代恩尼格玛机被全部破解。以后几年,波兰密码局每天都能破译大量的德军情报。

上面对雷杰夫斯基的工作的介绍是极其简单化的,只以举例的形式介绍了其中最重要的思路。雷杰夫斯基对于ENIGMA的分析是在密码分析史上最重要的成就之一,整个工作都是严格地数学化了的(求解关于置换矩阵的方程),决非上面所举例子可以包含。比如说,找到当日密钥中转子状态后,还需要找到连接板状态,才能真正译出密文。

为了表彰雷杰夫斯基、齐加尔斯基和鲁日茨基的功勋,2000年时他们被追授了“波兰复兴大十字勋章”。在2005年雷杰夫斯基诞辰100周年时,他的家乡比得哥市还为他建立了一座铜像,以纪念他在破解恩尼格玛机中的丰功伟绩。

往期文章:

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

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

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

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

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

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

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

密码那些事儿|(九)维吉尼亚登场

密码那些事儿|(八)玛丽女王被密码改变的人生

密码那些事儿|(七)以频率之矛,攻移位之盾

密码那些事儿|(六)中外古时候的移位加密

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

《钻奖励调整公告》