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

由卷福主演的電影《模仿游戲》講述了英國數(shù)學(xué)家、邏輯學(xué)家、密碼分析學(xué)家和計(jì)算機(jī)科學(xué)家艾倫·圖靈在二戰(zhàn)中幫助盟軍破譯納粹德國的軍事密碼的真實(shí)故事。影片中所破譯的就是本文的主角,二戰(zhàn)時(shí)期納粹德國使用的恩尼格瑪密碼機(jī)。普遍認(rèn)為盟軍在西歐的勝利能夠提前兩年,完全是因?yàn)槎髂岣瘳斆艽a機(jī)被成功破譯的緣故。

電影《模仿游戲》劇照
直到第一次世界大戰(zhàn)結(jié)束為止,所有密碼都是使用手工來編碼的——說得更通俗一點(diǎn),就是鉛筆加紙的方式。在我國, 直到20 世紀(jì)80 年代初,郵電局電報(bào)編碼和譯碼工作中還在使用這種手工方法。
手工編碼的方式給使用密碼的一方帶來很多不便。首先,這使得發(fā)送信息的效率極其低下。對(duì)于民用電報(bào)編碼來說,因?yàn)闊o須考慮保密問題,可以使用固定的編碼方式,即是摩爾電碼,因此編碼和解碼的速度只取決于發(fā)報(bào)員的熟練程度;但如果使用密碼通訊的話,那么明文(就是沒有經(jīng)過加密的原始文本)就必須由加密員人工一個(gè)一個(gè)字母地轉(zhuǎn)換為密文,然后才能進(jìn)行發(fā)送。同一種明文到密文的轉(zhuǎn)換方式如果使用次數(shù)太多的話,很容易被敵人通過字母頻率分析法破解,因此一套成熟的密碼往往擁有很多套密碼轉(zhuǎn)換方式。
轉(zhuǎn)換通常是采用查表的方法,所查表又每日甚至每次都不相同,這也就意味著加密人員并不能像民間發(fā)報(bào)員那樣把轉(zhuǎn)換方式牢記于心,所以解碼速度極慢。而接收密碼一方又要用同樣的方式將密文轉(zhuǎn)為明文,進(jìn)一步降低了信息傳遞的效率。其次,這種手工操作的效率十分低下,也使得許多復(fù)雜的、保密性能更好的加密方法不能被實(shí)際應(yīng)用, 而簡(jiǎn)單的加密方法根本不能抵擋現(xiàn)代數(shù)學(xué)理論支持下解密學(xué)的威力。
解密一方當(dāng)時(shí)正值春風(fēng)得意之時(shí),幾百年來被認(rèn)為堅(jiān)不可破的維吉耐爾密碼的變種(Vigenere)也被破解,一時(shí)間所有的密碼似乎都在解密學(xué)面前失去了作用; 而無線電報(bào)的發(fā)明,又使得截獲密文易如反掌。于是,對(duì)新式加密方法的要求突然變得迫切起來,因?yàn)闊o論是軍事方面還是民用商業(yè)方面,都需要一種可靠而又有效的方法來保證通訊的安全。
1918 年,德國發(fā)明家亞瑟·謝爾比烏斯和他的朋友理查德·里特創(chuàng)辦了謝爾比烏斯和里特公司。這是一家專營把新技術(shù)轉(zhuǎn)化為應(yīng)用方面的企業(yè)。謝爾比烏斯負(fù)責(zé)公司產(chǎn)品的研究和開發(fā),他曾在漢諾威和慕尼黑研究過電氣應(yīng)用。他的一個(gè)想法就是要用20 世紀(jì)的電氣技術(shù)來取代那種過時(shí)的鉛筆加紙的加密方法,而他所開設(shè)的這家公司所推出的第一件產(chǎn)品,就是被稱為ENIGMA 的電子加密機(jī)械,也即后來大名鼎鼎的恩尼格瑪密碼機(jī)。

二戰(zhàn)中使用的恩尼格碼密碼機(jī)
整個(gè)恩尼格瑪密碼機(jī)看起來就是個(gè)放滿了復(fù)雜而精致的元件的盒子,可以將其簡(jiǎn)單分為三個(gè)部分:鍵盤、轉(zhuǎn)子和顯示器。鍵盤一共有26 個(gè)鍵,鍵盤排列和現(xiàn)在廣為使用的計(jì)算機(jī)鍵盤基本一樣,但為了使通訊盡量地短和難以破譯,空格、數(shù)字和標(biāo)點(diǎn)符號(hào)都被取消,只有字母鍵。鍵盤上方就是“顯示器”,實(shí)際上是標(biāo)示了同樣字母的26 個(gè)小燈泡,當(dāng)鍵盤上的某個(gè)鍵被按下時(shí),和這個(gè)字母被加密后的密文字母所對(duì)應(yīng)的小燈泡就被點(diǎn)亮,算是一種近乎原始的“顯示”方法。在顯示器的上方是三個(gè)直徑6 厘米的轉(zhuǎn)子,它們的主要部分隱藏在面板下,是“恩尼格瑪”密碼機(jī)最核心關(guān)鍵的部分。當(dāng)按下鍵盤上的一個(gè)字母鍵,相應(yīng)加密后的字母在顯示器上通過燈泡閃亮來顯示,而轉(zhuǎn)子就自動(dòng)地轉(zhuǎn)動(dòng)一個(gè)字母的位置。舉例來說,當(dāng)?shù)谝淮捂I入A, 燈泡B 亮,轉(zhuǎn)子轉(zhuǎn)動(dòng)一格,各字母所對(duì)應(yīng)的密碼就改變了。第二次再鍵入A 時(shí), 它所對(duì)應(yīng)的字母就可能變成了C;同樣地,第三次鍵入A 時(shí),又可能是燈泡D 亮了。同一個(gè)字母在明文的不同位置時(shí),可以被不同的字母替換, 而密文中不同位置的同一個(gè)字母,又可以代表明文中的不同字母,這不是簡(jiǎn)單的字母替換,因此字母頻率分析法在此毫無用武之地。這種加密方式在密碼學(xué)上被稱為“復(fù)式替換密碼”。
但是如果連續(xù)鍵入26 個(gè)字母, 轉(zhuǎn)子就會(huì)整整轉(zhuǎn)一圈,回到原始的方向上,這時(shí)編碼就和最初重復(fù)了。而在加密過程中,重復(fù)是最大的破綻, 因?yàn)檫@可以使破譯密碼的人從中發(fā)現(xiàn)規(guī)律。于是謝爾比烏斯又增加了一個(gè)轉(zhuǎn)子,當(dāng)?shù)谝粋€(gè)轉(zhuǎn)子轉(zhuǎn)動(dòng)整整一圈以后,它上面有一個(gè)齒輪撥動(dòng)第二個(gè)轉(zhuǎn)子,使得它的方向轉(zhuǎn)動(dòng)一個(gè)字母的位置。假設(shè)第一個(gè)轉(zhuǎn)子已經(jīng)整整轉(zhuǎn)了一圈,按A 鍵時(shí)顯示器上D 燈泡亮;當(dāng)放開A 鍵時(shí)第一個(gè)轉(zhuǎn)子上的齒輪也帶動(dòng)第二個(gè)轉(zhuǎn)子同時(shí)轉(zhuǎn)動(dòng)一格,于是第二次鍵入A 時(shí),加密的字母可能為E;再次放開鍵A 時(shí),就只有第一個(gè)轉(zhuǎn)子轉(zhuǎn)動(dòng)了,于是第三次鍵入A 時(shí), 與之相對(duì)應(yīng)的就是字母就可能是F 了。因此只有在26×26(即676)個(gè)字母后才會(huì)重復(fù)原來的編碼。

