若把五選三的轉子、環設定、插線板與每封訊息的起始位置都算進去,二戰常見的軍用 Enigma 約有 10²³ 種完整機器狀態。這個數字很適合嚇人,卻不是盟軍真正採用的破解方法。Bombe 不是暴力試完所有組合,而是讓錯誤設定快速自相矛盾。
機器先把自己的限制留下來
Enigma 的電流從鍵盤通過插線板與轉子,抵達反射器後再沿另一條路徑折返,最後點亮燈板。轉子每次按鍵都會步進,同一個字母連按兩次通常會得到不同結果;反射器則讓同一組設定可同時加密與解密,也造成一個重要限制:字母不會被加密成自己。
影片用規律進位建立直覺,但軍用 Enigma I 的中輪實際上會出現 double-stepping,完整步進週期不是單純的 26³。約 10²³ 也不是唯一的「每日密鑰數」:它把訊息起始狀態一併算入;只計金鑰表上的轉子順序、環設定與插線板,會得到不同數字。真正重要的不是哪一個整數最驚人,而是機器結構沒有提供完全自由的映射。
來源:影片畫面擷取自 YouTube/Veritasium(08:10)
英國不是從零開始
Arthur Scherbius 在一戰後把 Enigma 發展成商用機器,德國軍方再加入插線板並擴充轉子。1932 年,Marian Rejewski 在法國情報取得的德方資料協助下,以排列理論重建軍用轉子的接線;Henryk Zygalski、Jerzy Różycki 與波蘭密碼局也持續發展 cyclometer、bomba 與 Zygalski sheets。
1939 年 7 月,波蘭把轉子接線、解密方法、複製機與相關成果交給英法。英國後來面對的是德軍更新程序後重新變難的問題,不是第一次摸到 Enigma。
來源:影片畫面擷取自 YouTube/Veritasium(14:50)
Turing 把猜測改寫成可測試的矛盾
Bletchley Park 會先找可能出現在明文裡的片語,例如固定時間傳送的天氣報告。這種猜測叫 crib。因為 Enigma 不會把字母變成自己,密碼分析人員可先排除明文與密文同字重疊的位置,再把剩餘字母關係接成迴路。
Turing 的方法不是要求機器直接吐出明文,而是先假設一個插線關係,讓電流沿 crib 建立的迴路傳播。若候選設定迫使同一個字母同時接到數個不同字母,這個設定便不可能成立。多個限制一起作用後,原本龐大的搜尋空間能迅速縮成少數需要人工檢查的候選。
Welchman 讓 Bombe 真的來得及
第一部英國 Bombe「Victory」在 1940 年 3 月投入工作,但初版仍會停在太多假候選上。Gordon Welchman 看出插線板的關係具有互易性:R 接 Y 與 Y 接 R 是同一件事。他設計 diagonal board,讓這些對稱限制彼此連動,使矛盾更快擴散。
Turing 建立核心測試,Welchman 讓它實務上足夠快,Harold Keen 與 British Tabulating Machine Company 再把方法做成電機系統。Bombe 找到的是可能的 stop,不是最終答案;crib 專家、操作員與檢查人員仍得確認設定,再處理同一通訊網當天的訊息。
來源:影片畫面擷取自 YouTube/Veritasium(36:00)
破解也發生在機房之外
德國海軍在 1942 年啟用 M4,增加一個不會步進的薄型第四轉子,並擴大前三個轉子的候選組,讓英方一度讀不到代號 Shark 的 U-boat 通訊。恢復破解除了更新 Bombe 方法,也仰賴奪取金鑰文件、尋找可預測明文,甚至刻意在特定海域布雷,逼德軍發出內容較容易推測的清雷訊息。
破解 Enigma 依賴波蘭與法國情報、英國密碼分析、工程製造、海軍行動及大量日常操作;把故事只留給 Turing,不只漏掉其他人,也會誤解 Bombe 真正解決的是什麼問題。它沒有正面算穿全部組合,而是把機器限制、人為習慣與可猜測的語言,一層層改寫成能由電路排除的矛盾。
Turing 的戰後人生也不只剩迫害
Turing 戰後參與英國早期電腦研發與程式設計,1951 年當選皇家學會院士,並研究機器智慧與形態生成。1952 年,他因當時將同性性行為定罪的法律遭判刑並接受荷爾蒙處置,安全許可也被撤銷;1954 年去世,2013 年獲死後皇家赦免。迫害不能從故事裡刪掉,但也不該吞沒他在戰後繼續完成的科學工作。
來源:影片畫面擷取自 YouTube/Veritasium(44:50)
The Insane Real Engineering of the Nazi Enigma Machine / Veritasium · 在 YouTube 觀看 ↗