恩尼格瑪密碼機,破譯它讓盟軍在西歐的勝利至少提前兩年

由卷福主演的電影《模仿遊戲》講述了英國數學家、邏輯學家、密碼分析學家和計算機科學家艾倫·圖靈在二戰中幫助盟軍破譯納粹德國的軍事密碼的真實故事。影片中所破譯的就是本文的主角,二戰時期納粹德國使用的恩尼格瑪密碼機。普遍認為盟軍在西歐的勝利能夠提前兩年,完全是因為恩尼格瑪密碼機被成功破譯的緣故。



恩尼格瑪密碼機,破譯它讓盟軍在西歐的勝利至少提前兩年


電影《模仿遊戲》劇照


直到第一次世界大戰結束為止,所有密碼都是使用手工來編碼的——說得更通俗一點,就是鉛筆加紙的方式。在我國, 直到20 世紀80 年代初,郵電局電報編碼和譯碼工作中還在使用這種手工方法。

手工編碼的方式給使用密碼的一方帶來很多不便。首先,這使得發送信息的效率極其低下。對於民用電報編碼來說,因為無須考慮保密問題,可以使用固定的編碼方式,即是摩爾電碼,因此編碼和解碼的速度只取決於發報員的熟練程度;但如果使用密碼通訊的話,那麼明文(就是沒有經過加密的原始文本)就必須由加密員人工一個一個字母地轉換為密文,然後才能進行發送。同一種明文到密文的轉換方式如果使用次數太多的話,很容易被敵人通過字母頻率分析法破解,因此一套成熟的密碼往往擁有很多套密碼轉換方式。

轉換通常是採用查表的方法,所查表又每日甚至每次都不相同,這也就意味著加密人員並不能像民間發報員那樣把轉換方式牢記於心,所以解碼速度極慢。而接收密碼一方又要用同樣的方式將密文轉為明文,進一步降低了信息傳遞的效率。其次,這種手工操作的效率十分低下,也使得許多複雜的、保密性能更好的加密方法不能被實際應用, 而簡單的加密方法根本不能抵擋現代數學理論支持下解密學的威力。

解密一方當時正值春風得意之時,幾百年來被認為堅不可破的維吉耐爾密碼的變種(Vigenere)也被破解,一時間所有的密碼似乎都在解密學面前失去了作用; 而無線電報的發明,又使得截獲密文易如反掌。於是,對新式加密方法的要求突然變得迫切起來,因為無論是軍事方面還是民用商業方面,都需要一種可靠而又有效的方法來保證通訊的安全。

1918 年,德國發明家亞瑟·謝爾比烏斯和他的朋友理查德·裡特創辦了謝爾比烏斯和裡特公司。這是一家專營把新技術轉化為應用方面的企業。謝爾比烏斯負責公司產品的研究和開發,他曾在漢諾威和慕尼黑研究過電氣應用。他的一個想法就是要用20 世紀的電氣技術來取代那種過時的鉛筆加紙的加密方法,而他所開設的這家公司所推出的第一件產品,就是被稱為ENIGMA 的電子加密機械,也即後來大名鼎鼎的恩尼格瑪密碼機。


恩尼格瑪密碼機,破譯它讓盟軍在西歐的勝利至少提前兩年


二戰中使用的恩尼格碼密碼機

整個恩尼格瑪密碼機看起來就是個放滿了複雜而精緻的元件的盒子,可以將其簡單分為三個部分:鍵盤、轉子和顯示器。鍵盤一共有26 個鍵,鍵盤排列和現在廣為使用的計算機鍵盤基本一樣,但為了使通訊儘量地短和難以破譯,空格、數字和標點符號都被取消,只有字母鍵。鍵盤上方就是“顯示器”,實際上是標示了同樣字母的26 個小燈泡,當鍵盤上的某個鍵被按下時,和這個字母被加密後的密文字母所對應的小燈泡就被點亮,算是一種近乎原始的“顯示”方法。在顯示器的上方是三個直徑6 釐米的轉子,它們的主要部分隱藏在面板下,是“恩尼格瑪”密碼機最核心關鍵的部分。當按下鍵盤上的一個字母鍵,相應加密後的字母在顯示器上通過燈泡閃亮來顯示,而轉子就自動地轉動一個字母的位置。舉例來說,當第一次鍵入A, 燈泡B 亮,轉子轉動一格,各字母所對應的密碼就改變了。第二次再鍵入A 時, 它所對應的字母就可能變成了C;同樣地,第三次鍵入A 時,又可能是燈泡D 亮了。同一個字母在明文的不同位置時,可以被不同的字母替換, 而密文中不同位置的同一個字母,又可以代表明文中的不同字母,這不是簡單的字母替換,因此字母頻率分析法在此毫無用武之地。這種加密方式在密碼學上被稱為“複式替換密碼”。

但是如果連續鍵入26 個字母, 轉子就會整整轉一圈,回到原始的方向上,這時編碼就和最初重複了。而在加密過程中,重複是最大的破綻, 因為這可以使破譯密碼的人從中發現規律。於是謝爾比烏斯又增加了一個轉子,當第一個轉子轉動整整一圈以後,它上面有一個齒輪撥動第二個轉子,使得它的方向轉動一個字母的位置。假設第一個轉子已經整整轉了一圈,按A 鍵時顯示器上D 燈泡亮;當放開A 鍵時第一個轉子上的齒輪也帶動第二個轉子同時轉動一格,於是第二次鍵入A 時,加密的字母可能為E;再次放開鍵A 時,就只有第一個轉子轉動了,於是第三次鍵入A 時, 與之相對應的就是字母就可能是F 了。因此只有在26×26(即676)個字母后才會重複原來的編碼。


