布萊切利園

其實英國早在1943年年底就已經成功製作出了一台含有真空管的電子計算機。不過這在當時是一個鮮為人知的秘密項目,而且它在30年之後才被公之於世。這個項目是在布萊切利鎮(距離倫敦西北45英里)的一座維多利亞式紅磚莊園中進行的。英國政府當時召集了一批天才和工程師,讓他們在這個與外界隔絕的地方進行德軍密碼的破解工作。這台被稱為「巨人」(Colossus)的計算機是世界上第一台全電子化和部分可編程的計算機。由於它是針對一項專門的任務而建造的,所以它不是一台通用型或者「圖靈完備」的計算機,不過它身上確實體現了艾倫·圖靈的烙印。

圖靈在1936年秋天開始將研究重點轉向密碼和密碼學,他當時已經來到了普林斯頓大學,而且剛剛完成了《論可計算數》的寫作。他在當年10月寫給母親的一封信中表達了自己的興趣:

對於我目前正在研究的內容,我剛剛發現了一項潛在的應用。它能夠回答「最通用的一種密碼是什麼」這個問題,同時我可以(相當自然地)利用它創建大量獨特和有趣的密碼。其中一種密碼在沒有密鑰的前提下幾乎不可能被破譯,而且它可以實現快速編碼。我認為我可以把它們出售給英國政府,換取大筆資金,不過我很懷疑這樣做是否符合道德。您是怎麼看的?73

在接下來的一年中,圖靈越來越擔心英國與德國開戰的可能性,所以他變得更加專注於對密碼學的研究,也不太關心是否要利用這項技術來賺錢了。1937年年底,他在普林斯頓大學物理系大樓的機械車間製作了一台初步完成的編碼機,它可以將文字轉換成二進制數字,然後利用機電繼電器開關將得出的加密信息乘以一個龐大的秘密數字,生成一段幾乎不可能被破解的密碼。

圖靈在普林斯頓大學期間的其中一位導師是約翰·馮·諾依曼,這是一位來自匈牙利的偉大物理學家和數學家,他當時所在的高等研究院位於大學數學系的大樓之中。1938年春,圖靈即將完成自己的博士論文,這時馮·諾依曼打算聘用他為自己的助理。雖然這個職位對於圖靈來說很有吸引力,但當時的歐洲正處於戰爭的威脅之下,所以他覺得繼續留在美國似乎是一個不夠愛國的決定。於是圖靈決定回國繼續擔任劍橋大學的研究員,隨後加入了英國對德軍密碼的破譯工作。

當時的英國政府密碼學校是一個位於倫敦的情報部門,這裡的工作人員主要是一些文學方面的學者,例如來自劍橋大學的古典學教授迪爾溫·諾克斯,以及愛好藝術的社會名流奧利弗·斯特雷奇,他的業餘愛好是彈鋼琴,偶爾還會寫一些關於印度的文章。圖靈在1938年秋天進入政府密碼學校工作,在此之前,這裡的80位職員當中沒有一個是數學家。不過隨著英國備戰工作的展開,這個部門在次年夏天開始積極招募數學家,有一次它甚至利用《每日電訊報》的填字遊戲欄目作為招聘工具。在招聘工作完成之後,政府密碼學校搬遷到了寧靜的紅磚小鎮布萊切利,這個地方的主要優勢是位於牛津大學——劍橋大學和倫敦——伯明翰這兩條鐵路的交匯處。布萊切利園是一座維多利亞哥特式風格的大型莊園,正當它的所有者準備把它拆除的時候,一支來自英國情報部門的隊伍以「雷德利上校的狩獵聚會」(Captain Ridley』s Shooting Party)的名義低調地買下了這座莊園。政府密碼學校的密碼破譯員們就在莊園裡的農舍、畜棚和後來建成的活動小屋中工作。74

圖靈當時被分配到了布萊切利園的「8號小屋」進行工作,專門負責破譯德軍的恩尼格瑪密碼機(Enigma)生成的密碼,恩尼格瑪機是一台利用機械轉子和電路生成密碼的便攜設備。在加密軍事消息的時候,它在每次鍵入之後都會改變密文字母的生成方式。使用這種方式生成的密碼是非常難破解的,英國軍方曾經甚至認為他們永遠都無法做到這點。波蘭的情報人員找到了破解這種密碼的一個突破口,他們根據一個德軍編碼員俘虜提供的信息製作了一台機器,它可以破解恩尼格瑪機的部分密碼。然而,當波蘭人向英國展示這台破譯機的時候,它已經失效了,因為德國人又為恩尼格瑪機增加了兩個轉子和兩個接線板接口。

