45
Enigma是以字母為單位進行加密,一個明文字母,必然對應一個密文字母,這是一個流水式連續加密的過程。艾倫·圖靈想到,拋開機器的加入提高了效率之外,整個過程其實包含了數步到數十步的工作,不管最後的結果有多複雜,每一步不就像論文中提到了能夠高效完成單一任務的“虛擬機器”嗎?既然如此,倘若能製造出“萬能虛擬機器”,對Enigma的工作進行模仿,將所有的可能性跑一遍,其中必定有正確的結果。
艾倫眼睛一亮,心中默算了一遍:Enigma最常使用3個轉輪,有60種排列變化,理論上需要把17576種可能性跑上60次。假設機器“跑”一步需要半秒,“跑”完一種特定排列需要146.5分鍾,“跑”完60種可能需要146個小時。
說幹就幹,一到布萊切利莊園,艾倫就向斯圖亞特說了自己的想法。這想法新穎而別致,為令人焦頭爛額的破解Enigma密碼任務尋找到了一條光明大道。146小時,與之前預計的兩千萬年,有天壤之別。而且,長期的情報分析經驗告訴斯圖爾特:運氣一般不會那麽差,“跑”最後一種排列組合才是正確的。因為有大量樣本,還有氣象短電報這種捷徑,破譯密匙的平均時間,應該會減少一半,大約73個小時,也就是3天左右,而這已經是可以接受的範圍了。
參考波蘭人送來的Bomba的設計圖紙,艾倫·圖靈和八號棚屋的同伴們一起設計了“破解單元”。Bomba雖然敗於升級版的Enigma,但它“機械化計算”的思路卻是正確的。同Bomba類似,“破解單元”也可以看成是逆向運轉的Enigma。但艾倫他們做了很大的改進,把每一個破解單元進行橫向並聯。這樣,它們工作時不會彼此幹擾,一旦某個單元計算中正確的結果,所有的單元都會停下來。這樣的破解單元一共並聯了36個,可以同時模仿36台Enigma,這樣“跑”完60種排列組合,隻需要4個小時多一點點。