赠书 | 破译“金枪鱼”密码机,近代电子计算机诞生的前兆

a722c29c5557f128cb74dcaaeb8e6011.png

文中有数据派THU福利哦0abc8eae2ed2d01769f12064f4cf61a0.png

以下内容为《图灵传》书摘:

对于图灵和他的祖国而言, 1942 年都是重要的战争转折点。自法国沦陷以来, 英国一直是孤军奋战。而丘吉尔则希望他的言辞能促使美国向英国提供援助。他警告说, “ 如果英国失败了, 那么整个世界, 包括美国, 包括我们所知道和关心的一切, 都将坠入一个新的深渊, 一个被变态科学之光笼罩的、 更加凶险或者可能更加漫长的黑暗时代” 。

在丘吉尔说过此话不久, 1941 年 12 月, 日军飞机出人意料地袭击了珍珠港的美国舰队。突然间, 英国和美国在战争中肩并肩站到了一起。

在 1942 年访问美国之前, 图灵完成了对这场战争最杰出的贡献之一。

1942 年夏天, 图灵从 8 号木屋调回研究部门。研究部门刚刚开始破译代号为 “ 金枪鱼” 的新型德国密码机。在战争刚爆发时,技术先进的金枪鱼密码机, 是第三帝国的科学家专门为德国国防军设计的, 和恩尼格玛密码机不同, 金枪鱼密码机在技术上更先进,理论上也更安全,它只用于传输最高等级的情报。

金枪鱼密码机的故事以及图灵为了破译它所做的贡献作为机密被保密了近60 年。

315d9157b7d82fc8a112e1d3a4b35d73.png

图片来源: ( a ) ⓒ 图灵计算机历史档案馆; ( b ) 帝国战争博物馆

金枪鱼密码机只需在无线电接收端和发送端各安排一位操作人员: 发送者只要在连接着 SZ40 的电传打字机键盘上输入德语明文, 密码机就能自动完成剩下的工作。金枪鱼密码机的加密结果可以直接用无线电发出, 而无须使用莫尔斯密码。

1941 年 6 月, 第一个使用金枪鱼密码机的无线电网络在柏林和希腊之间开始试运行。德方认为这次试验是成功的, 很快欧洲各地就涌现出数十个 “ 金枪鱼” 无线电网络。这是通信技术的一个新阶段, 该技术也是当今移动电话网络的鼻祖。

每个可移动的金枪鱼密码机小队由两辆卡车组成, 一辆装载无线电设备 ( 为了避免干扰, 必须远离电传打印机) , 另一辆装有电传打印机设备和两台金枪鱼密码机, 分别用于发送和接收加密信息。杰克·古德在战争结束前的最后几天检查了一辆被缴获的装有金枪鱼密码机的卡车。古德回忆说: “ 卡车完好无损, 车上装有两台金枪鱼密码机, 同时还俘虏了两名随车的密码机操作员。虽然变成了阶下囚, 但他们似乎对现状并不恐慌。”尽管古德从 1943 年春就开始参与破译金枪鱼密码机的工作, 但实际上这也是他第一次亲眼见到金枪鱼密码机。在此之前, 盟军从来没有缴获过金枪鱼密码机。一开始是没有机会, 而后当破译人员可以破译希特勒发送给前线将领的指令后, 又担心任何小动作引发德国人的注意, 进而促使德国人进一步优化密码机。

“ 柏林—希腊” 的金枪鱼密码机网络刚开始试运行, 警觉的英方无线电操作员就截获了相关的信息。一开始大家都是一头雾水, 但后来约翰·蒂尔特曼上校取得了巨大的进展,  他成功破译了一条约 4 000 字长的密文。作为密码破译领域的传奇人物之一, 蒂尔特曼在破译金枪鱼密码机之前, 就已经在破译日军密码的工作方面做出了一系列突破性贡献, 其中就包括 JN-25 密码。

金枪鱼密码机加密的明文是用国际二进制电传打字机编码表示的, 蒂尔特曼对此也束手无策。电传打字机编码被广泛地应用于商业, 并没有什么秘密可言。每个打字机键盘上的字符都会自动转换成一组由 5 个 0 和 1 个 1 组成的字符串, 比如 A 就是11000, B 就是 10011,  依次类推。 蒂尔特曼还了解到金枪鱼密码机的密文传输时会携带指示符, 就像海豚密文那样, 只不过金枪鱼密文的指示符是由 12 个人名组成的:  安东 ( Anton )  代表 A,  伯塔 ( Berta)  代表 B,  卡斯帕 ( Caspar)  代表 C,  多拉 ( Dora)  代表 D,等等 ( 见图 15) 。