圖靈和他的團隊開始研製一種更為高級的破譯機,這種被稱為「炸彈機」(the bombe)的機器可以破譯經過升級的恩尼格碼機加密信息——特別是用於破解德國海軍對U型潛艇的部署命令,避免英國的補給船隊再次遭到德軍潛艇的大肆攻擊。炸彈機在破譯密碼的時候利用了恩尼格瑪機在加密過程中出現的一些漏洞,例如經過加密轉換的字母肯定會跟原文的字母不一樣,還有德軍會反覆使用某些特定的語句。圖靈的團隊在1940年8月建造了兩台可以正常運行的炸彈機,它們總共破解了178條加密信息。到了「二戰」快要結束的時候,他們已經建造了接近200台炸彈機。

圖靈設計的炸彈機並非計算機技術的一項顯著進步。它只是一種由繼電器開關和機械轉子組成的機電裝置,沒有採用任何的真空管和電路。但是在布萊切利園誕生的下一台機器——「巨人」計算機卻是一個重要的里程碑。

英國對巨人計算機的需求來源於德國開始對重要的信息進行加密,例如來自希特勒和他的最高統帥部的命令,這些加密信息是通過一種電子數字設備生成的。由於這種設備在加密信息的時候採用了二進制系統和12個大小不一的編碼輪,所以由圖靈設計的機電炸彈機也對此無能為力。這種高難度的密碼需要使用高速的電子電路才有可能破解。

負責巨人項目的團隊被分配到了「11號小屋」進行工作,因為這個項目的主管是劍橋大學的數學教授麥克斯·紐曼,所以他的團隊也被稱為「紐曼軍」。紐曼正是在大約10年前向圖靈介紹希爾伯特問題的導師。這個項目的總工程師是電子學天才湯米·弗勞爾斯,這位真空管先驅當時正在位於倫敦郊區多利斯山的郵政研究站工作。

雖然圖靈不屬於紐曼的團隊,但他確實向他們提出了一種叫作「圖靈法」的統計方法,這種方法可以對在一連串密文當中均勻分佈的文字進行篩選,並從中找出任何可疑的地方。紐曼軍根據圖靈提供的方法做出了一台機器,它可以使用光電傳感器掃瞄兩組打孔紙帶,然後比對這兩組信息中所有可能出現置換的地方。這台機器被命名為「希思·羅賓遜」(Heath Robinson),這是一位英國漫畫家的名字,他和美國的魯布·戈德伯格一樣都擅長於繪製極端複雜的機械裝置。

弗勞爾斯對於使用真空管(他和其他英國人將其稱為「閥門」——valve)製作的電子電路的研究已有接近10年的時間。1934年,時任英國郵政局電話部門工程師的弗勞爾斯製作了一個含有超過3 000個真空管的實驗系統,用於控制1 000條電話線之間的連接。他同時也是率先將真空管應用於數據儲存的人。圖靈曾經邀請弗勞爾斯到布萊切利園協助炸彈機的研發,後來還向紐曼推薦了他。

弗勞爾斯意識到僅僅依靠對比分析兩組打孔紙帶是無法快速破解德軍的加密信息的,唯一可行的方法是將至少一組加密信息流儲存在機器內部的電子存儲器當中,這項功能將需要使用1 500個真空管才能實現。布萊切利園的主管們起初對這個方案的可行性表示懷疑,但是弗勞爾斯一直在全力推進這個項目。僅僅經過了11個月之後,他在1943年12月製成了第一台巨人計算機。1944年6月1日,一台含有2 400個真空管的改進版巨人計算機也開始投入使用。它成功解密的首批情報對當時正蓄勢待發的諾曼底登陸發揮了重大的作用,德懷特·艾森豪威爾上將根據巨人計算機和其他來源的信息瞭解到希特勒沒有在諾曼底部署更多的兵力,從而堅定了發動諾曼底登陸的決心。另外8台巨人計算機在接下來的一年之內陸續製成。

這就意味著遠在ENIAC之前(它直到1945年11月才完全投入運作),英國的密碼破譯員就已經製作出了一台完全電子化和數字化(真正採用二進制)的計算機。在1944年6月製成的改進版巨人計算機甚至可以實現部分的條件分支功能。但是跟含有10倍真空管數量的ENIAC不一樣的是,巨人計算機只是一種專門用於破譯密碼的機器,而不是通用型的計算機。由於它的可編程性有限,所以它也不能像ENIAC那樣(在理論上)可以根據指令執行所有類型的計算任務。

《創新者:一群技術狂人和鬼才程序員如何改變世界》