主题:【原创】被征服的谜――ENIGMA的故事(二):ENIGMA横空出世(下) -- 1001n
ENIGMA横空出世(下)
现在稍微详细说明一下。
比如水兵甲要把明文CDEF变成密文。于是他拿出ENIGMA,在1上开始输入第一个字母C。经过比如说3R、4V、5N的加密,再经过反射板6的反射,又依次返回经过5N、4V、3R,显示为2T。记录下2的显示T,第一个字母就算加密完成了。之后3、4、5各自旋转1/26格,水兵重复操作,输入其余的明文CDE,最后形成比如这样的密文:TMMD。
接收密文的水兵乙同样输入TMMD,结果,键盘1上就会同样连续映射出CDEF的字样。而这个操作,并不是专门去解的,你也可以认为是把TMMD按照初始加密的反顺序再次加密――只是一个过程的两端,看你取哪端了――而已。
当然,以上是种理想情况。实际操作中,水兵甲还必须告诉水兵乙转轮3、4、5的初始位置。否则,起步都不一样,如何保证正确解码?
如上所述,ENIGMA完成了重大的飞跃。但是,天才的Arthur Scherbius同志依然没有满足。他决定,继续增加加密机制。这个匪夷又想了一招,依然如增设反射板那样简单,但是,又一次大大地增加了密钥的数量。
这个办法其实就是前文讲过的单字替换法的一种。怎么替换呢?他的办法很简单,在进出键盘的路径上加设一个连接板。在这个板上,某两个字母的线路被互相交换,比如,G和W交换一下。这样,GAT就变成了WAT。
Arthur Scherbius同志认为,只交换两个字母是不妥当的。他一咬牙,交换了6对12个字母的线路!就这一下,字母的一半江山改了姓名。重点是,交换的是哪个,都不是固定的,可以临时决定的。而两两交换6对字母的变化数量是100391791500种――于是,密钥的数量呈现了壮观的暴涨:
密钥数量=17576*6*100391791500=10586916764424000种。。。
翻译成简体中文,就是一亿零五百八十六万九千一百六十七亿六千四百四十二万四千种。。。。
我先捋捋舌头。。这个数字翻译过来真不容易,也真难为我了。。
前文所说,单字替换法是很危险很容易被破解的加密方式。但是,一旦它和多表替换法联合加密的时候,这个密码就变的极为坚固了――在ENIGMA身上,转轮就是多表替换,而连接板就是单字替换。联合起来的效应是明显的:不仅替换,而且替换三次;不仅替换三次,而且替换的本身规律都在变化――实话说,这真是要了命的加密方法!
Arthur Scherbius同志还认为……我都怕他了,他还嫌不够结实――继续追求他的完美设计,看来是不把全世界的数学家都逼疯绝不罢休了:在一些机型上,他又加了一个轮子……
德国军方为了更好的保密,沿着Arthur Scherbius同志指明的方向继续孜孜不倦地前进着:
――商用ENIGMA的转轮上,字母排列是按键盘方式排列的,为防止对手买到机器进而了解内部构造,军用ENIGMA转轮上的排列就改按字母表顺序了(顺便说一句,波兰人居然能把这个顺序给活活算出来,那个人就是应该得到第二个花环的马里安•雷杰夫斯基Marian Rejewski);
――每天更换不同的密码,也就是转轮的初始方向和连接板的字母连接情况;
――为了防止被每天同样密钥加密的密文大量被拦截导致泄密,军方还硬性规定,必须在每次联系时使用新密钥――办法是:用当天密码加密任意3个由操作员选择的字母,不得重复,不得相邻,比如ATX,然后加密两次变成6个字母,比如USGJDH。之后操作员调整机器,把3个转轮分别调整到A、T、X位置,――相当于使用了新密钥加密其后的内容――继续发出剩下的内容。对方接到USGJDH后,翻当天的密码表,翻译出是ATXATX,两遍一样表示发文一方的操作员没有打错字,就把自己机器的三个转轮也一个个调整到A、T、X位置上,继续接收后面的密文,这样,每篇电报除了开头,密钥都是不一样的;
――转轮虽然还是3个,但是这3个轮子是从5个候选轮子里随便挑出来的,于是也大大增加了密钥的候选范围;
――最变态的是海军,他们专用的ENIGMA完全达到了疯狂的程度:候选轮子是8个,选上用的是4个,这还不算――还记得那个镜子――反射板么?海军型上的反射板居然是会转的!真是“废物”利用到家了,这下相当于增加了一个转轮,但又没有增加多少具体的重量……
Arthur Scherbius同志的心血――ENIGMA,就这样横空出世了!
遗憾的是,Arthur Scherbius同志本人没有见到这么牛x的海军型ENIGMA。虽然海军在8年之后的1926年,率先以军方的身份采购了ENIGMA,但是还没等到海军一步步把它升级到那个非理性程度之前,Arthur Scherbius同志就已经永远地离开了我们大家。
那一天是1929年5月13日,他老人家骑马的时候意外失手,撞在墙上,当场牺牲,时年50岁。
本帖一共被 16 帖 引用 (帖内工具实现)
- 【原创】密码传奇(一):1、西线屠刀背后的五字幽灵
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(上)
- 【原创】被征服的谜――ENIGMA的故事(四)(篇外):最年轻的数学家
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下下)
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中上)
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下上)
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中中)
- 1001n的《密码传奇》系列网址
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中下)
- 【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(下中)
- 【原创】被征服的谜――ENIGMA的故事(篇外之二):密码的ABC
- 【原创】被征服的谜――ENIGMA的故事(篇外之四B):多表替代的六人行
- 【原创】被征服的谜――ENIGMA的故事(篇外之三):老密码,老故事
- 【原创】被征服的谜――ENIGMA的故事(篇外之四A):多表替代的六人行
- 1001n的密码故事文集
- 【目录】2。信息科学
这篇文章写的真是很痛苦。虽然一共加起来才不到5000字,依我平时写文的速度一个多小时就应该搞定的,但这一次,我写了将近七个多小时才算竣工。算上构思的时间,至少有二十多个小时了。从来没有过的认真,让我真是很累了。
难点一是,其实三思网刊上已经有了图文并茂的介绍了,我还要不要这么费劲重新捋一遍?即便要自己写,随便引用别人的图也是不尊重版权的表现,而不用图,我还能说清楚么?……
难点二是,我这个数学外行人,能不能解释清楚ENIGMA的工作原理?好在,它虽然很精彩,但是基本原理不算太深奥。但是,我不知道我的理解是不是一点错也没有,我笔下的ENIGMA是不是肯定就是这么一点不走样地工作的。如果有错漏,也请大家理解,我确实尽力了:)
最后还是决定写,并且,不用任何图,只用文字把它表现出来。说到这个过程嘛,呵呵,呵呵……
至于文笔,我尽量做到生动,相信大家有自己的评价。
以及,正是由于河里的高手如云,写的时候真是战战兢兢,生怕什么地方又把蹄子给露出来了――写完了检查又检查,呵呵,也算是痛并快乐着吧。感谢大家的支持,特别感谢大家的挑剔和审视,没有这样的目光,写出来绝对不会是这个样子。
但是写完了还是很高兴,写过不少东西,象现在一样如释重负的感觉还是很少的。象这么专门写个后记的,更是从来没有过。总的感觉,很爽,好与不好,大家说了算,至于我,可以睡个好觉了:)
ENIGMA,值得。
如此妙文,还一个劲儿地道歉,还让不让俺们这些不严谨的混了。
ENIGMA的故事早就听说了,直到老兄这篇文章,才在磕学上对其原理有了真正的理解。以前看到写这个题目的文章,都要绕开,一来不是自己的专业,二来那些都写得太绕人。
夜兄的这个写法,正好适合俺这样的外行加半瓶子醋。以后和朋友们吹牛时,就准备直接从兄的文章里摘抄了,看他们谁还敢再小看俺。
另外,替大家催帐,一千零一夜可是有1001个故事组成的,兄台要继续努力吆。
谢谢!
这等力作岂是可以按字/小时算的,马克?普朗克的博士论文只有20多页,那叫一字千金啊。
恭候夜兄后续的大作!
念经的和尚也看得半懂,夜兄功德无量啊!阿弥陀佛。。。CDEFTMMD。。。
我也快撞墙了
enigma最早出来时卖得很不好。商业的没人用,德国军方也没有兴趣。只是后来邱吉尔同学在他自己的一战回忆录里漏了底,德国总参谋部才恍然大悟。原来一战一开战俄国就从一艘搁浅的德国轻巡洋舰上弄到了全套的密码本,英国作为俄国的盟友自然也能轻易破解德国密码了。著名的多戈尔沙洲一战,其实就是密码被破惹的祸。醒悟过来的德国人立刻对enigma产生浓厚兴趣。人手加密是不成了,光机器加密也不成。万一机器被盗了呢?德国人想,enigma这样有多重安全设置的加密方法才是王道啊。机器丢了不怕,密码定期更换,泻露一点也没事。真正怕的是人,人要犯起傻来没得救。比方如果有人把同样的电报先明文发一遍,然后再用密码发一遍。这样敌人两厢参照,破起来就很容易了。所以,德军对密码纪律抓的很紧,有专门的部门负责监视自己的无线电通信。一旦发现有犯傻的主,对不起,先抓后关。
德国海军对enigma的安全性尤其抓得紧。他们的密码机早期备五个转轮(机上一次装三个用),后来是七个。再后来是机上装四个转轮,最后一个比较薄,跟新的反射板一起占用原来反射板的空间。其他的,还是请1001n兄继续。