a025de15c2cebb837e2815c92f303ec6.png

图 15 金枪鱼密文的起始部分

图片来源: 布莱切利庄园信托基金, 鸣谢 F. 鲍尔 ( Bauer) 。

不难猜到, 金枪鱼密码机可能包含 12 个转子, 而这 12 个名字的首字母则表示了信息开始编译时转子的位置。此外, 蒂尔特曼还猜测金枪鱼密码机属于一种加法密码机, 与他大多数的猜测一样, 这次猜测完全正确。加法密码机内含一种机制, 可以生成一个随机的字母串 ( 布莱切利庄园称之为 “ 密钥” ) , 然后自动添加到明文中, 以迷惑密码破译者 ( 见图 16) 。金枪鱼密码机里 12 个转子的作用就是产出这些看起来随意的字母 ( 密钥) 。这一原理与恩尼格玛密码机完全不同。

9ce6f8667aba3eea5bbdede097de97f6.png

图 16 金枪鱼密码机加密原理示例

图片来源: ⓒ达斯汀·巴雷特和杰克·科普兰。

有时, 金枪鱼密码机发送端的操作员会愚蠢地对两条信息使用相同的转子位置进行加密。 在布莱切利庄园, 这被称为 “ 深度” ( depth) ,  它通常来源于传输过程中出现的问题。

“ 深度” 很容易被发现, 因为两次通信使用的指示符 ( 破译时转子的初始位置) 是相同的。

所幸蒂尔特曼是个不错的猜词玩家。每从一条信息中猜出一个词时, 蒂尔特曼就把它放在认为是正确的位置上, 再和混合序列 ( 此序列是两条密文相加所得) 中的字母相加。如果猜对了, 那么第二条信息的一个明文片段就会像魔术一样显现出来。最终蒂尔特曼找到了足够多的局部词段, 从而意识到每条信息的长短篇幅都是一致的, 也因此成功解密出整段信息。最重要的是, 他将所得的一段明文与密文相加, 找出了用于加密信息的 4 000 个字符左右的密钥。

然而, 破译出一条信息和掌握金枪鱼密码机的工作原理相比, 还相距甚远。1942 年 1 月, 塔特成功从蒂尔特曼的密钥中推断出了金枪鱼密码机的工作原理。这是第二次世界大战中最令人震惊的密码破译工作之一。

塔特发现, 金枪鱼密码机的密钥生成方式, 是将两个不同的字符串相加, 而每一串字母都是由转子转动时产生的。5 个转子组成一组, 每个转子对应生成字母电传编码中的一位, 最终组合成一个字符串。塔特以希腊字母 χ 命名这组转子为 “ χ 转子” 。另一组 “ ψ 转子” 同样生成另一个字符串 ( 见图 16) 。12 个转子中剩下的那两个叫作马达转子, 用来调节其他转子的运转。虽然金枪鱼密码机比恩尼格玛密码机要复杂得多, 不过多亏了塔特, 这种新型机器最终也一览无遗地呈现在我们面前。塔特的秘密推论挽救了无数人的生命, 但是直到他 2002 年去世, 也未获得应有的荣誉。由于需者方知原则, 即便是布莱切利庄园里那些日常破译金枪鱼通信的人员也没有意识到塔特的重要贡献和作用。

在塔特弄清了密码机的机械原理之后, 图灵开始着手金枪鱼密码机的破译工作。

了解机器如何运转是一回事, 而掌握破译日常通信的能力则是另外一回事。从 8 号木屋调过来才几个星期, 图灵就想出了一种仅仅使用纸笔和橡皮就能操作的方法来破译日常通信。用布莱切利庄园简洁的行话来说, 他的这个发明被称为图灵法。和图灵发明的破译恩尼格玛密码机的方法类似, 图灵法也提供了破译人员破解信息所需的转子信息。图灵法是破译金枪鱼密码机的关键方法。

