图 15老机器馆

恩尼格玛密码机原理:转子、反射器与插线板

在设为 I-II-III、AAA 的恩尼格玛上按五次 A,灯会依次亮 B、D、Z、G、O。

恩尼格玛密码机原理:转子、反射器与插线板
正在加载模型

这台设备无法显示 3D 模型。下面的讲解步骤可以直接阅读文字。

1 / 10 一条 1941 年的真实报文机器设为转子 II、IV、V,环 B U L,起始位置 B L A,十条插线。它正在打一条 1941 年 7 月 7 日发出的德国陆军报文,灯依次拼出德语明文:AUFKLXABTEILUNGXVONX...

拖动可旋转,滚轮或双指缩放。

更新于 资料核对于
广告

按下一个键时发生了什么

恩尼格玛密码机原理是什么?每按一次键,电流就穿过插线板、三个转子和反射器,再原路经过转子和插线板返回,点亮一盏对应着另一个字母的灯。右边的转子每按一次键就转一步,接线随之改变,所以同一个字母每次出来的结果都不同。

1941 年,一名德国无线电员的桌上放着一只木箱,橡木机壳约 35 × 29 cm,深 16 cm,重约 12 kg。他按下一个键,字母窗口下的一只小灯泡亮起,另一名士兵把这个字母记下来。再按同一个键,亮的就是另一盏灯。这就是 Enigma I 的全部用户界面,上面的模型也是这样工作的。

本页按真实的转子 I 至 V 和反射器 B 的接线,从按键到灯,一个部件一个部件地追踪电流。模型里的密码是真的:按发送者的方式设好,它就能读出 1941 年 7 月 7 日从俄国前线发出的一条报文。

电流经过的部件

按下一个键会合上一个开关。机壳里一块 4.5 伏的电池推动电流穿过这条链:

  1. 键盘:26 个键,按德语 QWERTZ 排列。
  2. 插线板(Steckerbrett):前面板上的插孔。两个插孔之间接一条线,就互换这两个字母。
  3. 入口轮:固定的圆盘,把电流送到转子。在 Enigma I 上它是直通接线,A 对 A。
  4. 三个转子,从右到左。每个转子都会打乱字母表。
  5. 反射器:固定的半轮,把字母两两配对,让电流折回。
  6. 再过一遍三个转子,从左到右,走另一条路径。
  7. 再过入口轮和插线板,最后到 26 盏灯中的一盏。

电流一路上要穿过转子六次,三次去程,三次回程。如果机器到此为止,它就只是一张固定的替换表,小学生拿支铅笔数数字母频率就能解开。关键在于转子会转动。

为什么转子在灯亮之前转动

按键严格按顺序做两件事。行程最初的几毫米,推动一个棘爪顶住右转子的棘轮,让转子转 1/26 圈。只有行程到底时,键才接通电触点。所以字母总是在转子转到新位置后才被加密。

开启「透视内部」,打几个字母。每个转子里的红蓝导线,每按一次键都会跳到新的位置,即使你按的是同一个键,因为转子已经转了,固定触点前面现在是另一根内部导线。

转子内部:26 根乱序的导线

转子是一个厚厚的绝缘圆盘。右面有 26 根弹簧针,左面有 26 个平触点。里面 26 根绝缘导线把每根针连到一个触点。比如转子 I 把 A 送到 E,B 送到 K,C 送到 M;完整的对应是 EKMFL GDQVZ NTOWY HXUSP AIBRC J。模型使用了全部五个转子公开的接线:

转子 接线(A 到 Z 变成什么) 缺口 服役时间
I EKMFL GDQVZ NTOWY HXUSP AIBRC J Q 1930
II AJDKS IRUXB LHWTM CQGZN PYFVO E E 1930
III BDFHJ LCPRT XVZNY EIWGA KMUSQ O V 1930
IV ESOVP ZJAYQ UIRHX LNFTG KDCMW B J 1938 年 12 月
V VZBRG ITYUP SDNHL XAWMJ QOFEC K Z 1938 年 12 月

边缘有一圈可转动的字母环,环上有一个缺口。字母环决定窗口里显示哪个字母,环设置(Ringstellung)决定字母相对接线错开多少。把环转一格,对接线的效果,与字母不动而把接线芯转一格相同。

反射器,以及为什么字母不会变成自己

反射器 B 把 26 个触点连成 13 对:A 与 Y,B 与 R,C 与 U,依此类推(YRUHQ SLDPX NGOKM IEBFZ CWVJA T)。到达 A 的电流从 Y 离开,再穿过三个转子返回。

这带来两个后果。对操作员有利的是:机器是它自己的逆。在某个设置下,如果 A 变成 B,那么在同一设置下 B 变成 A,所以同一台机器、同样的步骤就能解密报文。不利的是:字母永远不会变成它自己。回程不可能终止在去程开始的地方,因为反射器从不把一个触点连到它自己。在模型里你可以打 1000 个字母,永远看不到亮的灯与你按的键相同。破译员用这一点排除猜测明文(crib)的位置:如果猜测让某个字母正对着密文里相同的字母,这个位置就不可能。

步进、缺口与双步进

右转子每按一次键就转一步。它转过缺口位置(转子 III 是 V)时,会带动中转子前进一步。中转子转过自己的缺口时,会带动左转子。

这个机构有个怪癖。推动左转子的棘爪搭在中转子的缺口上,推的时候也会把中转子带着走。所以中转子会在连续两次按键中各转一步。导览第 5 步用转子 I、II、III 从 ADU 开始演示:

  • ADU 变成 ADV(右转子在 V 到达缺口)
  • ADV 变成 AEW(中转子被带到 E,它自己的缺口)
  • AEW 变成 BFX(中转子再转一步,并带动左转子)
  • BFX 变成 BFY

因为有双步进,中转子在一个周期里只有 25 个不同位置,而不是 26 个。机器在 26 × 25 × 26 = 16,900 次按键后重复。模型的代码跑完了整个周期,恰好在 16,900 步后回到起点。

从 A 到 B 的一个字母

把 I-II-III 设在 AAA,不接线,按 A。右转子先转一步,所以窗口读作 AAB。然后电流这样走:

经过 字母
按键 A
插线板 A(没有插线)
右转子(III 在 B) C
中转子(II 在 A) D
左转子(I 在 A) F
反射器 B S
左转子,回程 S
中转子,回程 E
右转子,回程 B
插线板和灯 B

再按四次 A,灯会显示 D、Z、G 和 O。AAAAA 变成 BDZGO 是检验 Enigma 模拟器的标准测试,模型通过了。如果把环设成 BBB,同样五个键给出 EWTYX,这是另一个公开的检验,模型的代码也通过了。

一共有多少种设置方式

陆军操作员要根据每日密钥表设定四样东西。下面的数字是算出来的,公式也列出,方便你核对。

  • 转子顺序:从五个转子里按顺序选三个,5 × 4 × 3 = 60。
  • 起始位置:26 × 26 × 26 = 17,576。
  • 十条插线的插线板:从 26 个字母里选十对。数量是 26! / (6! × 10! × 2^10) = 150,738,274,937,250。6! 对应没插线的六个字母,10! 对应插线的顺序,2^10 对应每条线的两端。

相乘:60 × 17,576 × 150,738,274,937,250 = 158,962,555,217,826,360,000,约 1.6 × 10^20,或大约 2^67。中转子和右转子的环设置会改变进位发生的时刻,使总数最多再乘以 26 × 26 = 676,达到约 1.07 × 10^23。

这个数字主要来自插线板。十条线甚至不是最大值:十一条线会给出 205,552,193,096,250 种配对。1939 年 1 月之前,陆军只用六条线,对应 100,391,791,500。

密钥空间大,不等于密码强。看上去最巧妙的转子,只贡献 60 × 17,576 = 1,054,560 种设置。布莱切利园的破译机器攻击的正是这一部分,插线板则靠逻辑处理。

加密和解密是同一个动作

在 I-II-III、AAA、不接线时打出 HALLO,灯依次亮 IDBDA。按「回到开头」再打 IDBDA:灯拼出 HALLO。「把灯的字母打回去」按钮替你做这件事。因为有反射器,接收者不需要单独的解密模式。他设好同样的转子、环、插线和起始位置,打出密文即可。

战时使用中,每条电文的起始位置本身也要加密。操作员选三个字母(报文密钥),在当天的基本设置下加密它们,把结果发在电文开头,然后把转子转到自己的报文密钥。导览第一步里的 1941 年报文使用报文密钥 BLA、转子 II、IV、V、环 B U L 和十条插线(AV BS CG DL FU HZ IN KM OW RX)。它的开头读作 AUFKL XABTE ILUNG XVONX KURTI NOWA,其中 X 代表空格:一支侦察部队从塞别日附近的库尔季诺瓦发来的报告。

模型与真实机器有何不同

  • 盖板、灯罩和盖板窗口都去掉了,好让你看到转子。
  • 插线挂得比真的低,以免挡住插孔。真的插头有两根粗细不同的针,所以一条线就能在两个方向上互换。
  • 红蓝电流路径画成一条直线。真实机器里,导线沿一束固定的线束穿过底座。
  • 真实机器的键还会切换灯的电路,所以按下的键点不亮它自己的灯。模型在逻辑上做到了同样的事,但画面上没有体现。
  • 机壳是 Enigma I 的。在实验室里选海军 M3 时,转子 VI 至 VIII 和反射器 C 的计算是精确的,但箱子不变。选 M4 时,第四轮和薄反射器会参与计算,并标在反射器标签上;画面仍然显示三个转子。
  • 「跟随电流」里行进的亮点以步行的速度移动。真实的电流只需几纳秒就穿过整台机器。
广告

恩尼格玛是如何被破译的

亚瑟·谢尔比乌斯于 1918 年 2 月 23 日为一种转子密码机申请了专利。德国海军 1926 年把这种机器投入使用,陆军在 1928 年加上了插线板。1932 年 12 月,波兰数学家马里安·雷耶夫斯基用置换理论推出了转子接线。他得到了帮助:柏林的间谍汉斯-蒂洛·施密特把德国的手册和每日密钥表卖给了法国情报机关。波兰人造出自己的复制机和一种叫循环计的装置,在整个 1930 年代读懂了大量德国电文。

1938 年 12 月 15 日,陆军增加了转子 IV 和 V,转子顺序从 6 种增加到 60 种,1939 年 1 月插线数量也从六条增加。1939 年 7 月 26 日和 27 日,在华沙附近的皮里,波兰密码局把自己的方法和复制的机器交给了法国和英国军官。在布莱切利园,艾伦·图灵和戈登·韦尔奇曼设计了炸弹机,一种用猜测明文检验转子位置的机电式机器。第一台名叫「胜利」,于 1940 年 3 月 18 日到达。第二台带有韦尔奇曼的对角线板,于 1940 年 8 月 8 日到来。

在实验室里亲自试试

控件下面有一个带六种工具的实验室。它们都不是单独的模拟:每一种都驱动与上面那台机器相同的密码代码,也就是用 1941 年报文核对过的那份代码。

设置机器。 选一个型号、三个转子、一个反射器、环设置和起始位置。插线板是一排 26 个插孔。从一个插孔拖到另一个插孔即可接上插线,或依次点两个。点已接的插孔可拔掉插线。你也可以点 3D 机器前面的黄铜插孔。每次改动都会清空纸带,因为密文只有连同它加密时的设置才有意义。

跟随电流。 打开它,再按一个键。转子先转动,然后一个小亮点离开按键,走到它的插孔,如果那里有插线就互换,进入入口轮,依次穿过右、中、左转子。在反射器里它掉头,沿另一条路径依次穿过左、中、右转子回来,到插线板,再上到灯。舞台顶部的条带会在亮点经过时点亮每一站。开启「透视内部」再试一次:转子外壳变透明,你可以看着亮点在触点之间跳跃。

双步进慢动作。 它把转子 I-II-III 设在 ADU,放慢转子的动作,并按 A 三次。下面的记录写下每次按键时哪些转子动了:ADU 到 ADV 只有右转子动,ADV 到 AEW 右转子和中转子动,AEW 到 BFX 三个都动。中转子在连续两次按键中都动了。

字母永远不会变成自己。 一个按钮会按 A 一万次,每次都换一组随机设置和十条随机插线,并画出每盏灯亮了多少次。A 的柱子永远是空的。其余 25 根柱子都在 400 左右,因为 10,000 / 25 = 400。在本页的一次运行中,它们的范围是 343 到 444。那根空柱子就是破译员利用的弱点。

加密和解密。 写一条报文,按「加密」。再按「解密结果」:同样的设置把密文变回你的报文,这一行会告诉你。「在机器上打出来」会把报文逐个字母送过 3D 模型。

一共有多少种设置。 一张表为每个型号把密钥的各部分相乘。你可以把插线数量从 0 滑到 13,看总数变化。所有数字都是精确的整数,同样的公式也用手算过。

海军机器:八个转子里选三个,后来是四个轮

德国海军对 Enigma 比陆军更谨慎。它的 M3 用同样的转子 I 至 V,并加了三个自己的转子 VI、VII 和 VIII。这些海军转子各有两个缺口,在 Z 和 M,所以下一个转子每转一圈进位两次,而不是一次。从八个转子里选三个,有 8 × 7 × 6 = 336 种转子顺序,而不是 60 种。海军除了 B 之外还用反射器 C。

把这些数字代入和前面相同的乘积(336 种转子顺序、2 个反射器、17,576 个起始位置、676 种环设置和十条插线),得到 1,203,537,298,065,206,936,832,000,约 1.2 × 10^24。

1942 年,潜艇用的机器又变了。机壳里没有地方放第四个转子,于是把反射器做薄,在它和左转子之间放一个薄轮,Beta 或 Gamma。这个第四轮可以手动设定,但从不步进。英国人把新的潜艇电文称为「鲨鱼」(Shark)。国际间谍博物馆展出了德国为日本造的一台四转子机,它指出鲨鱼电文再次被破译用了将近一年。

第四轮有一个隐藏的便利。把 Beta 设在 A,配薄反射器 B,M4 的加密结果就与使用旧反射器 B 的三转子机完全一样。Gamma 配薄反射器 C 也有同样的等价关系。这意味着潜艇仍能读使用三转子机的岸上电台发来的电文。第四轮有 26 个位置,又有两种轮可选,实验室里 M4 的数量上升到约 6.3 × 10^25。

猜测明文:猜出明文

猜测明文(crib)是你预料会出现在报文里的一段明文。天气报告每天都以相同的德语词开头。各部队按固定格式报告,有些部队夜复一夜地发同一句「无事报告」。

第一步是把猜测明文与密文对齐。这里反射器帮了破译员。因为没有字母会加密成它自己,猜测明文不能放在任何一个字母与下面的密文字母相同的位置。取本页 1941 年报文的前 96 个字母,以及它明文的真正开头 AUFKLXABTEILUNG,共 15 个字母。猜测明文可能从 82 个位置开始。其中 40 个位置至少有一个字母相撞,所以只剩 42 个,而位置 0,也就是正确的那个,就在其中。猜测明文越长,排除得越多。

对齐的猜测明文给出一些字母对:第 1 步明文 A 变成密文 E,第 2 步 U 变成 D,依此类推。这些字母对就是炸弹机的输入。

布莱切利园的炸弹机

1938 年波兰的 Bomba 靠发现每条电文开头打两遍的报文密钥来工作。当德国人不再重复密钥并增加了转子,这种方法就失效了。艾伦·图灵设计了一台新机器,改为从猜测明文入手。

一台炸弹机带有许多组复制 Enigma 转子的转鼓。对一种转子顺序,它会走遍全部 17,576 个起始位置。在每个位置,它检验猜测明文的字母对能否与某种插线板同时成立。大多数位置立刻导致矛盾,机器就继续往下。它停下时,操作员记下位置和一个插线猜测,再用 Typex 或 Enigma 复制机手工检查。

戈登·韦尔奇曼加了对角线板。它接入了插线互换是双向的这一事实:如果 A 与 V 相连,那么 V 也与 A 相连。这大大减少了虚假停机。据国家计算机博物馆介绍,第一台炸弹机「胜利」于 1940 年 3 月开始工作,第一台带对角线板的「上帝羔羊」于 1940 年 8 月开始工作,到战争结束时约有 1,676 名皇家海军女子勤务队员和 263 名皇家空军人员操作 211 台炸弹机。博物馆有一台能运行的复原机。

找到日密钥后,仍有成千上万条电文要解密。布莱切利园为这项工作使用了改成 Enigma 行为的英国 Typex 机。

其他转子机:Typex 和 SIGABA

英国在 1928 年买了两台商用 Enigma。随后航空部让电传打字机制造商 Creed & Company 造一台改进的复制机,第一批 Typex Mark I 在 1937 年初送到皇家空军。Typex 有五个转子,其中两个在打字时保持不动,并把文字打印在纸带上,而不是点亮灯。Mark 22 增加了插线板,所以能模仿 Enigma。帝国战争博物馆记载,德国人至少缴获了两台 Typex,但始终没有破译,它一直服役到 1960 年代初。

美国陆军的 SIGABA,美国海军称为 ECM,也使用有接线的转子。弗兰克·罗莱特给它设计了如此缠绕的步进,看上去就是随机的。美国国家安全局国家密码博物馆指出,它是战争中唯一从未被敌人破译的机器系统。从 1943 年 11 月起,改造过的 ECM 和 Typex 一起作为联合密码机工作,使英美舰船能够共享电文。

Enigma 的弱点不在于它用了转子,而在于规则的步进、反射器,以及操作员的习惯。实验室里的 50 条机器、人物和方法清单沿着这段历史展开,每条都附有出处。

为什么十三条插线的设置数比十一条少

把插线板的每个插孔都插满,看上去最安全。然而数量在十一条线之后下降。要弄清原因,把有 n 条线的排法数记作 P(n)。比较上面阶乘公式的两个相邻值,几乎全部抵消:

P(n + 1) / P(n) = (26 − 2n)(25 − 2n) / (2(n + 1))。

十条线时还剩六个空插孔。加第十一条线,比值是 6 × 5 / 22 = 15/11,所以数量从 150,738,274,937,250 增长到 205,552,193,096,250。十一条线时还剩四个空插孔。下一个比值是 4 × 3 / 24 = 1/2,所以十二条线给出 102,776,096,548,125 种排法。最后一个比值是 2 × 1 / 26 = 1/13:十三条线只剩 7,905,853,580,625 种排法。这些是完整插线板的可能数量,而不是在某一块特定插线板上再加一条线的方法数。

为什么要除以 n + 1?每块做好的插线板,都可以通过取下它 n + 1 条线中的任意一条再装回去得到。如果不做这次除法,把所有可能的添加都数一遍,同一块做好的插线板就会被数好几次。因子 2 避免把一条线的两个朝向分开计数。连接 A 和 B 的线,与连接 B 和 A 的线是同一个连接。

在设置计数器里,保持机器型号不变,把插线滑块从 10 移到 13。所有其他因子保持固定,所以总数遵循同样的先升后降。这检验的是一个计数假设,而不是破译一条电文需要的时间。十一条线使这个特定的搜索空间最大;仅凭这一点,不能证明十一条线给出实际上最强的密码。康奈尔大学的组合学讲义从选插孔和配对推导出了这个基本公式。

在炸弹机舞台上破译一条电文

打开炸弹机舞台,Enigma 让位给一台炸弹机模型。正面有 108 个转鼓,分三排。国家计算机博物馆这样描述这台机器:每组竖向的三个转鼓相当于一台 Enigma 的转子,所以正面共有 36 台 Enigma。模型的转鼓随搜索转动,侧面的转鼓显示正在检验的位置。

舞台上的电文是一份编造的潜艇天气报告,用页面直到最后才揭晓的日密钥加密。猜测是它含有 WETTERVORHERSAGE,即天气预报,博物馆称它是海军猜测明文中的典型词。第一块面板沿着密文滑动这个猜测明文。凡是猜测明文的字母正对着相同密文字母的地方,都会变红,该位置被排除,因为 Enigma 从不把字母加密成它自己。前 20 个位置里,有 12 个留下。真正的位置是 8。

按「在此处画菜单」,面板会画出菜单。猜测明文的每个字母与它下面的密文字母之间连一条线,线上标着它在电文中的位置。这个猜测明文给出 15 个字母、16 条线和 3 个闭合的环。连接最多的字母 E 成为输入字母。环最重要。关于 E 的插线搭档的一个猜测,可以沿着环追踪一圈,回来时必须与自己一致,所以每个环都是错误猜测可能通不过的又一道检验。

然后运行。对一种转子顺序,炸弹机走遍全部 17,576 个转鼓位置。在每个位置,它假设 E 与某个字母相连,把这个猜测沿菜单上的每个扰频器追踪下去,并用韦尔奇曼的对角线板(如果 E 与 w 相连,那么 W 与 e 相连)把它进一步扩展。错误的猜测很快就推出 E 同时与每个字母相连,这是不可能的,于是转鼓继续转动。炸弹机只在某个猜测存活的地方停下。模型完整地做同样的检验,所以它的停机是密码的真实结果,而不是预先写好的动画。每个停机再按检查机的方式检查:如果某个字母需要两个搭档,它就是虚假停机。用真正的顺序 II-V-III,运行只停一次,在 YIV,检查通过。面板上另外三种顺序一次停机都没有。

