電影訊息
模仿遊戲--The Imitation Game

模仿游戏/模拟游戏/解码游戏

8 / 825,637人    114分鐘

導演: 摩頓帝敦
編劇: 格雷厄姆摩爾
演員: 班奈狄克康柏拜區 綺拉奈特莉 馬修古迪 馬克史壯
電影評論更多影評

螞蟻吃大象

2015-05-16 20:14:49

密碼破解之我見(其實我只是搬運工)


課堂上《模仿遊戲》的預告片很吸引我,於是決定觀看這部影視劇,但畢竟不是歷史紀錄片,沒有講述詳細的破解過程和破解原理,而且從戲劇性上分析,編劇對歷史的修改之處還是相當多的。暫且拋開影片中艾倫·圖靈故事的真實性,僅僅從密碼破解的角度考慮,我們應該積累以下這些資訊作為專業方向學習的拓展知識。
二戰期間,德軍使用的無線電加密機器之一叫做「ENIGMA」,它的工作原理大體上就是升級版的「簡單替換密碼」。它最初是通過3個轉子、1個反射器、26孔連線板實現,鍵盤按下一個字母(即明文)後,顯示器中加密後的字母(即密文)會亮起。3個不同的轉子有6種排列方式,每個轉子有26個字母即26個方向。由於反射器的存在,輸入明文顯示出密文,輸入密文顯示出明文,這就實現了加密和解密過程。當時的機器允許在連線板上插線互換6對字母的鍵入,26個字母兩兩互換的可能性為=100391791500種。這一加密過程所使用的密鑰是3個轉子的排列順序、初始方向,連接板的6對互換字母,通信雙方事先商議好此密鑰,就可以正常通訊了。計算一下密鑰的可能性:(((26*26*26)*6)*)=1.058691676*1016種。
而影片中所展示的「ENIGMA」是德軍後期改進的機器,它有5個轉軸、10條插線,波蘭方面無法破解出改進後的密碼,英國方面組織科學家們研究此物,他們計算出會有159後面再加18個零種可能性。這體現了密碼設計時最首要的一個任務,防止窮舉攻擊,在當時密碼破譯還是主要由人工筆算,正如圖靈在影片中所說:「如果我們有十個人來檢驗一種設定,每天二十四小時,每週七天不停,試完每種組合,需要兩千萬年。」這樣的複雜度從一個角度上保證了「ENIGMA」的安全性。另一個破譯的困難性還在於,德軍每天會定時更換密鑰,這也就限制了每天破解的時間,尤其是限制了試驗一種設定的時間,使得破譯工作更加緊迫,這種安全防護非常類似於現在所提倡的一次一密的即時密鑰,使得這種加密更加安全。
為了提升運算的效率,影片中圖靈使用了大量的資金製造出了一台破解機器,並取名為「Christopher」實際歷史上並沒有這個名字,它沿用了波蘭人的「Bombes」,這幾乎就是早期的超級電腦。據說,Bombe系列破譯機器由不列顛製表機公司(BTW)製造,而該機傳入美國後,另一家更著名的製表機和穿孔卡片機公司也開始生產Bombe,這就是當時還沒有成為藍色巨人的IBM。而它的設計看起來很複雜,由於後邱吉爾下令將所有「圖靈甜點」解碼機全部銷毀。原裝的解碼器全部被拆卸,也沒有設計草稿留存下來。現在我們所見的則是由志願者複製的,所以對原型機的詳細介紹很少。
在影片中,由於密碼的複雜度,和每天有效工作時限,這台大型機器持續工作了很久都沒有任何成績,這裡值得一提的是,圖靈他們當時有一部份由情報人員獲取的明文和其對應的密文和即時截獲的密文,也就是說,在圖靈他們的破譯工作中,使用的是已知明文攻擊(Plaintext-known attack)。已知明文攻擊是指密碼分析者除了有截獲的密文外,還有一些已知的「明文—密文對」來破譯密碼。密碼分析者的任務目標是推出用來加密的密鑰或某種算法,這種算法可以對用該密鑰加密的任何新的消息進行解密。
但是,這種攻擊方法並沒有幫助他們獲得正確的密鑰,直到那天從海倫那裡獲得靈感,艾倫·圖靈發現一種取巧的方式進行計算,可以簡化計算的複雜度,就是利用每日固定格式的天氣預報密文中重復出現的單詞(weather,Hitler)和開頭5個字母(cilly對應當日的密文為LHWAQ),即他們選擇了一部份已知明文塊,然後從當天截獲的密文中獲取了其對應的密文塊,破譯局部密文找到密鑰,這就變成了選擇明文攻擊(Chosen-plaintext attack)。說明一下,選擇明文攻擊是指密碼分析者不僅可得到一些「明文—密文對」,還可以選擇被加密的明文,並獲得相應的密文。這時密碼分析者能夠選擇特定的明文數據塊去加密,並比較明文和對應的密文,已分析和發現更多的與密鑰相關的資訊,從而破譯了「ENIGMA」。
當時對於密碼學,還沒有這種系統的攻擊方法總結,而從艾倫·圖靈的破解過程中我們看到,他不免會有些僅僅是「投機取巧」的成份,但是現在看來之所以能「投機取巧」成功,是因為德軍在使用密碼時存在缺點。資料顯示,德軍每日轉子的選取不可以與前一天在同一位置出現同一編號的轉子,連接板所互換的兩個字母不可以是相鄰的,在每封密電的開頭總要將今天所使用的3個轉子的方向重複兩次鍵入。這些使用上的約束恰恰給英方的破譯工作減少了工作量,在規定時間內嘗試的次數成倍的減少。這也提醒我們,儘管密碼設計上表現得「萬無一失」,而使用中也會出現漏洞,給敵手可乘之機。這也體現了現在所強調的,密碼算法的保密強度並不等價於密碼系統整體的安全性。一個密碼系統必須同時完善技術與管理要求,才能保證整個密碼系統的安全。為了防止此類事情發生,需要規範密碼算法以及密碼算法的使用規則。此外,這個算法本來是滿足計算安全性(指使用目前最好的方法攻破它所需要的計算遠遠超出攻擊者的計算資源水平,則可以定義這個密碼體制是安全的)的,但是由於圖靈發明了Bombe使得所需計算時間大大降低,也就使得了「ENIGMA」這個「不可能破解」的一個核心策略被成攻擊破。所以,作為破譯者,窮舉方法不切實際時,一方面需要巧妙的尋找其中的規律,發現密碼的薄弱之處,另一方面還可以不斷改進破譯設備,提高效率,讓自己的破解柳暗花明。------by 王小盟
評論