跨語言系統的密碼破解原理是怎麼樣的?
在電影《模擬遊戲》(The Imitation Game)中,Alan Turing提到了他不會德語,但是Enigma所處理的明文是德語,然而當Alan使用他的機器進行破譯的時候,輸出的卻是英語。這種破譯方法為什麼不會因為兩種語言的不同而無法實現?
Alan Turing提出方向,造出的Bome機器解出的明文是德語字母,然後再人工翻譯成英文。
這裡容易有個誤解,那就是解得出明文必然表示解密者可以讀懂明文,而實際不是這樣的。
比如這是個加密了的德語句子
Dp Wdj qdfk ghp whuurulvwlvfkhq Dqvfkodj lq Sdulv vlqg glh Ghxwvfkhq lq ghu Iudjh jhvsdowhq, re vlh Dqjvw yru hlqhp whuurulvwlvfkhq Dqvfkodj kdehq: 49 Surchqw ixhufkwhq, gdvv hv dxfk lq Ghxwvfkodqg lq qdhfkvwhu Chlw hlqhq Dqvfkodj jhehq zlug. Hehqidoov 49 pdfkhq vlfk glhvehcxhjolfk nhlqh Vrujhq
而一旦我告訴別人,這個加密方法是凱撒密碼,也就是移位密碼。那麼他只需要按照德語字母出現的概率分析就可以算出我的明文,即使他不懂這句話。這個例子里,解密的關鍵就是:
1. 已知明文的語言形式(比如確定的某種外語)
2. 已知明文的組成單位(比如字母)的某種概率分布,且密文沒有破壞這種概率分布。
3. 已知加密的方式 (凱撒密碼大家都知道是怎麼回事)
參考這個概率分布表,來自http://www.cryptogram.org/cdb/words/frequency.html
a - 1831 (17.459712024411175%)
n - 1175 (11.204348240678935%)e - 1112 (10.603604462668064%)
u - 935 (8.915800514923239%)t - 529 (5.044340612186517%)i - 491 (4.681987222275199%)g - 478 (4.558024220463431%)k - 456 (4.348240678935825%)
h - 445 (4.243348908172022%)o - 429 (4.09077905978831%)m - 384 (3.661676361209116%)r - 347 (3.3088585868217794%)
s - 306 (2.9178983503385143%)p - 303 (2.889291503766568%)b - 296 (2.8225421950986935%)d - 291 (2.774864117478783%)l - 241 (2.2980833412796797%)y - 192 (1.830838180604558%)j - 121 (1.153809478401831%)w - 67 (0.638886240106799%)c - 44 (0.4195670830552112%)f - 8 (0.07628492419185657%)? - 6 (0.057213693143892436%)
原文是:
Am Tag nach dem terroristischen Anschlag in Paris sind die Deutschen in der Frage gespalten, ob sie Angst vor einem terroristischen Anschlag haben: 49 Prozent fuerchten, dass es auch in Deutschland in naechster Zeit einen Anschlag geben wird. Ebenfalls 49 machen sich diesbezueglich keine Sorgen. (其中我把一些特殊的德語字母做了改寫 ü=ae,?=oe,?=ae)
第三點,即加密方式已知,對於enigma機相對而言比較困難,首先得想辦法從已知明文-密文對里盡量用逆向工程的方式把這個機器還原出來。在這個還原過程中,波蘭人有著重大的貢獻。圖靈是在此基礎上,設計出了高效計算德軍當天所用密鑰的演算法以及演算法的機器實現。
如果Turing在那個時候就能直接從德語加密形成的密文里解密出英文,那不止是破解了一個加密演算法,而且還解決了現在都沒有優質演算法的「機器翻譯」問題。
推薦閱讀:
※數學裡有沒有不能被範疇化的概念?
※數學裡有哪些精彩的偽證?
※為什麼線性空間要定義在域上?
※有哪些數學家文筆很好?
※如何向本科生介紹辛幾何是什麼?