什么是 Bombe(炸弹机)?
Bombe 是二战期间英国密码分析人员在布莱切利园(Bletchley Park)使用的机电装置,用于破译德军 Enigma 密码机加密的通信。它由 Alan Turing 与 Gordon Welchman 设计,并建立在波兰数学家前期工作之上,用自动化方式寻找截获电文所用的 Enigma 当日设置。
Enigma 负责加密,而 Bombe 是破译设备。它尝试大量可能的 Enigma 设置,找出哪一种配置能把一段已知明文(称为 crib,「猜明文」)对应到截获的密文。这使破译时间从数周缩短到数小时甚至更短。
历史意义: Bombe 是最早为特定解题任务而设计的自动化计算装置之一。鼎盛时期,布莱切利园及其外站运行逾 200 台 Bombe,每日处理成千上万份电报,为盟军提供关键情报。
波兰方面的奠基工作
在英国大规模介入之前,波兰数学家率先在 Enigma 上取得突破:
波兰贡献(1932–1939)
- Marian Rejewski: 运用数学群论逆向推导 Enigma 转子接线
- Bomba Kryptologiczna(波兰「炸弹」): 首台用于搜寻 Enigma 设置的自动化装置
- Cyclometer(循环仪): 用于编目与分析转子位置的工具
- 知识转移: 二战爆发前夕向英法盟友移交方法与经验
背景说明: 英国 Bombe 的命名意在致敬波兰的「bomba」装置。二者结构不同,但直接继承波兰的数学洞见与方法。波兰的贡献常被低估,却是盟军成功的必要前提。
Bombe 如何工作
Bombe 利用 Enigma 的一条基本性质:任意字母不能加密成自身。结合已知或猜中的明文(crib),可快速排除不可能的转子设置组合。
1
获得 crib
找出或猜测密文中可能出现的明文片段,例如德文 "WETTER"(天气)或 "EINS"(一)。
2
构造菜单(Menu)
绘制 crib 与密文字母之间的逻辑关系图,形成蕴含链。
3
装配 Bombe
用鼓轮模拟 Enigma 转子,并按菜单接线。
4
运行搜索
Bombe 高速遍历转子位置,用 crib 检验每种配置。
5
停机检测
当出现逻辑矛盾时停机;未矛盾处可能对应有效设置候选。
6
校验设置
用实体或模拟 Enigma 验证候选设置能否得到正确明文。
理解 crib(猜明文)
crib 指在密文中已知或猜中的明文片段。没有可靠的 crib,Bombe 难以起步,它是破译当日 Enigma 设置的切入点。
crib 的常见来源
- 套话电报: 德军报务员常发格式固定的电文,如天气预报
- 固定开头: 电文常以 "ANX"(致)、"FORT"(续报)、"NICHTS"(无)等起首
- 可预测内容: 每日战况通报结构相似
- 重发: 同一内容有时用不同密钥重复加密发送
- 作息规律: 固定时段的状态报告
crib 对齐示例
密文:NCZWVUSXPNYMINHZXMQXSFWXWLKJAHSHNMCOCCAKUQPMKCSMHKSEINJUSBLKIOSXCKUB
crib 猜测:WETTERVORHERSAGEBISKAYA(比斯开湾天气预报)
分析人员会把 crib 在密文上滑动,寻找最可能的对齐位置,并避开「明密同字母」的位置(Enigma 不会把某字母加密成自身)。
Bombe 的实体结构
英国 Bombe 在当时是令人瞩目的工程成果:
- 尺寸: 高约 7 英尺、宽约 6.5 英尺、深约 2 英尺,重量逾 1 吨
- 鼓轮: 36 只旋转鼓(后增至 48),模拟 Enigma 转子,12 组、每组 3 只
- 速度: 约 20 分钟内可检验约 17,576 种转子位置组合
- 声响: 运行时有明显的咔嗒与滴答声
- 操作: 需仔细装配并由训练有素的人员持续监视
- 可靠性: 机械结构导致维护频繁、偶有故障
工程规模: 每台 Bombe 布线总长逾 100 英里,含数千零件;建造与维护整支机群需要大量工业资源与熟练技师。
使用 CyberChef 的 Bombe 操作
CyberChef 的 Bombe 操作模拟自动化破译 Enigma 的流程,便于理解布莱切利园分析人员的工作方式。需要提供密文与 crib,以尝试恢复 Enigma 设置。
基本步骤
- 准备一段 Enigma 加密电文(密文)
- 确定或猜测消息中的 crib(已知/猜中明文)
- 将密文载入 CyberChef 输入区
- 在加密相关分类中添加 Bombe 操作
- 填写 crib 文本
- 配置搜索参数(转子组合、反射板等)
- 运行操作(搜索空间较大时可能耗时较长)
- 查看候选设置,并用 Enigma 操作复核解密结果
算力现实: 实体 Bombe 可在数分钟内检验大量位置;CyberChef 为软件模拟,耗时取决于本机性能与参数。反过来看,这更凸显当年机电 Bombe 的工程成就。
Bombe 操作参数
在 CyberChef 中使用 Bombe 时,通常需要配置下列参数:
| 参数 |
说明 |
典型取值 |
| Crib Text |
已知或猜中的明文 |
常见词或固定短语 |
| Crib Position |
crib 在报文中的起始位置 |
0(从开头)或指定偏移 |
| Rotor Selection |
待测试的转子集合 |
国防军常用 I–V;海军常用 I–VIII(Kriegsmarine) |
| Reflector |
待测试的反射板 |
B 或 C(最常见) |
| Check Stops |
对候选结果的核验深度 |
在速度与准确度间取舍 |
对比:手工与自动化密码分析
无 Bombe(手工)
- 手工尝试转子组合
- 单份电报可能耗时数日至数周
- 需要大量数学家协作
- 易因疲劳与疏忽出错
- 往往尚未完成情报已过时
- 每日仅能处理少量电报
有 Bombe(自动化)
- 自动检验海量组合
- 缩短到数分钟至数小时
- 所需操作人员更少
- 运行稳定、结果一致
- 能在情报仍有效时产出结果
- 每日可处理数百份电报
实战中的困难
即便有 Bombe,每日破译 Enigma 仍是艰巨任务:
密钥日日更换
德军通常在午夜更换 Enigma 当日设置,分析人员几乎每天都要从零开始,时间压力持续存在。
不同密钥网
空军(Luftwaffe)、陆军(Wehrmacht)、海军(Kriegsmarine)等使用不同密钥网,每日密钥各自独立,工作量成倍增加。
依赖 crib
Bombe 高度依赖高质量 crib。报务员若减少套话、规范操作,破译难度会显著上升。
四转子 Enigma(M4)
1942 年德军 U 艇启用四转子 Enigma(M4),复杂度骤增,盟军情报曾出现短暂「断档」,直到改进型 Bombe 能应对新机型。
影响与遗产
军事影响
- 使盟军能够阅读德军最高统帅部一类的高层通信
- 为大西洋之战提供关键情报
- 有助于依据德军部署规划诺曼底登陆(D-Day)
- 据估计使战争缩短约 2–4 年
- 挽救大量军民生命
技术遗产
- 开创了自动化计算求解特定问题的路径
- 展示专用计算装置的潜力
- 推动现代计算机发展
- 影响 Alan Turing 关于通用计算的研究
- 奠定算法化密码分析的基本思想
保密: Bombe 的存在与 Enigma 被破译长期保密,直至 1970 年代才公开,破译者多年无法获得公众赞誉,但其贡献难以估量。
CyberChef 配方思路
以下是与 Bombe 操作搭配的配方示例:
- 报文预处理:Remove whitespace → To Upper case → Bombe(整理截获电文)
- 多 crib 并行:Fork → 不同 crib 的 Bombe(并行测试多种 crib 假设)
- 结果核验:Bombe → Enigma(验证候选设置能否正确解密)
- 历史场景复现:From Hex → Bombe → Enigma(模拟史料中的破译流程)
在 CyberChef 中使用 Bombe 的提示
- 优先使用较长、较可靠的 crib(例如 8 个字母以上)
- 去除非 Enigma 字母表字符(仅保留 A–Z)
- 若无已知 crib,可尝试常见德军军语
- 搜索可能较久,请耐心等待
- 轻信结果前务必用 Enigma 操作复核
- 若无结果,尝试将 crib 在报文中平移不同起始位置
- 报务员加密失误也会导致「对不上」,需纳入考虑
- 可参考史料中的当日密钥表以设置更贴近历史的参数
教学价值
在 CyberChef 中使用 Bombe 有助于理解:
- 历史密码分析: 体会二战破译者的工作方式
- 算法设计: 理解自动化如何攻克复杂搜索问题
- 安全弱点: 认识「看似安全」的体系仍可能被利用
- 计算思维: 体会问题分解与搜索策略
- 计算史: 现代计算机出现之前,计算思想已以专用机器形式存在
与现代密码分析的联系: Bombe 的核心——利用算法弱点并通过自动化搜索放大优势——至今仍是密码分析的基础。当代攻击同样依赖已知明文/相关明文与大规模自动验证,只是算力已不可同日而语。
← 返回操作指南