西西河

主题:【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下中) -- 1001n

共:💬10 🌺26
分页树展主题 · 全看首页 上页
/ 1
下页 末页
  • 家园 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下中)

    【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下中)

    看到了大家的反应――第一个反应就是惭愧地低下了头:还是文字水平太差,竟然无法把一个过程阐述清楚……第二个反应是,数学写的太多,过程不够流畅,看来效果是不好的……第三个决心马上就下定了,改!看行动!不过,数学不提还是不行的。。不提就很难讲清楚了。。只有尽量努力了……

    ――――――――――――――――――――――――――――――――――

    继续上文。Marian Rejewski同志设置并解出的庞大矩阵方程,正是对付对合换字表的。关于丢人实验的检讨做完了,下面我轻装上阵,继续解说Marian Rejewski同志的想法。如刚才所提到的,他已经证明ENIGMA使用同一密钥加密的结果,不管怎么进行字母交换,其构成的字母循环圈数量必定相同,循环圈长度也必定相同。

    这就意味着一个惊人的结果:在面对暴力破解攻击(就是用穷尽法进行攻击)的时候,那个造成密钥暴涨,进而使ENIGMA变成金刚不坏之身的功臣――用来进行字母两两交换的连接板,在这个结论面前,它的作用突然可以被忽略掉了。。。

    在这里,我们简单复习一下ENIGMA密钥数量的计算方法(在不考虑转轮是可选的情况下;如果是从5个轮子里面选3个,不考虑排列的话,变化的可能性是10种,需要的话直接乘进下面的结果里就是了):

    转轮3个,每个上面有26个字母位置,可能性就是26*26*26=17576;

    转轮之间的位置排列组合可能为3!=3*2*1=6;

    字母两两交换,交换6组12个,可能性就是100391791500;

    于是,总可能性是17576*6*100391791500种。

    这个数字很庞大,可以看出,主要就是连接板的贡献。而现在,Marian Rejewski同志已经证明了,这个对ENIGMA保密性贡献最大的连接板,在群论面前就变成了NULL,完全可以忽略掉了;而那100391791500种,就不用再乘了……

    于是,ENIGMA的复合加密中的单字替代,就这样被数学高手轻轻拎到门外单独处理去了――而此时的ENIGMA,还剩17576*6=105456种变化。这个数字依然很大,但是不再是那么大的离谱了――画皮被揭穿了,ENIGMA坚硬的外甲下终于也露出了柔弱的心前区――现在留给Marian Rejewski同志和他的同事的工作,至少从理论上看已经轻松多了。

    现在他们要做的,就是根据获得的情报和计算结果编好一张表,这张表上主要的内容就是换字表与转轮的排列、位置之间的对应关系。之后按表索骥,把每个循环圈的长度和数量分门别类地和这张表已有的结果一个个对应上,再通过这个对应去查找转轮的排列和具体位置。

    而查到的这个转轮的排列和位置,不就是密码本上规定的当前密钥么?

    说是这么说,其实还是很麻烦的。为了构造这个伟大的字母循环圈所需要的对字表,波兰人整整忙活了一年,分析所有他们能获得的电文,有的工作人员手指都磨出了血。此外,以上所说的,都是一个高度简单化的模型而已。只有思路和模型,密文仍然是没办法破解的――果然应了那句话,什么事都是说起来容易。。。

    为了解读ENIGMA密文,波兰人至少还必须知道转盘的内部连线情况,以及连接板到底把哪些字母换了――虽然说,因为连接板而形成的单字替代机制现在可以被分出来单独研究了,但这不代表不需要去研究啊。而它毕竟也还有着100391791500种可能,它毕竟也是个变化多端的加密机制,破起来也是需要时间的,分析它也是非常麻烦的事情――等等这类很细节的事情,毕竟,一个环节跟不上,你就读不出电文;你读不出电文,你的努力就没有成果――总之,整个破译工作仍然是非常艰苦的。

    Marian Rejewski同志的表现确实是极为出色的。根据他的方程,在有了密文并破出临时密钥以后,还可以倒推回去,计算出当时的转轮内部连线情况。换言之,这个季度的密钥就被完全破解了,而这三个月里的所有密电也因此失去了任何伪装。不止如此,如前文所提到的那样,Marian Rejewski同志甚至还算出了商业型和军用型的某些区别,比如转轮的字母排列,军用型的不再是QWER键盘式排列,而是ABCD字母表式排列。

    ――说实在的,我根本不知道他怎么能连这个都算得出来,只好借鲁迅先生的话来胡乱“表扬”一下我们的Marian Rejewski同志“状诸葛之多智而近妖”了。。。

    在这里也提一下,Marian Rejewski同志位列波兰三杰之一,另外二位――Jerzy Rozycki和Henryk Zygalski也做出了很大的贡献。比如这位Henryk Zygalski,就发明了一个办法,在一张纸上穿很多个洞,每个洞的纵横坐标都对应着相应的字母。这样,查起换字表字母的对应关系来就快多了。看起来是个小发明吧?可这张有着几百个洞的卡片纸,能为破译人员节省多少查对的时间和精力啊。

    从1936年起,德国密钥由每季一换变为每日一换,这样,每天的工作量大大增加,几乎相当于过去的91倍(这个这个我就不严格论证了……)。再靠人去拼,实在是太辛苦了。

    这么下去肯定不是个事儿,肯定得发展出更狠的办法来对付日益强大的ENIGMA。我们的Marian Rejewski同志和Jerzy Rozycki顺应形势,开动脑筋,终于开发出了破解ENIGMA的“循环测定机”,成功地将破译工作由纯人工查找升级为机器化操作。

    我个人看法,早被无数双敌对的眼睛盯上的ENIGMA密码机,迟早有一天要面对同样是机器破解的对抗。机器加密过的天书,还要人工去破解,本身就是不合理的。就象潜艇最好的天敌就是潜艇,歼击机最好的天敌就是歼击机一样,机器最好的天敌自然也正是机器本身。

    当然,怎样贯彻数学上的发现,如何去设计这个机器,等等,这都是人脑思考的结果。但是,象在编码方面机器显示出了强大的优势一样,解码同样是机器的长项。在这点上,循环测定机发挥得淋漓尽致。

    同时,“潜艇最好的天敌就是潜艇”一句还可做另外一个更形象的解释。那就是,循环测定机不仅跟ENIGMA是同类,甚至连它本身都可以理解为两台并联着的ENIGMA,说到底它实际上还是ENIGMA的亲戚――虽然,这个亲戚不仅血不浓于水,相反正是为了杀掉ENIGMA才出世的。。。

    循环测定机里面有6个转轮,3个一组,用以模拟ENIGMA。它刚出世的时候,对手ENIGMA还只有3个转轮,没有候选转轮;这3个转轮的排列,就是6种。这样,循环测定机内的转轮排列就可以是这6种中的同时任意2种,反正这些转轮在设计的时候就被设置为同样可以拿出来任意换位,因此虽然不能同时模拟所有6种情况,倒也不是什么大问题。只要一个个测试,6种可能很快就会被穷尽,真正的答案也肯定就藏在这6种可能中的某一种中。

    德国人虽然对ENIGMA非常有信心,但是不代表他们就冥顽不化地死抱着原来的设计,前文已经有所提及。1937年,ENIGMA的反射板也开始会转了;1938年,转轮变成5个,从里面选3个用。

    这样一来,循环测定机就有点吃力了,因为工作量一下翻了十倍――从以前的计算6种可能变成计算60种可能。面对每天都更换的密钥,循环测定机累趴下了,已经很难保证及时的电文破解。

    敌人的机器升级了,那么,专门破解它的机器也应该跟着升级――这是再合逻辑不过的事情了。于是循环测定机跟着升级,针对新型号“谜”的“炸弹”――Bomba出场了。

    顺便说一句,这个Bomba该怎么翻译,有点小小的争论。在波兰语里,它的意思是炸弹,但是似乎应该译做“冰淇淋球”才是正解,据说这跟Marian Rejewski同志钟爱的某种小食品有关系。

    支持的根据之一是:英国人也把它翻译成了Bombe,也是冰淇淋球的意思。但是问题是,英国人翻译用的这个词Bombe却来自于法语,意思还是炸弹。美国人的翻译按说应该跟英国人一样吧?还偏不,他们是直接给翻译成Bomb,又是炸弹……晕死了,干脆还是按1001n的简洁翻译原则,把Bomba直接音译为“波霸”得了。。。

    比起循环测定机,Bomba最牛的地方就是它可以同时模拟6台ENIGMA。在这里就不得不交待一句,ENIGMA内部的连线其实是非常复杂的,机械本身加工精度也是比较高的,装配更是麻烦,要不怎么会一问世就敢卖那么贵――而要试图制造一台相当于6台ENIGMA并联的机器,大概是个什么难度呢?

    先并联18个转轮;

    再按特定规则连接6个能转的反射板;

    三是逐个连通6副连接板,每副连接板都要保证交换了6对字母,共72个字母被两两交换;

    四还要连通比蜘蛛网复杂千万倍的内部连线;

    最后,得使这么个系统步调一致地进行分析解码。

    这个Bomba的复杂程度可想而知,设计标准之苛刻可想而知,加工难度之大也可想而知――最后,也正因为这样,它的造价之高昂也可想而知……

    后来,情况发生了一些变化。

    1938年,ENIGMA还在升级,而在最需要情报的时候,波兰人的机器升级工作却停滞了――原因很简单:他们实在没钱了,对抗不下去了――谁能想到,破译密码这么有前途的工作,竟然会那么贵!

    而德国的ENIGMA仍然象上足了发条一样,继续朝着变态的方向不断地升着级……这是后话了。

    回顾一下波兰人的成果吧:

    从群论、矩阵方程、字母循环圈到打孔卡片,从循环测定机到Bomba,从分析计算到设计制造,Marian Rejewski同志的智慧,他和他的同事们的心血,波兰政府倾注的巨大人力物力财力,――所有这一切的付出,最后终于有了丰硕的回报。

    据统计,从1933年1月到1939年6月,不到六年半的时间里,波兰人破译了德国不是一份两份,而是活活破译了将近十万份电文!这些破译出来的情报被冠以Wicher的字头(Wicher是这个破译项目的代号),作为绝密在波兰高层内很小的范围内流通。

    ……

    Marian Rejewski同志获得我们送上的第二个花圈,堪称当之无愧!

    【原创】被征服的谜――ENIGMA的故事(一):密码的前世

    http://www.cchere.net/article/371599

    【原创】被征服的谜――ENIGMA的故事(二):ENIGMA横空出世(上)

    http://www.cchere.net/article/372331

    【原创】被征服的谜――ENIGMA的故事(二):ENIGMA横空出世(下)

    http://www.cchere.net/article/372349

    【原创】被征服的谜――ENIGMA的故事(三):丘吉尔托起的灿烂星座

    http://www.cchere.net/article/374308

    【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(上)

    http://www.cchere.net/article/375877

    【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中上)

    http://www.cchere.net/article/377011

    【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中中)

    http://www.cchere.net/article/378141

    【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中下)

    http://www.cchere.net/article/379376

    【原创】被征服的谜――ENIGMA的故事(四)(篇外):最年轻的数学家

    http://www.cchere.net/article/383181

    【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下上)

    http://www.cchere.net/article/384482

    元宝推荐:不爱吱声,

    本帖一共被 9 帖 引用 (帖内工具实现)
分页树展主题 · 全看首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河