1943年使用中的恩尼格碼機(jī)
而事實(shí)上“恩尼格瑪”有三個(gè)轉(zhuǎn)子(二戰(zhàn)后期德國海軍使用的“恩尼格瑪” 有四個(gè)轉(zhuǎn)子),那么重復(fù)的概率就達(dá)到26×26×26(即17576)個(gè)字母之后。轉(zhuǎn)子的初始方向決定了整個(gè)密文的加密方式。如果通訊當(dāng)中有敵人監(jiān)聽,他會(huì)收到完整的密文,但是由于不知道三個(gè)轉(zhuǎn)子的初始方向,他就不得不一個(gè)個(gè)方向地試驗(yàn)來找到這個(gè)密匙。問題在于17576 這個(gè)數(shù)目并不是太大。如果試圖破譯密文的人把轉(zhuǎn)子調(diào)整到某一方向,然后鍵入密文開始的一段,看看輸出是否像是有意義的信息。如果不像,那就再試轉(zhuǎn)子的下一個(gè)初始方向……假設(shè)試一個(gè)方向大約要一分鐘,而他二十四小時(shí)日夜工作,那么在大約兩星期里就可以找遍轉(zhuǎn)子所有可能的初始方向。如果對(duì)手用許多臺(tái)機(jī)器同時(shí)破譯,那么所需要的時(shí)間就會(huì)大大縮短。這種保密程度顯然是不太足夠的。
為此,謝爾比烏斯給密碼機(jī)增加了一道保障安全的關(guān)卡,在鍵盤和第一個(gè)轉(zhuǎn)子之間設(shè)置了一塊連接板。通過這塊連接板,可以用一根連線把某個(gè)字母和另一個(gè)字母連接起來,這樣這個(gè)字母的信號(hào)在進(jìn)入轉(zhuǎn)子之前就會(huì)轉(zhuǎn)變?yōu)榱硪粋€(gè)字母的信號(hào)。這種連線最多可以有六根(后期的“恩尼格瑪”甚至達(dá)到十根連線),這樣就可以使6 對(duì)字母的信號(hào)兩兩互換, 其他沒有插上連線的字母則保持不變。當(dāng)然連接板上的連線狀況也是收發(fā)雙方預(yù)先約定好的。除此之外,“恩尼格瑪”密碼機(jī)的三個(gè)轉(zhuǎn)子也可以拆卸下來并互相交換位置,這樣一來初始方向的可能性一下就增加了六倍。假設(shè)三個(gè)轉(zhuǎn)子的編號(hào)為“1”“2”“3”,那么它們可以被放成“123”“132”“213”“231”“312”“321” 這六種不同位置,收發(fā)密文的雙方除了要約定轉(zhuǎn)子自身的初始方向,還要約定這六種排列中的一種。轉(zhuǎn)子的初始方向、轉(zhuǎn)子之間的相互位置以及連接板的連線狀況就組成了“恩尼格瑪”密碼機(jī)的三種自動(dòng)加密方式,經(jīng)過這樣處理,要想通過“暴力破譯法”還原明文,需要試驗(yàn)的數(shù)量高達(dá)一億億次,即便能動(dòng)員大量的人力物力, 要想靠“暴力破譯法”來逐一試驗(yàn)可能性, 也幾乎是不可能的。而收發(fā)雙方,則只要按照約定的轉(zhuǎn)子方向、位置和連接板連線狀況,就可以非常輕松簡(jiǎn)單地進(jìn)行通訊了。這就是“恩尼格瑪”密碼機(jī)的保密原理。

這是恩尼格瑪密碼機(jī)轉(zhuǎn)子組。三個(gè)轉(zhuǎn)子位于右邊的固定接口和左邊(標(biāo)著B)的反射器兩個(gè)裝置之間。
1918 年謝爾比烏斯申請(qǐng)了“恩尼格瑪” 密碼機(jī)的專利。在他看來,既然自己的發(fā)明能夠提供優(yōu)秀的加密手段,又能擁有極高的加密解密效率,一定能很快就暢銷起來——然而過高的售價(jià)卻使得買家們望而卻步。但就在這時(shí),一個(gè)意外拯救了他的發(fā)明:英國政府發(fā)表了兩份關(guān)于一次大戰(zhàn)的文件。其中一份是1923 年出版的溫斯頓·丘吉爾的著作《世界危機(jī)》,其中有一段提到了英國和俄國在軍事方面的合作, 指出俄國人曾經(jīng)成功地破譯了某些德軍密碼,而使用這些成果,英國的海軍情報(bào)處40 室能夠系統(tǒng)性地取得德軍的加密情報(bào)。德國方面幾乎是在十年之后才知道這一真相。第二份文件同樣是在1923 年由皇家海軍發(fā)表的關(guān)于第一次世界大戰(zhàn)的官方報(bào)告, 其中講述了在戰(zhàn)時(shí)盟軍方面截獲(并且破譯)德軍通訊所帶來的決定性的優(yōu)勢(shì)。這些文件構(gòu)成了對(duì)德國情報(bào)部門的隱性指控, 他們最終承認(rèn)“由于無線電通訊被英方截獲和破譯,德國海軍指揮部門就好像是把自己的牌明攤在桌子上和英國海軍較量?!?/p>
為了避免再一次陷入這樣的處境,德軍對(duì)謝爾比烏斯的發(fā)明進(jìn)行了可行性研究, 最終得出結(jié)論:必須裝備這種加密機(jī)器。從1925 年開始,謝爾比烏斯的工廠開始系列化生產(chǎn)“恩尼格瑪”密碼機(jī),次年德軍開始將這些密碼機(jī)投入使用。接著政府機(jī)關(guān),比如說國營企業(yè)、鐵路部門等也開始使用“恩尼格瑪”密碼機(jī),在接下來的十年中,德國軍隊(duì)大約裝備了三萬臺(tái)“恩尼格瑪”密碼機(jī)。謝爾比烏斯的發(fā)明使德國具有了最可靠的加密系統(tǒng),在第二次世界大戰(zhàn)開始時(shí),德軍通訊的保密性在當(dāng)時(shí)世界上無與倫比。