45

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個小時多一點點。

1939年12月份,布萊切利莊園籌集了10萬英鎊——這可不是一個小數目——委托不列顛製表機公司,專門製造艾倫·圖靈設計的機器。密碼專家兼工程師哈羅德·“博士”·肯恩作為項目負責人,帶領一個工作小組常駐不列顛製表機公司,與工人一起,研究製造新機器遇到的一切問題。

1940年3月18日,一個值得紀念的日子,不列顛製表機公司成功製造出世界上第一台用於破解Enigma的機器。從圖紙到成品,花了四個多月的時間。這台機器寬2.1米,厚0.6米,高2米,與小巧精致的Enigma相比,簡直是一個龐然大物。有一個很具體的數據可以說明:它的體積是世界上第一台Enigma的25倍。

這台機器被命名為“Bombe”,是根據波蘭語Bomba翻譯成的英文。翻譯成“炸彈”,用“炸彈”去破解巨大的“謎”,確實是恰如其分的命名;如果翻譯成“冰淇淋球”,艾倫也能從中體會到馬裏安·雷耶夫斯基的幽默與天真。

需要說明的問題還有兩個。

其一,Bombe與艾倫的論文有什麽關係呢?

1936年,24歲的艾倫·圖靈發表了他一生中最為重要的論文——《論可計算數及其在判定問題上的應用》。這篇裏程碑似的論文直接奠定了艾倫在數學界的曆史地位。在這篇論文中,艾倫指出,存在許多——可能是無限多——可以進行特定計算的“虛擬機器”,這些機器的功能非常單一,比如隻能做加法,或者隻能做減法。然後,艾倫明確指出,理論上存在著一種“萬能虛擬機器”,可以通過不斷改造它的內部結構,模擬任意一台功能單一的虛擬機器,從而完成任意複雜的工作。這篇論文最厲害之處在於,它從純邏輯角度的角度出發,認定萬事萬物不管多麽複雜,都可以細分為最簡單的計算,認為能夠造出根據不同的需求改變配置,勝任一切信息運算的“萬能虛擬機器”,認定存在一種可以隨心所欲變化,可以隨時變成使用者最需要的那一種工具的“元機器”。

Bombe可以看作是上述想法的實體化。破解單元每一次隻能執行一項任務,跑一種排列,可以看成是論文中提到的“虛擬機器”。把36組破解單元並聯成的Bombe,可以看作是簡化版的“萬能虛擬機器”。艾倫·圖靈把自己純粹的數學邏輯推理出來的結論,以Bombe的形式變成現實。

這篇論文——《論可計算數及其在判定問題上的應用》——為後來的電腦等人工智能提供了極其重要的理論依據。如果你知道當時連晶體管都沒有,更不要說集成電路了,你就知道圖靈的思想有多超前了。

其二,Bombe或者工作人員是怎麽知道計算結果是正確的?

艾倫·圖靈進駐布萊切利莊園的時候,監聽組截獲的德軍電報已經堆積如山。但這些德軍電報全部是由毫無意義的字母組合而成,沒有相應的密匙,就不可能將這些字母還原為可以理解的內容。麵對海量然而神秘的德軍電報,英國情報分析人員一籌莫展,然而他們還是做了大量的工作。其中一個叫瑪格麗特·羅克發現了一個規律:每天早晨6點05分,都能截獲長度大致相等的內容也不算多的電報。什麽樣的電報需要每天準點發布呢?瑪格麗特推測,正確的答案隻有一個:天氣預報。此時德軍是在歐洲和亞洲的廣闊地域作戰,後來還要加上非洲和大西洋,不管在哪裏,前線將士都需要知道當天及今後的天氣情況。而天氣預報的內容就相對簡單,除去時間和地點,就涉及陰、晴、雲量、溫度、風力、風向等指標。通過分析大量的天氣預報,完全可以逆推出德國人是如何加密的。瑪格麗特的發現,為破譯德軍的Enigma找到了一條捷徑。

Bombe通過對大量氣象短電報進行分析,得出了可以理解的明文,也就找到了當時的密匙。氣象短電報,還有其他的事項,比如德國國防軍的縮寫,希特勒的名字,某些德軍發報員長期的發報習慣,成為辨別Bombe是否計算出密匙的重要標準。

“Bombe”隻是起步,而且它本身並不完美。在實際運轉中,它的效率並不如想象中那樣高效,不但反複出錯,機器零件還經常損壞。

數學家戈登·威爾斯曼對Bombe的算法提出了修改意見,用新增“對角線板”辦法,消除了錯誤連接,同時又不會漏算任何一個結果,大大提高了“Bombe”的效率。1940年8月8日,新型Bombe問世,被命名為“Agnes”。這款“Bombe”,解決3個轉輪的Enigma,隻需要15分鍾就能解決問題,實在是驚人。換而言之,德軍剛剛更換密匙,借助改進型Bombe的強大模仿能力,15分鍾後布萊切利莊園的主管就能知道那密匙的詳細內容,那麽當天德軍的所有加密電報對盟軍都不再是秘密。橫亙在軸心國與同盟國之間的長牆被艾倫的Bombe炸毀了,戰場呈現出對同盟國單方麵透明的態勢,在Enigma被破解的那一刻,第二次世界大戰的結局已經決定了。

此後,根據實際情況,更多改進型號的Bombe陸續誕生,以應對更加複雜的解碼任務,因為Enigma也在不斷升級。這簡直就像是一場無窮無盡的升級大戰啊。1941年底,Bombe有16台在忙碌,到1945年3月,有211台Bombe在夜以繼日地工作。

關於成功破解Enigma之後的戰例,有許多飄渺而無法考證的江湖傳聞。因為情報工作的特殊性,像敵方密碼已經被破解了這樣的大事件,不但不能大肆宣揚,反而要全力掩蓋,以保證敵方繼續肆無忌憚地使用已經被破解的密匙,從而繼續把情報源源不斷地“送”到布萊切利莊園來。1941年3月28日,在地中海的馬達潘角,英國海軍艦隊伏擊了意大利海軍艦隊,擊沉一艘重巡洋艦和兩艘驅逐艦,重傷旗艦,意大利海軍分艦隊司令以下3014人陣亡,而英軍僅一艘巡洋艦受傷,兩架艦載機被擊落。像這種交戰雙方實力旗鼓相當,結果卻令人大跌眼鏡的戰例,背後就是密碼被破解的事實。但對外宣傳,卻隻能說“英國的雷達先進”,“戰術訓練到位”,甚至“上帝站在英國這一邊”。

當時的英國首相丘吉爾曾經這樣形容布萊切利莊園的密碼破譯團隊:“一群從不呱呱叫,但是會下金蛋的鵝。”