第 3 章 阿蘭·圖靈與「炸彈機(Bombe)」:二戰密碼戰中的解密演算法絕殺#
本章導言#
二戰是人類第一場「演算法戰爭」:密碼與破譯的軍備競賽由數學家執行。本章三節:3.1 Enigma 的排列組合;3.2 炸彈機;3.3 布萊切利園的戰果與保密史。
3.1 德軍 Enigma 密碼機的恐怖排列組合:每天數百億種組合、讓盟軍情報部門束手無策的加密堡壘#
3.1.1 Enigma 的機械原理#
Enigma(謝爾比烏斯 1918 年專利,1930s 德軍全面列裝)由轉子(3 只,可換位)、接線板(plugboard,10 對)、反射器構成:
- 每按一鍵,轉子步進改變電路路徑——同一字母重複加密結果不同(多表代替密碼的機械化);
- 排列組合量級:三轉子選位 \(60\) 種、初始位置 \(17{,}576\) 種、接線板約 \(1.5\times 10^{14}\) 種,總體積約 \(10^{20}\) 量級(每日設定下仍達 \(1.59\times 10^{20}\) 的組合空間,教科書常引「約 158 億億」);
- 弱點:反射器使字母永不自映射、轉子步進的週期性、以及操作規程(每日密鑰、消息鑰)——機器無懈可擊,協議有縫。
3.1.2 波蘭人的先手(1932–39)#
波蘭密碼局(Biuro Szyfrów)的 Rejewski、Różycki、Zygalski 三位數學家早在 1932 年利用法國情報提供的德國密鑰表格,數學化重建 Enigma 內部接線,造出「炸彈(bomba)」與 Zygalski 打孔片自動搜尋鑰匙。1939 年 7 月 25 日波蘭在 Pyry 森林會議把全部成果移交英法——這是破譯戰的真正起點,也說明:演算法戰爭的主角是數學,不是運氣。
3.1.3 日常作戰的密碼學邏輯#
德國的加密協議存在可預測性:每日密鑰+天氣報告(位置固定「WETTER」)、長官方慣用語(Heil Hitler 結尾)、操作員偷懶(使用女友姓名等弱鑰)——現代密碼學稱為「已知明文攻擊」的供給源。Bombe 的全部聰明,正是把這些「縫」數學化為可搜索的約束條件。
3.1.4 前因後果#
- 前因:無線電時代的軍事通信+機械化密碼機+德軍對自身體系的自信。
- 事件:1932 波蘭破譯、1939 移交。
- 後果:英國布萊切利園在波蘭地基上建立起規模化破譯(3.2),密碼學自此從語言學技藝變成數學—工程學科。
下一節:3.2 炸彈機