Quantcast
Channel: 科學月刊 – PanSci 泛科學
Viewing all articles
Browse latest Browse all 153

解密恩尼格碼密碼機——《科學月刊》

$
0
0

李中志/美國伊利諾州立大學電腦科學教授

1

艾倫‧涂靈。 Source: Wikipedia

艾倫‧ 涂靈(Alan Turing, 1912~1954)這位二十世紀最重要的科學家之一,電影《模仿遊戲》在國內上映後引發國人的興趣,對於不少偏離史實的電影情節也多有指正。相對於之前國人對這位近代科學史上的巨擘近乎無知,這是值得鼓舞的現象。可惜涂靈的貢獻是建立在相當枯燥且抽象的計算理論上,缺乏自然主義可直觀描述的實體,不像宇宙、黑洞、時間等,這些科普最愛的主題,經過適當的引導,就算是無背景知識的大眾,也能對近代物理做出正確的想像。但涂靈的計算理論是純符號的產物,很難窺其堂奧,即便是電腦科系的師生,不少人也是懵懵懂懂,不容易以三言兩語解釋涂靈對現代計算理論革命性的衝擊,只能人云亦云地推崇他為「電腦之父」。涂靈得此頭銜固然當之無愧,但何以致此?伴隨《模仿遊戲》出現的許多影評顯然力有未逮。

電影《模仿遊戲》以涂靈破解德軍密碼機為主軸,全劇不斷穿插涂靈在科學與哲學上更重要的兩個貢獻,「電腦的發明」與「人工智慧」。基於娛樂效果,電影裡營造的氣氛有些言過其實,有些則是涂靈不可取代的貢獻,但礙於過度專業無法深入,只能點到為止,顯然是銀幕上無法處理的科學史大問題,而這正是科普作者看完電影後必須承接的任務。

當代最成功的密碼機

3

恩尼格碼密碼機。 Source: William Warby(flickr)

先從電影的主軸,破解德國的恩尼格碼(Enigma)密碼機談起。第一台恩尼格碼造於第一次大戰末期,由德國工程師謝爾比烏斯(Aruth Scherbius)設計,之後與里特(Richard Ritter)合作共同取得專利,成立公司量產,估計先後有近十萬台的恩尼格碼被製造出來。恩尼格碼問世後立刻成為當代最成功的密碼機,縱橫二十餘年,之間被逐漸改良。恩尼格碼原本大量用於加密商業電文,德軍加強其複雜度後於1928 年全面用於軍事通訊,直到希特勒第三帝國瓦解為止。

2

謝爾比烏斯的恩尼格碼密碼機設計手稿。 Source: Wikipedia

日本結盟為軸心國後自德國引進恩尼格碼,改良為「九七式印字機」,負責加密與德國之間的外交電文。美軍的解密員稱之為「紫」機(Purple),有別於「紅」、「藍」加密機。紅藍兩機由日本軍部自行研發,也曾讓美軍傷透腦筋,但後來亦遭盟軍破解。與歐洲戰場一樣,密碼戰也是太平洋戰爭中極精彩且關鍵的一章。日本海軍元帥山本五十六化身孔雀東南飛,親上戰機視察前線,被美軍成功狙擊,便是日本軍部最高軍事機密的電文被譯破的慘痛代價。

不可否認,恩尼格碼的確是精巧的產品,展現德國人在二戰前精密工業的技術已達顛峰的境界,但放在科技史上,恩尼格碼實在稱不上是革命性的密碼機。它的數學模式相當簡單,算是傳統機械式加碼機的末代產物,完全沒用到數論、代數理論、複雜度理論等,這些近代加碼技術的基本理論。不管它的設計多精巧複雜,每個字母的變化看似撩亂,但每個分開的字母都是一個獨立的置換加密,在竊聽者擁有大量密文的情況下,用傳統密碼分析就可以直接破解。

恩尼格碼機的破解

德國人當然知道恩尼格碼的破綻,於是以一連串的標準流程來設定機器的初始狀態,試圖避開漏洞,雖有初步的成功,但最後仍遭破解。有趣的是,它的致命傷之一正是這一連串的標準流程。此外,恩尼格碼加密與解密呈對稱狀態,即加密與解密的運算與設定相同,加上其他已知的條件,導致了有效破解的捷徑。但這破解恩尼格碼的方法不是涂靈發現的,而是波蘭的密碼局在二戰前即擁有的祕密。波蘭這個民族優秀的科學家與數學家輩出,但國家多苦難,兩次大戰間夾在野心勃勃的東西兩強之間,朝不保夕。東有蘇聯共產國際的進逼,西有德國法西斯的擴張。基於國安需要,1920 年代晚期即成立密碼局,延請專業數學家研究密碼學。其中雷艾夫思基(Marian Rejewski),茲格阿爾思基(Henryk Zygalski),羅茲伊特思基(Jery Ró ycki),是破解恩尼格碼的主要三位數學家,其中又以雷艾夫思基的貢獻為最,這段史實要到1973 年才解密。

波蘭的密碼局在戰前就擁有關於恩尼格碼的完整知識,包括擷取長達十幾年的密文與例行設定機器的情資。雷艾夫思基花數年的時間檢視看似無意義的密文,尋找規則,有如哥白尼與都普勒觀察變化無常的行星運動,最後終於寫下搜尋初始設定的限制方程式,並以擄獲的恩尼格碼加以驗證。1939 年波蘭淪陷,波蘭密碼局驚險地保住了多年的研究成果,逃出淪陷區後交給向德國宣戰的英國,由英國軍情局的布萊切利園(Bletchley Park)團隊接手。同年剛結束在美國普林斯敦大學博士論文寫作的涂靈加入團隊,帶領最後的破解工作。

涂靈在布萊切利園建造的機器取名為Bombe,源自波蘭密碼局的Bamba,有「密碼炸彈」之意。波蘭密碼局的「密碼炸彈」在德軍加強恩尼格碼後已力有未逮,但只是速度上的問題,破解的基本理論未變。另一方面,德國不是不清楚恩尼格碼機的原理已被掌握,但過度自信,認為只要簡單加大初始設定的組合數,世上不可能有足夠的運算能力,在一定的時間內找到初始設定。這才是德國致命的錯誤假設,也成就了涂靈的重大貢獻。

4

戰期使用的Bombe。Source: National Security Agency

5

Bombe 上標有英文字母,在工作時這些圓柱體會旋轉。圖中Bombe 為布萊切利園內的仿製品。Source: Andy Armstrong(flickr)

涂靈重要貢獻

雖然涂靈並不是破解恩尼格碼機的原創者,但他的Bombe則與波蘭密碼局Bamba 的計算原理完全不同。涂靈引進大量的電子零件與更有效的演算法,讓Bombe 以當代無法想像的速度運轉,光是這點,譽涂靈為當代最頂尖的工程師已當之無愧。涂靈更利用統計原理,大量移除不必要的搜尋空間,至今仍是破解密碼的重要技巧。但涂靈也不是隻手達成任務,除了波蘭密碼局累積的知識,還靠布萊切利園同事的共同智慧,對Bombe 不斷改良,如威契曼(Gordon Welchman)的對角線板(diagonal board)便是加速Bombe 的重要改進。到戰爭後期Bombe 能在20 分鐘內完成計算,讓解密員得以在一兩個小時內確定德軍每天更換的初始設定。至戰爭結束為止,總共有約200台的Bombes 加入工作,也就是說,戰爭後期德軍的行動完全被盟軍掌握,焉能不敗?

值得一提的是,在1941 年底,德軍開始懷疑盟軍有聽取恩尼格碼機密文的能力,於是為恩尼格碼機多加一轉盤,初始值的搜尋空間因此呈指數增加。此舉困擾盟軍解密員多時,失聰達九個月之久,德軍潛艇神出鬼沒,造成1942 年盟軍船艦的重大損失。直到十月底英國海軍在埃及北面的地中海,擊沉編號U–559 著名的U–boat 潛艇。德軍在搶救無望後棄艇,三位英勇的英國水兵卻冒死奮力登上即將沉沒的U–559,企圖搶奪上面的一台新型恩尼格碼機。但機器被釘死固定一時無法取下,於是兩位進入內艙的水兵轉而搶救恩尼格碼機的檔案資料與密碼簿,拼命向外拋出,由第三名水兵在外接應救起文件。這兩名進入內艙的水兵最後來不及逃出,與U–559 同葬海底。這些文件堪稱二戰期間盟軍搶奪到最重要的文件,讓布萊切利園團隊一窺第四轉輪的奧秘,重新取得監聽德軍的耳朵。

二戰破解密碼的這一頁歷史,其實是比任何電影情節還要精彩的諜報戰,絕不是幾個天才關在屋子裡憑空想出來的,它是全面戰爭的動員,依賴大量的情報工作,慘烈的軍事爭奪,戰士與情報人員英勇犧牲性命所換來的。

影響電腦發展

就電腦發展史來看,涂靈在布萊切利園設計的機器,的確累積了許多電子電路的知識,或許對後來的電腦設計提供工程上的經驗,但並無理論上的關係。最主要的差別在Bombe 不是一台全功能的通用計算機器,而只是負責單一用途的機器,由電子線路與機械組合而成。應該比較像巴貝奇(Charles Babbage) 機械計算機的電子版。巴貝奇是早涂靈一百多年的劍橋學長,終生設計了兩台在他有生之年無法完成的複雜計算機,「差分機」與「分析引擎」,他的企圖也被不少人視為計算機的先驅。這些機器精巧複雜,但也和日後的電腦原理無關。

終戰後涂靈致力於設計真正的電腦,命名為Automatic Computing Engine,比同時在美國由馮紐曼(John von Neumann)設計的「馮紐曼機」與稍後的ENIAC(EDVAC的前身)還要先進許多,世界從此進入電腦的新紀元。

資料來源:

  1. David, K., Seizing the Enigma: The Race to Break the German U–Boats Codes, Houghton Mifflin (T), 1991.
  2. Robert, C., Codes and Ciphers, Julius Caesar, the Enigma, and the Internet. Cambridge University Press, 2002.
  3. Alenander, S., Introduction to Cryptography with Mathematical Foundations and Computer Implementations, A Chapman & Hall Book, 2011.

2016-01-cover〈本文選自《科學月刊》2016年1月號〉

延伸閱讀:
由淡入濃—如是我觀涂靈形象
數位影像密碼學

 

什麼?!你還不知道《科學月刊》,我們47歲囉!
入不惑之年還是可以
當個科青

The post 解密恩尼格碼密碼機——《科學月刊》 appeared first on PanSci 泛科學.


Viewing all articles
Browse latest Browse all 153

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>