美文网首页头号玩家好文推荐【头号玩家公会】自由点赞群
密码那些事儿|(十七)年轻数学家首次破解恩尼格玛机

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

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

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

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

    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)。经过一年多的连续运行记录,终于收集到了全部数据。这样,波兰人便从每日截获的大量电文中写出字母循环圈,然后根据循环圈的数目和长度从记录表中检索出相对应的转子位子,即是当日的密钥。

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

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

    往期文章:

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

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

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

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

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

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

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

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

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

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

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


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

    《简书钻奖励调整公告》

    相关文章

      网友评论

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

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