恩尼格瑪密碼機,破譯它讓盟軍在西歐的勝利至少提前兩年


1943年使用中的恩尼格碼機


而事實上“恩尼格瑪”有三個轉子(二戰後期德國海軍使用的“恩尼格瑪” 有四個轉子),那麼重複的概率就達到26×26×26(即17576)個字母之後。轉子的初始方向決定了整個密文的加密方式。如果通訊當中有敵人監聽,他會收到完整的密文,但是由於不知道三個轉子的初始方向,他就不得不一個個方向地試驗來找到這個密匙。問題在於17576 這個數目並不是太大。如果試圖破譯密文的人把轉子調整到某一方向,然後鍵入密文開始的一段,看看輸出是否像是有意義的信息。如果不像,那就再試轉子的下一個初始方向……假設試一個方向大約要一分鐘,而他二十四小時日夜工作,那麼在大約兩星期裡就可以找遍轉子所有可能的初始方向。如果對手用許多臺機器同時破譯,那麼所需要的時間就會大大縮短。這種保密程度顯然是不太足夠的。

為此,謝爾比烏斯給密碼機增加了一道保障安全的關卡,在鍵盤和第一個轉子之間設置了一塊連接板。通過這塊連接板,可以用一根連線把某個字母和另一個字母連接起來,這樣這個字母的信號在進入轉子之前就會轉變為另一個字母的信號。這種連線最多可以有六根(後期的“恩尼格瑪”甚至達到十根連線),這樣就可以使6 對字母的信號兩兩互換, 其他沒有插上連線的字母則保持不變。當然連接板上的連線狀況也是收發雙方預先約定好的。除此之外,“恩尼格瑪”密碼機的三個轉子也可以拆卸下來並互相交換位置,這樣一來初始方向的可能性一下就增加了六倍。假設三個轉子的編號為“1”“2”“3”,那麼它們可以被放成“123”“132”“213”“231”“312”“321” 這六種不同位置,收發密文的雙方除了要約定轉子自身的初始方向,還要約定這六種排列中的一種。轉子的初始方向、轉子之間的相互位置以及連接板的連線狀況就組成了“恩尼格瑪”密碼機的三種自動加密方式,經過這樣處理,要想通過“暴力破譯法”還原明文,需要試驗的數量高達一億億次,即便能動員大量的人力物力, 要想靠“暴力破譯法”來逐一試驗可能性, 也幾乎是不可能的。而收發雙方,則只要按照約定的轉子方向、位置和連接板連線狀況,就可以非常輕鬆簡單地進行通訊了。這就是“恩尼格瑪”密碼機的保密原理。


恩尼格瑪密碼機,破譯它讓盟軍在西歐的勝利至少提前兩年


這是恩尼格瑪密碼機轉子組。三個轉子位於右邊的固定接口和左邊(標著B)的反射器兩個裝置之間。

1918 年謝爾比烏斯申請了“恩尼格瑪” 密碼機的專利。在他看來,既然自己的發明能夠提供優秀的加密手段,又能擁有極高的加密解密效率,一定能很快就暢銷起來——然而過高的售價卻使得買家們望而卻步。但就在這時,一個意外拯救了他的發明:英國政府發表了兩份關於一次大戰的文件。其中一份是1923 年出版的溫斯頓·丘吉爾的著作《世界危機》,其中有一段提到了英國和俄國在軍事方面的合作, 指出俄國人曾經成功地破譯了某些德軍密碼,而使用這些成果,英國的海軍情報處40 室能夠系統性地取得德軍的加密情報。德國方面幾乎是在十年之後才知道這一真相。第二份文件同樣是在1923 年由皇家海軍發表的關於第一次世界大戰的官方報告, 其中講述了在戰時盟軍方面截獲(並且破譯)德軍通訊所帶來的決定性的優勢。這些文件構成了對德國情報部門的隱性指控, 他們最終承認“由於無線電通訊被英方截獲和破譯,德國海軍指揮部門就好像是把自己的牌明攤在桌子上和英國海軍較量。”

為了避免再一次陷入這樣的處境,德軍對謝爾比烏斯的發明進行了可行性研究, 最終得出結論:必須裝備這種加密機器。從1925 年開始,謝爾比烏斯的工廠開始系列化生產“恩尼格瑪”密碼機,次年德軍開始將這些密碼機投入使用。接著政府機關,比如說國營企業、鐵路部門等也開始使用“恩尼格瑪”密碼機,在接下來的十年中,德國軍隊大約裝備了三萬臺“恩尼格瑪”密碼機。謝爾比烏斯的發明使德國具有了最可靠的加密系統,在第二次世界大戰開始時,德軍通訊的保密性在當時世界上無與倫比。

本文摘自《秘密戰3000年》


恩尼格瑪密碼機,破譯它讓盟軍在西歐的勝利至少提前兩年



分享到:


相關文章: