恩尼格玛密码机示例——逐步学习
通过涵盖转子机制、插接板配置和历史消息的全面分步示例,掌握恩尼格玛密码机。这些示例从基本概念逐步深入到真实的二战操作规程。所有示例均可使用我们的恩尼格玛密码机模拟器进行验证。
示例 1:无插接板的基础加密
这个基础示例演示恩尼格玛如何通过转子组件加密单个字母,不使用任何插接板连接。
配置
- 转子:I、II、III(从左到右)
- 位置:A、A、A
- 环设置:1、1、1(默认)
- 反射器:UKW-B
- 插接板:无连接
加密"A"
第一步: 按任意键前,右侧转子(III)从 A 步进到 B。
第二步: "A"的信号经过以下路径:
- 入口轮:A(位置 0)
- 右侧转子(III 位于位置 B):通过转子 III 连线进行替换
- 中间转子(II 位于位置 A):通过转子 II 连线进行替换
- 左侧转子(I 位于位置 A):通过转子 I 连线进行替换
- 反射器 UKW-B:配对字母并反射信号
- 左侧转子(I)反向:逆向替换
- 中间转子(II)反向:逆向替换
- 右侧转子(III)反向:逆向替换
- 输出灯亮起
关键点: 由于右侧转子在加密前步进,第一个字母以 AAB 位置(而非 AAA)加密。这对于重现历史结果非常重要。
示例 2:互反特性
恩尼格玛的反射器确保加密和解密是同一种操作。本示例演示这一关键特性。
配置
- 转子:II、IV、V
- 位置:B、L、A
- 环设置:2、21、12
- 反射器:UKW-B
- 插接板:AV、BS、CG、DL、FU、HZ、IN、KM、OW、RX
演示
- 用上述设置加密"HELLO"。结果:一个 5 字母密文(在模拟器中试试)。
- 将转子位置重置回 B、L、A。
- 输入第 1 步的密文。输出结果为"HELLO"。
这一互反特性既是一个优点(操作员只需一套操作规程),也是一个漏洞(它限制了密码的数学结构)。
示例 3:双重步进实例
当中间转子处于其缺口位置时,会发生双重步进异常,导致它在连续两次按键中都步进。
配置
- 转子:I、II、III
- 反射器:UKW-B
- 插接板:无
观察双重步进的设置
将位置设为 A、D、U(左、中、右)。转子 III 的缺口在 V,转子 II 的缺口在 E。
观察按键时的转子位置变化:
| 按键次数 | 步进前位置 | 步进后位置 | 备注 |
|---|---|---|---|
| 第 1 次 | A, D, U | A, D, V | 右侧转子正常步进 |
| 第 2 次 | A, D, V | A, E, W | 右侧转子到达缺口(V),中间转子也步进 |
| 第 3 次 | A, E, W | B, F, X | 中间转子到达缺口(E),双重步进!中间和左侧同时步进 |
| 第 4 次 | B, F, X | B, F, Y | 恢复正常步进 |
第 3 次按键的双重步进是异常所在:中间转子在连续两次按键(第 2 次和第 3 次)中都步进。这缩短了机器的理论周期。
示例 4:历史背景——巴巴罗萨行动
在德国入侵苏联期间(巴巴罗萨行动,1941 年 6 月),恩尼格玛加密消息协调了大规模三路进攻。以下是一条典型军事消息的结构示例:
典型消息格式
德国军队恩尼格玛消息遵循严格格式:
- 消息密钥:操作员选择三个随机字母,用当天的设置加密后在消息开头发送
- 消息正文:实际内容,用消息密钥加密
- 标准短语:消息通常以可预测的短语开头,破译者将其作为"已知词"加以利用
布莱切利庄园使用的常见已知词
- WETTERBERICHT("天气报告")— 定时发送的天气消息
- KEINEBESONDERENEREIGNISSE("无特别事项报告")— 例行状态消息
- ANXX("致"后接收件人)— 消息地址格式
- OBERKOMMANDODERWEHRMACHT — 最高统帅部署名
这些可预测的模式对于炸弹机器缩小每日设置的可能范围至关重要。
示例 5:预设配置
模拟器包含几种预设配置,演示不同的操作场景:
默认国防军配置
常用转子选择和插接板对的标准军用起始点。这代表了密码本中分发的典型每日设置。
潜艇配置
德国海军(Kriegsmarine)使用了更复杂的变体,配备额外转子。海军恩尼格玛尤为重要,因为破解它帮助盟军赢得了大西洋海战。
非洲军团配置
隆美尔部队在北非使用的野战配置。沙漠作战需要跨越广阔距离进行可靠通信。
在模拟器中尝试每种预设,观察不同配置如何从相同明文产生完全不同的密文。