密码那些事儿|(二十二)“罗宾逊捕鱼”及第一台“巨人”计算机的诞
在第二次世界大,恩尼格玛机被广泛的应用于德军的海陆空战场上。但是,在德军的最高统帅部中,统帅之间相互秘密通信使用的则是密码电传机,其中最著名的就是“洛仑兹”电传打字机,与恩尼格玛机相比,“洛仑兹”电传打字机的加密技术更先进,结构更为精细复杂,保密性也更好。
但它也存在明显的缺点,也正是因为结构精细复杂,所以生产成本较高,体积也较笨重,使用不方便且不能量产,还比较容易损坏。所以,它只被用于德军最高统帅部之中,用来传递意义最为重要的战略情报。
“洛仑兹”机我们知道,恩尼格玛机加密原理的本质还是字母的变换,通过无线电报使用摩尔斯电码传送。
而“洛仑兹”是在通信线路上以“波特码”来传输信息。
“波特码”是一种五位电传码,由五个有、无电流的脉冲或是正负不同的电流脉冲所组成的信号组合,每一信号组合代表一个字符。可以看出,“波特码”已经十分接近于我们今天计算机中所使用的0、1二进制了,无电流的脉冲可表示成0,有电流脉冲则可表示成1。
“洛仑兹”机的加密原理大致如下:
在数学的逻辑运算中,有一个“异或”运算规则,它有一个特点,即对于任意一个二进制数,与另一个二进制数连续两次进行异或运算之后,其值保持不变。
按照这个规则,“洛仑兹”机在传输信息波特码信号时,会给原信号叠加一组给定的信号,这组信号叫做“伪随机信号”。之所以称为“伪随机信号”,是因为这组信号表面上看来是随机产生的,无规律可循,但实际上必须是确定的,否则接收方将无法按照“异或”规则解密。
“洛仑兹”机的装置配有12齿轮,这些齿轮有的规则转运、有的不规则转运,由此来产生12位“伪随机信号”。在每次传输正式信号前,先传一串12个字符的信号,即为密钥,其中包含了接收方才能理解的加密齿轮初始位置的信息,以便于正确设置接收电传机并解密信号。
英国于1940年年初首次截获了德军用“洛仑兹”机传输的信号,英国人给这种加密装置取名为“鱼”,而用“鱼”加密的信号被称为“金枪鱼”。虽然时任布莱切利园“政府密码学校”副校长的密码高手梯尔曼敏锐的判断出“金枪鱼”是用“异或”运算方法加密的,但如果确定那个被用来叠加在正式信号上的“伪随机信号”,还是让英国人大感头疼。
一直有一年多的时间,英国人都没有什么进展。正当他们愁眉不展时,德国人自己却送来了一份大礼。
1941年8月,在一次信息传输中,德国人操作“洛仑兹”机出现了严重的失误,把一份长达4000字符的密文在同样的加密参数下传输了两遍,而且第二遍与第一遍的内容稍有差异。
这使得梯尔曼能够通过比较和分析来破解密文,更为关键的是,这次意外使梯尔曼获得了4000字符长的一串伪随机信号。
随后,两位数学家和一位工程师的加入使这个希特勒认为“绝对不可能被破解”的“洛仑兹”机最终得到破解。
先是年轻数学家塔特利用梯尔曼获得的“伪随机信号”,破解了“洛仑兹”机的齿轮结构和转动规律,又借鉴图灵的crib和班布里方法,塔特与他的同事们破解了“金枪鱼”信号头12个字符的齿轮初始位置信息,从而攻破了“鱼”的密钥传递。
从1942年下半年开始,他们破解了一大批“金枪鱼”密文。但是,德国人似乎感觉到了不对,他们改变了操作规程,不再使用12个字符的密钥,转而使用密钥的代号,这样原来的破解方法就不再有效。
塔特再接再厉,运用统计学理论,发现利用“双差分法”可以进行破解,但美中不足的是,人工使用这种方法需要花费四到六周的时间,这个效率显然不能满足破译工作的需要。
这个时候,另一位数学家纽曼,在图灵的建议下也来到了布莱切利园。他是图灵在剑桥大学的老师,也是后世公认的开创组合拓扑学研究的先驱。
数学家纽曼纽曼提出了可以用电气装置来自动实现塔特的“双差分法”,经过一番研究和努力,研究小组制造出了一个新的装置,用英国著名漫画家的名字命名其为“希斯·罗宾逊”。“罗宾逊”能够自动实现“双差分法”而完成“捕鱼”的破译工作,但它的速度还是不够快,并用经常卡纸。
最后,纽曼找到了英国杰出的电气工程师弗劳尔斯。按照纽曼的思路,弗劳尔斯设计并制造了一种全新的装置,取名为“马克”。(据说漫威漫画中钢铁侠的“马克”战甲就是向其致敬。)
由于马克的体积过于庞大,布莱切利园的人们都称其为“巨人”,这就是世界上最早的可编程电子数字计算机。这台机器用1500个电子管组成十进制计数器,升级后的“马克二号”更是增加到2400个电子管,处理速度提高到每秒5000字符。但它只是用于密码破译,而且并未达到“图灵完全”的标准,因此并非人们传统意义中所指的现代通用电子计算机。
巨人计算机“巨人”在二战中发挥了巨大的作用,到战争结束时,布莱切利园总共安装了12台马克二号“巨人”计算机,破译了从德军最高统帅部发出的大师“金枪鱼”密文,获得了珍贵的战略情报,为盟军成功实现诺曼底登陆和取得法莱战役的胜利做出了关键性的贡献。
二战胜利后,英国为了不暴露他们带赖以制胜的秘密武器,丘吉尔下令销毁了“巨人”计算机,要求“把它砸成不能超过人脑袋大小的碎块”。弗劳尔斯也亲手烧毁了计算机的设计蓝图。这使得“巨人”计算机的实体器件、设计图样和操作方法,直到1970年代都还是一个谜。在这之后,人们才逐渐了解到了“巨人”计算机在历史中的重要作用。
但由于资料销毁得太彻底,“巨人”计算机的复原工作至今尚未全部完成。
更多文章:
密码那些事儿|(二十一)再下一城,图灵破解最高级别恩尼格玛机
本人是官方授权简书会员推广专员,点击会员专属通道成为简书会员,您将会获得简书钻奖励及诸多权益!