停机给出转鼓位置和菜单上每个字母的插线搭档。按「用这个停机解密」,大部分电文变得可读,只有几个字母是错的:ANUFDXXWETTERVORHERSAGE。这些错误出在三条插线上,它们的字母从未出现在菜单里。从读了一半的文字里找出它们是最后一步,也是实验室里的一个任务。

有两处做了简化。环设置固定在 A,因为炸弹机找的是转鼓位置,而环只是移动窗口里显示的字母。另外,模型的扰频器像 Enigma 一样步进,包括中转子,而不是复制炸弹机自己的转鼓齿轮传动。博物馆给出了真实机器的速度:顶部转鼓每分钟转 97.5 圈,所以没有停机的一次运行至少要 10.4 分钟。速度滑块让模型以这个速度运行,或最多快一千倍。

洛伦兹与 Colossus:另一种德国密码

德军陆军最高统帅部最重要的电文并不使用 Enigma。它用的是洛伦兹 SZ40 和 SZ42,这是给电传打字机电文加密的附件。布莱切利园把这个系统称为 Tunny。电传打字机把每个字符作为五个通断信号发送,洛伦兹则用十二个轮加上五位密钥。五个 Chi 轮分别有 41、31、29、26 和 23 个凸轮,每个字符都转动。五个 Psi 轮只有在两个电机轮允许时才转动。凸起的凸轮给出 1,落下的凸轮给出 0,密钥等于 Chi 加 Psi。

洛伦兹舞台显示十二个轮和全部 501 个凸轮。「一个字符」让它们前进一步。表格显示 Chi 位、Psi 位和它们组成的密钥位,以及 Psi 轮是否转动。模型上的凸轮图案是随机的,电机遵循简单的 SZ40 规则,没有后来的限制,所以请把它当作一张可运行的示意图,而不是某一台机器的复制品。

据 Crypto Museum 介绍,1941 年 8 月,一名操作员用同样的轮设置把一条长电文发了两遍,第二次打得略有不同。破译员从这一对电文中恢复出近 4000 个密钥字符,比尔·塔特在 1942 年 1 月前推出了这台机器的逻辑,而他从未见过实机。为了足够快地设定每条新电文的轮,汤米·弗劳尔斯造出了 Colossus,一台有 1700 多个电子管的电子机器,从纸带上读取密文。第一台于 1944 年 1 月到达布莱切利园。据国家计算机博物馆说,到战争结束时,十台 Colossus 和 550 人破译了 6300 万个字符。

五十台机器、人物与方法

实验室里的目录现在列出 50 条,每条都有出处,可以按类型搜索和筛选。机器条目会在 Enigma I 旁边打开一张对比卡。这张卡比较每台机器如何打乱字母、活动部件、触点或字母、服役年份,以及是否被破译。据美国国家安全局国家密码博物馆介绍,日本的 Purple 机用电话步进开关而不是转子,美国陆军的破译员在 1940 年没见过实机就把它重建了出来。M-209 是口袋大小的销轮机。德国人有时约四小时就能破译它的一条电文,对几小时内就失去价值的命令来说这是可以接受的,它在朝鲜战争中仍在使用。1952 年的 KL-7(用户包括韩国)和 1956 年的苏联 Fialka,用更多的转子和更复杂的步进,把转子的构想带进了冷战。

常见问题

恩尼格玛的字母会加密成它自己吗?

不会。反射器从不把一个触点连到它自己,所以回程总是终止在与你所按字母不同的字母上。这让猜测明文更容易对齐。

为什么同一台机器既能加密又能解密?

反射器让每种设置都成为 13 次互换。如果 A 变成 B,那么在该设置下 B 变成 A。用同样的起始设置打出密文,就得到明文。

什么是双步进?

中转子到达缺口时,转动左转子的棘爪也会推动中转子。中转子在连续两次按键中各转一步,就像 ADV、AEW、BFX 那样。

Enigma I 有多少种密钥?

五个转子、十条插线、每个转子 26 个起始位置,共 158,962,555,217,826,360,000 种设置,约 2^67。两个转子的环设置还会再乘上最多 676 的因子。