塔特对图灵法略感不屑, 称其 “ 更偏艺术性而缺少精确性” 。塔特说: “ 这种方法依赖于洞察力和人的直觉。” 塔特自己很快就发明了一种可以由巨人计算机高速执行的破译方法, 不过他还是借鉴了图灵法的核心设计,  也就是图灵发明的叫作 “ 增量处理”  ( δ,  同样来源于希腊字母) 的方法。它是一个横向相加的过程, 比如对ABCD 4 个字母进行增量处理, 就是将 AB 相加、 BC 相加、 CD 相加, 最终生成 3 个字符。可能有人认为, 用这种方式把加密信息中的字母加在一起只会变得更加混乱, 但图灵证明增量处理实际上揭示了原本隐藏的信息。

很快, 罗伯茨和其他破译人员就开始在实际工作中使用图灵法。

7 月到 10 月期间, 他们几乎破译了从金枪鱼密码机试运行网络上截获的每一条信息。通过图灵法, 破译人员可以计算出每个金枪鱼密码机转子周围许多可调针脚的位置 ( 每个针脚可产出一个单独位,0 或是 1) , 这时, 他们唯一还需要破解的信息就是这 12 个转子在信息初始时所处的位置。而德国人早已好心地通过 12 个名字的指示符把这些信息给泄露了出来。与海豚密码的指示符不同, 金枪鱼密码的指示符在传输时没有加密———这是德国人犯下的一个令人难以置信的错误。

一直到 1942 年 10 月, 德军才发现并最终制止了这种愚蠢的做法, 但为时已晚。罗伯茨和同伴破译金枪鱼密码机的时间已经足够长, 再加上图灵法的帮助, 他们完全有能力继续破译工作。英国邮政总局的工程师按照塔特提供的图纸制作了金枪鱼密码机的复制品。从此, 数以百万计的德军明文信息被破译出来。“ 在早期 (1942 年年中到 1943 年年中) ,  图灵法是我们唯一的武器,”  罗伯茨说,  “ 我们用它破解了数千条超机密的信息。这样的情况以前从来没有发生过, 即使是恩尼格玛密码机也没有。多亏了图灵、 塔特和蒂尔特曼, 我们才能获悉希特勒和他的高级官员每天都在想些什么, 在早餐时说了些什么。这从根本上改变了战争的性质。”

到 1942 年年底, 德军就不再让金枪鱼密码机破译人员的工作如此轻松了。图灵法的使用需要 “ 深度” , 但是随着金枪鱼密码网络的扩张, 其安全性变得更强, “ 深度” 也变得更少。幸运的是, 塔特在 1942 年年底前又灵机一动, 将图灵关于 “ 增量处理” 的理念和他自己的一些真知灼见相结合, 提出了一种不需要 “ 深度” 的破译方法。借助图灵法和偶尔获得的 “ 深度” , 破译人员可以跟得上转子针脚模式的改变; 而使用塔特的方法可以获知每一条信息起始时转子的位置。这样就只剩最后一个障碍。塔特的方法需要基于大批量的计算, 以人类的计算能力, 破译一条信息需要 100 年之久! 塔特怯怯地向马克斯·纽曼介绍了自己的破译方法。马克斯·纽曼在 1942 年年中放弃了剑桥大学的教职, 转而来到布莱切利庄园接受挑战, 他在破译金枪鱼密码机工作上花费了相当大的精力。纽曼建议使用高速电子计数器来将必要的计算过程机械化。

这是个绝妙的主意! 纽曼回想之前在剑桥大学的时候, 卡文迪许实验室的科学家使用电子电路来计算放射性排放。他灵机一动, 意识到这些先进的电子技术可以应用于破译金枪鱼密码机这一非同寻常的问题, 密码破译人员即将见证电子计算机的诞生。

eda382e81ce5aa8ae86fa6ca16436943.png数据派THU独家福利!c7e2c0e29404597c9fe0a901dd7953a5.png

53269d75b06f30000f15253a79b4b88c.png

点点为数据派THU的粉丝们争取了3本赠书福利!欢迎小伙伴儿在下方留言区畅谈对《图灵传》的看法,我们将为点赞数最高(截止到2022年12月19日早8点)的3位读者免费送上此书~小编会联系你们哦!(之前获得过赠书的粉丝不能参与)

8a43edf57ecc2e0b389aa414a80cb73f.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值