转子已经会打乱字母,为什么还要插线板?

转子在每台机器里都一样,可能被缴获或被推算出来。插线板每天更换,把设置数乘以大约 150 万亿。

转子位置多久重复一次?

对只有一个缺口的转子,是 26 × 25 × 26 = 16,900 次按键。25 来自双步进,它跳过了中转子的一个位置。

我能在这里解密一条真实的报文吗?

可以。在设置里选 1941 年的报文,或按「播放」。机器设为转子 II、IV、V,环 B U L,起始位置 BLA,灯会显示德语文字。

海军 M4 有什么变化?

薄反射器腾出位置,装下第四轮 Beta 或 Gamma,它靠手动设定,从不步进。把它设在 A 并配对应的薄反射器,它就像一台三转子机。

操作员为什么把报文密钥打两遍?

作为防止无线电错误的核对。1930 年代,陆军把三个字母的报文密钥连续加密两遍,所以每条电文的第 1 和第 4、第 2 和第 5、第 3 和第 6 个字母藏着同一个字母。雷耶夫斯基的攻击就建立在这个规律上。

Typex 或 SIGABA 被破译过吗?

没有已知的敌人破译过其中任何一种。美国国家安全局称 SIGABA 是战争中唯一从未被破译的机器系统,帝国战争博物馆则说德国人从未攻入 Typex。

把所有设置都试一遍要多久?

按每秒十亿种设置计算,十条插线的 Enigma I 有 1.07 × 10^23 种设置,需要约 340 万年。破译员从未试过全部。猜测明文和炸弹机把工作量缩减到 1,054,560 种转子顺序和位置,插线板则靠逻辑处理。

什么是炸弹机菜单?

猜测明文给出的字母对的图。每一对,即一个猜测明文字母和它下面的密文字母,由一条标着它在电文中位置的线连接。炸弹机按它接好线。带闭合环的菜单给出的虚假停机更少。

什么是虚假停机?

炸弹机在某个转鼓位置没有发现矛盾,但这个位置是错的。当某个字母需要两个插线搭档时,它就在检查机上被排除。在炸弹机舞台上,每次停机之后立刻进行检查。

一次炸弹机运行要多久?

国家计算机博物馆给出,在其复原机的齿轮传动下,没有停机地完整运行 17,576 个位置至少需要 10.4 分钟。1943 年初一次运行要 16 分钟,1943 年 3 月起的高速 Keen 机三轮运行一次只要一分半钟。

洛伦兹与 Enigma 有什么不同?

Enigma 用转子和反射器加密单个字母,由操作员记下灯的字母。洛伦兹把电传打字机字符作为五位来加密,加上十二个销轮的位,并在线路上自动工作。它是先用手工方法、后来用 Colossus 破译的,而不是用炸弹机。

术语

  • 转子(Walze):有接线的圆盘,把一面的 26 个触点对应到另一面的 26 个触点。
  • 环设置(Ringstellung):字母环与转子接线之间的偏移。
  • 缺口:字环上的一道切口,让左边的下一个转子步进。
  • 反射器(Umkehrwalze):固定的轮,把触点两两配对并让电流折回。
  • 入口轮(Eintrittswalze):插线板与右转子之间的固定轮。
  • 插线板(Steckerbrett):互换成对字母的插孔和插线。
  • 报文密钥:一条电文开始时转子所在的三个字母。
  • 猜测明文:猜出的一小段明文,比如例行用语,用来找出密钥。
  • 炸弹机:布莱切利园用猜测明文检验转子位置的机电式机器。
  • 薄反射器与第四轮(希腊轮):M4 的部件,在旧反射器的空间里加了一个不步进的轮,Beta 或 Gamma。
  • 对角线板:韦尔奇曼给炸弹机加的部件,利用双向插线互换来排除虚假停机。
  • 日密钥:密钥表上规定的设置,当天同一网络里每个操作员都用它。

参考资料

解说文章与模拟采用 CC BY-NC-SA 4.0 许可,另有说明的除外。

广告

嵌入此展品

将这段代码粘贴到网页或博客文章中,即可在那里显示可操作的模型。

非商业用途可免费使用,请保留出处行。 解说文章与模拟采用 CC BY-NC-SA 4.0 许可,另有说明的除外。

尺寸

嵌入的展品以简体中文打开。如需其他语言,请先把本页切换到该语言,再复制代码。