版權(quán)歸原作者所有,如有侵權(quán),請聯(lián)系我們

[科普中國]-恩尼格瑪密碼機

科學(xué)百科
原創(chuàng)
科學(xué)百科為用戶提供權(quán)威科普內(nèi)容,打造知識科普陣地
收藏

在密碼學(xué)史中,恩尼格瑪密碼機(德語:Enigma,又譯啞謎機,或**“謎”式密碼機**)是一種用于加密與解密文件的密碼機。確切地說,恩尼格瑪是對二戰(zhàn)時期納粹德國使用的一系列相似的轉(zhuǎn)子機械加解密機器的統(tǒng)稱,它包括了許多不同的型號,為密碼學(xué)對稱加密算法的流加密。

加密原理鍵盤一共有26個鍵,鍵盤排列和廣為使用的計算機鍵盤基本一樣,只不過為了使通訊盡量地短和難以破譯,空格、數(shù)字和標(biāo)點符號都被取消,而只有字母鍵。鍵盤上方就是顯示器,這可不是意義上的屏幕顯示器,只不過是標(biāo)示了同樣字母的26個小燈泡,當(dāng)鍵盤上的某個鍵被按下時,和這個字母被加密后的密文字母所對應(yīng)的小燈泡就亮了起來,就是這樣一種近乎原始的“顯示”。在顯示器的上方是三個直徑6厘米的轉(zhuǎn)子,它們的主要部分隱藏在面板下,轉(zhuǎn)子才是“恩尼格瑪”密碼機最核心關(guān)鍵的部分。如果轉(zhuǎn)子的作用僅僅是把一個字母換成另一個字母,那就是密碼學(xué)中所說的“簡單替換密碼”,而在公元九世紀,阿拉伯的密碼破譯專家就已經(jīng)能夠嫻熟地運用統(tǒng)計字母出現(xiàn)頻率的方法來破譯簡單替換密碼,柯南·道爾在他著名的福爾摩斯探案《跳舞的小人》里就非常詳細地敘述了福爾摩斯使用頻率統(tǒng)計法破譯跳舞人形密碼(也就是簡單替換密碼)的過程?!越小稗D(zhuǎn)子”,因為它會轉(zhuǎn)!這就是關(guān)鍵!當(dāng)按下鍵盤上的一個字母鍵,相應(yīng)加密后的字母在顯示器上通過燈泡閃亮來顯示,而轉(zhuǎn)子就自動地轉(zhuǎn)動一個字母的位置。舉例來說,當(dāng)?shù)谝淮捂I入A,燈泡B亮,轉(zhuǎn)子轉(zhuǎn)動一格,各字母所對應(yīng)的密碼就改變了。第二次再鍵入A時,它所對應(yīng)的字母就可能變成了C;同樣地,第三次鍵入A時,又可能是燈泡D亮了?!@就是“恩尼格瑪”難以被破譯的關(guān)鍵所在,這不是一種簡單替換密碼。同一個字母在明文的不同位置時,可以被不同的字母替換,而密文中不同位置的同一個字母,又可以代表明文中的不同字母,字母頻率分析法在這里絲毫無用武之地了。這種加密方式在密碼學(xué)上被稱為“復(fù)式替換密碼”。1

但是如果連續(xù)鍵入26個字母,轉(zhuǎn)子就會整整轉(zhuǎn)一圈,回到原始的方向上,這時編碼就和最初重復(fù)了。而在加密過程中,重復(fù)的現(xiàn)象就很是最大的破綻,因為這可以使破譯密碼的人從中發(fā)現(xiàn)規(guī)律。于是“恩尼格瑪”又增加了一個轉(zhuǎn)子,當(dāng)?shù)谝粋€轉(zhuǎn)子轉(zhuǎn)動整整一圈以后,它上面有一個齒輪撥動第二個轉(zhuǎn)子,使得它的方向轉(zhuǎn)動一個字母的位置。假設(shè)第一個轉(zhuǎn)子已經(jīng)整整轉(zhuǎn)了一圈,按A鍵時顯示器上D燈泡亮;當(dāng)放開A鍵時第一個轉(zhuǎn)子上的齒輪也帶動第二個轉(zhuǎn)子同時轉(zhuǎn)動一格,于是第二次鍵入A時,加密的字母可能為E;再次放開鍵A時,就只有第一個轉(zhuǎn)子轉(zhuǎn)動了,于是第三次鍵入A時,與之相對應(yīng)的就是字母就可能是F了。

因此只有在26x26=676個字母后才會重復(fù)原來的編碼。而事實上“恩尼格瑪”有三個轉(zhuǎn)子(二戰(zhàn)后期德國海軍使用的“恩尼格瑪”甚至有四個轉(zhuǎn)子?。?,那么重復(fù)的概率就達到26x26x26=17576個字母之后。在此基礎(chǔ)上謝爾比烏斯十分巧妙地在三個轉(zhuǎn)子的一端加上了一個反射器,把鍵盤和顯示器中的相同字母用電線連在一起。反射器和轉(zhuǎn)子一樣,把某一個字母連在另一個字母上,但是它并不轉(zhuǎn)動。乍一看這么一個固定的反射器好像沒什么用處,它并不增加可以使用的編碼數(shù)目,但是把它和解碼聯(lián)系起來就會看出這種設(shè)計的別具匠心了。當(dāng)一個鍵被按下時,信號不是直接從鍵盤傳到顯示器,而是首先通過三個轉(zhuǎn)子連成的一條線路,然后經(jīng)過反射器再回到三個轉(zhuǎn)子,通過另一條線路再到達顯示器上,比如說上圖中A鍵被按下時,亮的是D燈泡。如果這時按的不是A鍵而是D鍵,那么信號恰好按照上面A鍵被按下時的相反方向通行,最后到達A燈泡。換句話說,在這種設(shè)計下,反射器雖然沒有像轉(zhuǎn)子那樣增加不重復(fù)的方向,但是它可以使解碼過程完全重現(xiàn)編碼過程。

使用“恩尼格瑪”通訊時,發(fā)信人首先要調(diào)節(jié)三個轉(zhuǎn)子的方向(而這個轉(zhuǎn)子的初始方向就是密匙,是收發(fā)雙方必須預(yù)先約定好的),然后依次鍵入明文,并把顯示器上燈泡閃亮的字母依次記下來,最后把記錄下的閃亮字母按照順序用正常的電報方式發(fā)送出去。收信方收到電文后,只要也使用一臺“恩尼格瑪”,按照原來的約定,把轉(zhuǎn)子的方向調(diào)整到和發(fā)信方相同的初始方向上,然后依次鍵入收到的密文,顯示器上自動閃亮的字母就是明文了。加密和解密的過程完全一樣,這就是反射器的作用,同時反射器的一個副作用就是一個字母永遠也不會被加密成它自己,因為反射器中一個字母總是被連接到另一個不同的字母。

“恩尼格瑪”加密的關(guān)鍵就在于轉(zhuǎn)子的初始方向。當(dāng)然如果敵人收到了完整的密文,還是可以通過不斷試驗轉(zhuǎn)動轉(zhuǎn)子方向來找到這個密匙,特別是如果破譯者同時使用許多臺機器同時進行這項工作,那么所需要的時間就會大大縮短。對付這樣“暴力破譯法”(即一個一個嘗試所有可能性的方法),可以通過增加轉(zhuǎn)子的數(shù)量來對付,因為只要每增加一個轉(zhuǎn)子,就能使試驗的數(shù)量乘上26倍!不過由于增加轉(zhuǎn)子就會增加機器的體積和成本,而密碼機又是需要能夠便于攜帶的,而不是一個帶有幾十個甚至上百個轉(zhuǎn)子的龐然大物。那么方法也很簡單,“恩尼格瑪”密碼機的三個轉(zhuǎn)子是可以拆卸下來并互相交換位置,這樣一來初始方向的可能性一下就增加了六倍。假設(shè)三個轉(zhuǎn)子的編號為1、2、3,那么它們可以被放成123-132-213-231-312-321這六種不同位置,當(dāng)然收發(fā)密文的雙方除了要約定轉(zhuǎn)子自身的初始方向,還要約好這六種排列中的一種。

而除了轉(zhuǎn)子方向和排列位置,“恩尼格瑪”還有一道保障安全的關(guān)卡,在鍵盤和第一個轉(zhuǎn)子之間有塊連接板。通過這塊連接板可以用一根連線把某個字母和另一個字母連接起來,這樣這個字母的信號在進入轉(zhuǎn)子之前就會轉(zhuǎn)變?yōu)榱硪粋€字母的信號。這種連線最多可以有六根(后期的“恩尼格瑪”甚至達到十根連線),這樣就可以使6對字母的信號兩兩互換,其他沒有插上連線的字母則保持不變?!?dāng)然連接板上的連線狀況也是收發(fā)雙方預(yù)先約定好的。

就這樣轉(zhuǎn)子的初始方向、轉(zhuǎn)子之間的相互位置以及連接板的連線狀況就組成了“恩尼格瑪”三道牢不可破的保密防線,其中連接板是一個簡單替換密碼系統(tǒng),而不停轉(zhuǎn)動的轉(zhuǎn)子,雖然數(shù)量不多,但卻是點睛之筆,使整個系統(tǒng)變成了復(fù)式替換系統(tǒng)。連接板雖然只是簡單替換卻能使可能性數(shù)目大大增加,在轉(zhuǎn)子的復(fù)式作用下進一步加強了保密性。讓我們來算一算經(jīng)過這樣處理,要想通過“暴力破解法”還原明文,需要試驗多少種可能性:

三個轉(zhuǎn)子不同的方向組成了26x26x26=17576種可能性;

三個轉(zhuǎn)子間不同的相對位置為6種可能性;

連接板上兩兩交換6對字母的可能性則是異常龐大,有100,391,791,500種;

于是一共有17576x6x100,391,791,500,其結(jié)果大約為10,000,000,000,000,000!即一億億種可能性!這樣龐大的可能性,換言之,即便能動員大量的人力物力,要想靠“暴力破解法”來逐一試驗可能性,那幾乎是不可能的。而收發(fā)雙方,則只要按照約定的轉(zhuǎn)子方向、位置和連接板連線狀況,就可以非常輕松簡單地進行通訊了。這就是“恩尼格瑪”密碼機的保密原理。

發(fā)明歷史美國大片《U-571》,告訴人們“恩尼格瑪”密碼機是戰(zhàn)爭中,同盟國費盡心機想要獲得的尖端秘密,是戰(zhàn)勝德國海軍潛艇的關(guān)鍵所在。歷史也確實如此,對于潛艇作戰(zhàn),尤其是德國海軍的“狼群”戰(zhàn)術(shù)來說,無線電通訊是潛艇在海上活動,獲取信息通報情況的最重要的手段,而“恩尼格瑪”密碼機則是關(guān)乎整個無線電通訊安全的設(shè)備,其重要性可想而知。2

自從無線電和摩爾斯電碼問世后,軍事通訊進入了一個嶄新的時代,但是無線電通訊完全是一個開放的系統(tǒng),在己方接受電文的同時,對方也可“一覽無遺”,因此人類歷史上伴隨戰(zhàn)爭出現(xiàn)的密碼,也就立即與無線電結(jié)合,出現(xiàn)了無線電密碼。直到第一次世界大戰(zhàn)結(jié)束,所有無線電密碼都是使用手工編碼。毫無疑問,手工編碼效率極其低下,同時由于受到手工編碼與解碼效率的限制,使得許多復(fù)雜的保密性強的加密方法無法在實際中應(yīng)用,而簡單的加密方法又很容易被破譯,因此在軍事通訊領(lǐng)域,急需一種安全可靠,而又簡便有效的方法。

1918年德國發(fā)明家亞瑟·謝爾比烏斯(Arthur Scherbius)和理查德·里特(Richard Ritter)創(chuàng)辦了一家新技術(shù)應(yīng)用公司,曾經(jīng)學(xué)習(xí)過電氣應(yīng)用的謝爾比烏斯,想利用現(xiàn)代化的電氣技術(shù),來取代手工編碼加密方法,發(fā)明一種能夠自動編碼的機器。謝爾比烏斯給自己所發(fā)明的電氣編碼機械取名“恩尼格瑪”(ENIGMA,意為啞謎),乍看是個放滿了復(fù)雜而精致的元件的盒子,粗看和打字機有幾分相似??梢詫⑵浜唵畏譃槿齻€部分:鍵盤、轉(zhuǎn)子和顯示器。

操作步驟

德軍的各支部隊使用一些不同的通訊線路,每條線路中的恩尼格瑪密碼機都有不同的設(shè)置。為了使一條信息能夠正確地被加密及解密,發(fā)送信息與接收信息的恩尼格瑪密碼機的設(shè)置必須相同;轉(zhuǎn)子必須一模一樣,而且它們的排列順序,起始位置和接線板的連線也必須相同。所有這些設(shè)置都需要在使用之前確定下來,并且會被記錄在密碼本中。

恩尼格瑪密碼機的設(shè)置包含了以下幾個方面:

轉(zhuǎn)子:轉(zhuǎn)子的結(jié)構(gòu)及順序。起始位置:由操作員決定,發(fā)送每條消息時都不一樣。字母環(huán):字母環(huán)與轉(zhuǎn)子線路的相對位置。接線板:接線板的連線。在末期版本中還包括了反射器的線路。恩尼格瑪密碼機被設(shè)計成即使在轉(zhuǎn)子的線路設(shè)置被敵人知道時仍然會很安全,盡管在實際使用中德軍盡了全力來防止線路設(shè)置被泄露出去。如果線路設(shè)置為未知,那么最多需要嘗試10種情況才可能推算出恩尼格瑪密碼機的密碼;當(dāng)線路和其它一些設(shè)置已知時,也最多需要嘗試10次。恩尼格瑪密碼機的使用者對它的保密性很有信心,因為敵人不可能使用窮舉法來找出密碼。

指示器

恩尼格瑪密碼機的大部分設(shè)置都會在一段時間(一般為一天)以后被更換。但是,轉(zhuǎn)子的起始位置卻是每發(fā)送一條信息就要更換的,因為如果一定數(shù)量的文件都按照相同的加密設(shè)置來加密的話,密碼學(xué)家就會從中得到一些信息,并且有可能利用頻率分析來破譯這個密碼。為了防止這種事情發(fā)生,轉(zhuǎn)子的起始位置在每次發(fā)送信息之前都會被改變。這個方法被稱作“指示器步驟”。

最早期的指示器步驟成為了波蘭密碼學(xué)家破譯恩尼格瑪密碼機密碼的突破口。在這個步驟中,操作員會先按照密碼本中的記錄來設(shè)置機器,我們假設(shè)這時的轉(zhuǎn)子位置為AOH,之后他會隨意打三個字母,假設(shè)為EIN,接著為了保險起見,他會將這三個字母重新打一遍。這六個字母會被轉(zhuǎn)換成其它六個字母,這里假設(shè)為XHTLOA。最后,操作員會將轉(zhuǎn)子重新設(shè)置為EIN,即他一開始打的三個字母,之后輸入密電原文。

在接收方將信息解密時,他會使用相反的步驟。首先,他也會將轉(zhuǎn)子按照密碼本中的記錄設(shè)置好,然后他就會打入密文中的頭六個字母,即XHTLOA,如果發(fā)送方操作正確的話,顯示板上就會顯示EINEIN。這時接收方就會將轉(zhuǎn)子設(shè)置為EIN,之后他就可將密電打入而得到原文了。

這個步驟的保密性差主要有兩個原因。首先,操作員將轉(zhuǎn)子的設(shè)置打到了密電中,這就使第三方能夠得知轉(zhuǎn)子設(shè)置。第二,這個步驟中出現(xiàn)了重復(fù)輸入,而這是一個嚴重的錯誤。這個弱點使波蘭密碼局早在1932年就破譯了二戰(zhàn)之前的德軍恩尼格瑪系統(tǒng)。但是從1940年開始,德國改變了這個步驟,它的安全性也就提高了。

這個步驟只被用于德國陸軍和空軍。德國海軍發(fā)送信息的步驟要復(fù)雜的多。在被恩尼格瑪密碼機發(fā)送之前,信息會先被Kurzsignalheft密碼本進行加密。這個密碼本將一個句子替換為了四個字母。它轉(zhuǎn)化的句子包括了補給、位置、港灣名稱、國家、武器、天氣、敵人位置、日期和時間等內(nèi)容。

縮寫與指導(dǎo)

德國陸軍的恩尼格瑪密碼機的鍵盤上只有26個字母,標(biāo)點符號由字母組合來代替,X相當(dāng)于空格。在各軍種的恩尼格瑪密碼機中,X都相當(dāng)于句號。有一些標(biāo)點符號在不同軍種的密碼系統(tǒng)中被不同的字母組合代替。陸軍的系統(tǒng)使用ZZ來表示逗號,F(xiàn)RAGE或FRAQ則表示問號。但是德國海軍用來表示逗號及問號的則分別為Y和UD。Acht(意為“八”)和Richtung(意為“方向”)中的字母組合CH則由Q來代替。CENTA、MILLE和MYRIA分別表示兩個、三個和四個零。

德國陸軍和空軍將每條信息都翻譯成5個字母的代碼。使用四轉(zhuǎn)子恩尼格瑪密碼機的德國海軍則將信息翻譯成4字母代碼。經(jīng)常用到的詞語代碼與原詞語的差別越大越好。Minensuchboot(意為“掃雷艇”)這樣的詞語可以被表示為MINENSUCHBOOT、MINBOOT、MMMBOOT 或MMM354。比較長的信息會被分成幾個部分來發(fā)送。

弱點在第二次世界大戰(zhàn)期間,英國的情報機關(guān)非常嚴密地監(jiān)控了德國方面的通訊,丘吉爾的書和英國海軍部的報告中透露的消息只不過是一鱗半爪。事實上,將美國引入一次大戰(zhàn)的齊末曼(Arthur Zimmermann,1916年起任德國外交部長)電報就是由著名的英國40局破譯的。在此電報中德國密謀墨西哥對美國發(fā)動攻擊,這使得美國最終決定對德宣戰(zhàn)。但是英國人的障眼法用得如此之好,使得德國人一直以為是墨西哥方面泄漏了秘密。

戰(zhàn)后英國仍舊保持著對德國通訊的監(jiān)聽,并保持著很高的破譯率。但是從1926年開始,他們開始收到一些不知所云的信息——ENIGMA開始投入使用。德國方面使用的ENIGMA越多,40局破解不了的電文就越多。美國人和法國人碰到的情況也一樣,他們對ENIGMA一籌莫展。德國從此擁有了世界上最為可靠的通訊保密系統(tǒng)。

一次大戰(zhàn)的戰(zhàn)勝國很快就放棄了破譯這種新型密碼的努力。也許是出于自信,在他們看來,在凡爾賽條約約束下的德國已經(jīng)造成不了什么危害。由于看不到破譯德國密碼的必要性,盟國的密碼分析專家懶散下來,干這一行的頭腦似乎也變得越來越平庸。在科學(xué)的其他領(lǐng)域,我們說失敗乃成功之母;而在密碼分析領(lǐng)域,我們則應(yīng)該說恐懼乃成功之母。普法戰(zhàn)爭造就了法國一代優(yōu)秀的密碼分析專家,而一次大戰(zhàn)中英國能夠破譯德國的通訊密碼,對失敗的極大恐懼產(chǎn)生的動力無疑起了巨大的作用。

歷史又一次重演。因為在歐洲有一個國家對德國抱有這種極大的恐懼——這就是在一戰(zhàn)灰燼中浴火重生的新獨立的波蘭。在她的西面,是對失去舊日領(lǐng)土耿耿于懷的德國,而在東面,則是要輸出革命的蘇維埃聯(lián)盟。對于波蘭來說,關(guān)于這兩個強鄰的情報是有關(guān)生死存亡的大事,波蘭的密碼分析專家不可能象他們的英美法同事那樣愛干不干——他們必須知道這兩個大國都在想什么。在此情況下波蘭設(shè)立了自己的破譯機構(gòu),波軍總參二局密碼處(Biuro Szyfrow)。密碼處的高效率在1919-1920年波蘇戰(zhàn)爭中明顯地體現(xiàn)出來,軍事上屢嘗敗績的波蘭在密碼分析方面卻一枝獨秀。在蘇軍兵臨華沙城下的情況下,1920年一年他們破譯了大約400條蘇軍信息。在對西面德國的通訊的監(jiān)控方面,波蘭人也保持了同樣的高效率——直到1926年ENIGMA登場。

波蘭人想方設(shè)法搞到了一臺商用的ENIGMA機器,大致弄清楚了它的工作原理。但是軍用型的轉(zhuǎn)子內(nèi)部布線和商用型的完全不同,沒有這個情報,想要破譯德軍的電報可謂難如登天。波蘭人使出了渾身的解數(shù),甚至病急亂投醫(yī),請了個據(jù)說有天眼通功能的“大師”來遙感德國人機器里轉(zhuǎn)子的線路圖——當(dāng)然和所有的“大師”一樣,一遇上這種硬碰硬的事情,神乎其神的天眼通也不靈了。

這時事情有了轉(zhuǎn)機。

漢斯-提羅·施密特(Hans-Thilo Schimdt)于1888年出生在柏林的一個中產(chǎn)階級家庭里,一次大戰(zhàn)時當(dāng)過兵打過仗。根據(jù)凡爾賽條約,戰(zhàn)敗后的德國進行了裁軍,施密特就在被裁之列。退了伍后他開了個小肥皂廠,心想下海從商賺點錢。結(jié)果戰(zhàn)后的經(jīng)濟蕭條和通貨膨脹讓他破了產(chǎn)。此時他不名一文,卻還有一個家要養(yǎng)。

和他潦倒的處境相反,他的大哥魯?shù)婪颍≧udolph)在戰(zhàn)后春風(fēng)得意。和漢斯-提羅一樣都是一次大戰(zhàn)的老兵,可魯?shù)婪驔]有被裁減,相反卻一路高升。到了二十年代,他當(dāng)上了德國通訊部門的頭頭,就是他正式命令在軍隊中使用ENIGMA。和大哥的成功比起來,漢斯-提羅自然覺得臉上無光。

可是破產(chǎn)后漢斯-提羅不得不放下自尊心來去見大哥,求他在政府部門替自己謀個職位。魯?shù)婪蚪o他的二弟在密碼處(Chiffrierstelle)找了個位置。這是專門負責(zé)德國密碼通訊的機構(gòu)——ENIGMA的指揮中心,擁有大量絕密情報。漢斯-提羅把一家留在巴伐利亞,因為在那里生活費用相對較低,勉強可以度日。就這樣他一個人孤零零地搬到了柏林,拿著可憐的薪水,對大哥又羨又妒,對拋棄他的社會深惡痛絕。

接下來的事情可想而知。如果把自己可以輕松搞到的絕密情報出賣給外國情報機構(gòu),一方面可以賺取不少自己緊缺的錢,一方面可以以此報復(fù)這個拋棄了他的國家。1931年11月8日,施密特化名為艾斯克(Asche)和法國情報人員在比利時接頭,在旅館里他向法國情報人員提供了兩份珍貴的有關(guān)ENIGMA操作和轉(zhuǎn)子內(nèi)部線路的資料,得到一萬馬克??窟@兩份資料,盟國就完全可以復(fù)制出一臺軍用的ENIGMA機。

不過事情并不象想象的那么簡單。要破譯ENIGMA密碼,靠這些情報還遠遠不夠。德軍的一份對ENIGMA的評估寫道:“即使敵人獲取了一臺同樣的機器,它仍舊能夠保證其加密系統(tǒng)的保密性?!本退阌辛艘慌_ENIGMA,如果不知道密鑰(就是轉(zhuǎn)子自身的初始方向,轉(zhuǎn)子之間的相互位置,以及連接板連線的狀況)的話,想破譯電文,就要嘗試數(shù)以億億計的組合,這是不現(xiàn)實的。

“加密系統(tǒng)的保密性只應(yīng)建立在對密鑰的保密上,不應(yīng)該取決于加密算法的保密。”這是密碼學(xué)中的金科玉律。加密算法可以直接是某個抽象的數(shù)學(xué)算法,比如通用的DEA和RSA算法,也可以是實現(xiàn)某個算法的象ENIGMA這樣的加密機械或?qū)iT用于加密的電子芯片等加密器件,還可以是經(jīng)過編譯的在計算機上可執(zhí)行的加密程序,比如在互聯(lián)網(wǎng)通信中被廣泛使用的PGP(Pretty Good Privacy)。因為對加密算法的保密是困難的。對手可以用竊取、購買的方法來取得算法、加密器件或者程序。如果得到的是加密器件或者程序,可以對它們進行反向工程而最終獲得加密算法。如果只是密鑰失密,那么失密的只是和此密鑰有關(guān)的情報,日后通訊的保密性可以通過更換密鑰來補救;但如果是加密算法失密,而整個系統(tǒng)的保密性又建立在算法的秘密性上,那么所有由此算法加密的信息就會全部暴露。更糟糕是,為了使以后的通訊保持秘密,必須完全更換加密算法,這意味著更新加密器械或更換程序。比起簡單地更換密鑰,這要耗費大量財富和管理資源(大規(guī)模更換加密器械和程序會使對手更有機會乘虛而入!)。

正如前面所言,ENIGMA的設(shè)計使得搞到了它的秘密的法國人也一籌莫展。法國密碼分析人員斷定這種密碼是不可破譯的。他們甚至根本就懶得根據(jù)搞到的情報去復(fù)制一臺ENIGMA。

在法國和波蘭簽訂過一個軍事合作協(xié)議。波蘭方面一直堅持要取得所有關(guān)于ENIGMA的情報。既然看來自己拿著也沒什么用,法國人就把從施密特那里買來的情報交給了波蘭人。和法國人不同,破譯ENIGMA對波蘭來說至關(guān)重要,就算死馬也要當(dāng)作活馬醫(yī)。現(xiàn)在他們總算能邁出最初的一步了。

在施密特提供的關(guān)于ENIGMA的情報中,不僅有關(guān)于ENIGMA構(gòu)造和轉(zhuǎn)子內(nèi)部連線的描述,還有德國人使用ENIGMA進行編碼的具體規(guī)定。每個月每臺ENIGMA機的操作員都會收到一本當(dāng)月的新密鑰,上面有此月每天使用的密鑰。比如說,第一天的密鑰可以是這個樣子:1.連接板的連接:A/L-P/R-T/D-B/W-K/F-O/Y。2.轉(zhuǎn)子的順序:2,3,1;轉(zhuǎn)子的初始方向:Q-C-W。

當(dāng)操作員要發(fā)送某條消息時,他首先從密鑰本中查到以上信息。然后按照上面的規(guī)定,首先用連線把連接板上的A字母和L字母,P字母和R字母……連接起來;然后把2號轉(zhuǎn)子放在ENIGMA的第一個轉(zhuǎn)子位置上,把3號轉(zhuǎn)子放在第二個位置上,把1號轉(zhuǎn)子放在第三個位置上;最后,他調(diào)整轉(zhuǎn)子的方向(從照片上可以看到每個轉(zhuǎn)子的邊上都刻著一圈字母用來顯示轉(zhuǎn)子所處的方向),使得三個轉(zhuǎn)子上的字母Q、C和W分別朝上。在接收信息的另一方,操作員也進行同樣的準(zhǔn)備(他也有一本同樣的密鑰本),就可以進行收信解碼的工作了。

調(diào)整好ENIGMA,操作員可以開始對明文加密了。但是我們看到每天只有一個密鑰,如果這一天的幾百封電報都以這個密鑰加密發(fā)送的話,暗中截聽信號的敵方就會取得大量的以同一密鑰加密的信息,這對保密工作來說不是個好兆頭。我們記得在簡單替換密碼的情況下,如果密碼分析專家能得到大量的密文,就可以使用統(tǒng)計方法將其破解。

盡管不知道對ENIGMA是否可以采用類似的統(tǒng)計方法,德國人還是留了個心眼。他們決定在按當(dāng)日密鑰調(diào)整好ENIGMA機后并不直接加密要發(fā)送的明文。相反地,首先發(fā)送的是一個新的密鑰。連接板的連線順序和轉(zhuǎn)子的順序并不改變,和當(dāng)日通用的密鑰相同;想反地,轉(zhuǎn)子的初始方向?qū)⒈桓淖?。操作員首先按照上面所說的方法按當(dāng)日密鑰調(diào)整好ENIGMA,然后隨機地選擇三個字母,比如說PGH。他把PGH在鍵盤上連打兩遍,加密為比如說KIVBJE(注意到兩次PGH被加密為不同的形式,第一次KIV,第二次BJE,這正是ENIGMA的特點,它是一種復(fù)式替換密碼)。然后他把KIVBJE記在電文的最前面。接著他重新調(diào)整三個轉(zhuǎn)子的初始方向到PGH,然后才正式對明文加密。

用這種方法每一條電文都有屬于自己的三個表示轉(zhuǎn)子初始方向的密鑰。把密鑰輸入兩遍是為了防止偶然的發(fā)報或者接收錯誤,起著糾錯的作用。收報一方在按當(dāng)日密鑰調(diào)整好ENIGMA機后,先輸入密文的頭六個字母KIVBJE,解密得到PGHPGH,于是確認沒有錯誤。然后把三個轉(zhuǎn)子的初始方向調(diào)整到PGH,接著就可以正式解密其余的密文了。

如果不使用對每條電文都不同的密鑰,那么每天很可能總共會有幾千條電文也就是幾百萬個字母的消息以同一個密鑰加密。而采用每條電文都有自己的密鑰這個方法后,當(dāng)日密鑰所加密的就是很少的幾萬個字母,而且這些字母都是隨機選取,和有意義的電文性質(zhì)不同,不可能用統(tǒng)計方法破譯。

乍一看來這種方法無懈可擊??墒遣ㄌm人鐵了心,必須在這厚厚的護甲上撕出一個口子來。

在此以前,密碼分析人員通常是語言天才,精通對語言方面特征的分析。但是既然ENIGMA是一種機械加密裝置,波蘭總參二局密碼處就考慮到,是否一個具有科學(xué)頭腦的人更適合于它的破譯工作呢?

1929年1月,波茲南大學(xué)數(shù)學(xué)系主任茲德齊斯羅·克里格羅夫斯基(Zdzislaw Krygowski)教授開列了一張系里最優(yōu)秀的數(shù)學(xué)家的名單,在這張名單上,有以后被稱為密碼研究“波蘭三杰”的馬里安·雷杰夫斯基(Marian Rejewski),杰爾茲·羅佐基(Jerzy Rozycki)和亨里克·佐加爾斯基(Henryk Zygalski)。波茲南大學(xué)并非當(dāng)時波蘭最有名的大學(xué),但是它地處波蘭南部,那里直到1918年還是德國領(lǐng)土,所以所有這些數(shù)學(xué)家都能講流利的德語。

在三位被密碼局招聘的數(shù)學(xué)家中,雷杰夫斯基的表現(xiàn)最為出色。當(dāng)年他是個架著一副近視眼鏡,臉上略帶羞色的二十三歲小伙子。他的在大學(xué)里學(xué)的專業(yè)是統(tǒng)計學(xué),打算以后去干保險業(yè)行當(dāng),也許在此之前他從未想到會在密碼分析方面大展身手。在經(jīng)過短期的密碼分析訓(xùn)練后,他把所有的精力都投入到破解ENIGMA的工作中去。

雷杰夫斯基深知“重復(fù)乃密碼大敵”。在ENIGMA密碼中,最明顯的重復(fù)莫過于每條電文最開始的那六個字母——它由三個字母的密鑰重復(fù)兩次加密而成。德國人沒有想到這里會是看似固若金湯的ENIGMA防線的弱點。

德方每封密文最開始的六個字母,是此信密鑰的三個字母重復(fù)兩遍,由當(dāng)日密鑰加密而成。比如說這封信的密鑰是ULJ(這是開始加密明文時由操作員臨時隨機選取的),那么操作員首先用當(dāng)日通用的密鑰加密ULJULJ,得到六個字母的加密后序列,比如說PEFNWZ,然后再用ULJ來作為密鑰加密正文,最后把PEFNWZ放在加密后的正文前,一起用電報發(fā)給收信方。

雷杰夫斯基每天都會收到一大堆截獲的德國電報,所以一天中可以得到許多這樣的六個字母串,它們都由同一個當(dāng)日密鑰加密而成。比如說他收到四個電報,其中每封電報的開頭的六個字母為:第一封電報:L O K R G M;第二封電報:M V T X Z E;第三封電報:J K T M P E;第四封電報:D V Y P Z X。對于每封電報來說,它的第一個字母和第四個字母都是由同一個字母加密而來,同樣地第二和第五個字母以及第三和第六個字母也是分別由同一個字母加密而來。比如說在第一封電報中,字母L和R是由同一字母加密而來。這個字母之所以先被加密成L,然后又被加密成了R,是因為在此期間轉(zhuǎn)子向前轉(zhuǎn)動了三個字母的位置。

從L和R是由同一個字母加密而來這點,雷杰夫斯基就有了判斷轉(zhuǎn)子的初始位置的一條線索。當(dāng)轉(zhuǎn)子處于這個初始位置時,字母L和R在某種意義下具有緊密的聯(lián)系。每天截獲的大量電文能夠給出許多這樣的緊密聯(lián)系,從而使雷杰夫斯基最終能夠判斷出轉(zhuǎn)子的初始位置。在上面的第二、三、四封電報中,我們看見M和X,J和M,D和P都有這種聯(lián)系:

第四個字母:___P_____M_RX_____________

如果雷杰夫斯基每天可以得到充分多的電報,他就可以把上面這個關(guān)系表補充完整:

第四個字母:FQHPLWOGBMVRXUYCZITNJEASDK

光憑這個對應(yīng)表格,雷杰夫斯基還是沒辦法知道當(dāng)天的通用密鑰。可是他知道,這個表格是由當(dāng)天的通用密鑰決定的,而且只由它決定。如果密鑰不同,那么這個表格也應(yīng)該不同——那么,有沒有一種辦法可以從這個對應(yīng)表來推斷出當(dāng)日的通用密鑰呢?雷杰夫斯基對這樣的表格進行了仔細觀察。從字母A開始看,它被對應(yīng)成F;而F在此表中又被對應(yīng)成W,接下去它被對應(yīng)成A,我們又回到了最先開始的字母,于是就有了一個循環(huán)的字母圈A→F→W→A。如果考慮所有的字母,雷杰夫斯基就能寫出關(guān)于此對應(yīng)表的所有的循環(huán)圈:A→F→W→A。

3個字母的循環(huán)圈B→Q→Z→K→V→E→L→R→I→B;9個字母的循環(huán)圈C→H→G→O→Y→D→P→C;7個字母的循環(huán)圈J→M→X→S→T→N→U→J。

7個字母的循環(huán)圈這里我們只是考慮了第一和第四個字母形成的對應(yīng)表。同樣地對第二和第五、第三和第六個字母形成的對應(yīng)表,我們也可以寫出類似的字母循環(huán)圈。由于每天的密鑰都不同,雷杰夫斯基得到的循環(huán)圈也各不相同。

雷杰夫斯基觀察到,這些循環(huán)圈長短不一。這使他有了一個重要的靈感:雖然這些循環(huán)圈是由當(dāng)日密鑰,也就是轉(zhuǎn)子的位置,它們的初始方向以及連接板上字母置換造成的,但是每組循環(huán)圈的個數(shù)和每個循環(huán)圈的長度,卻僅僅是由轉(zhuǎn)子的位置和它們的初始方向決定的,和連接板上字母交換的情況無關(guān)!

假定在上面這個例子中,原來在接線板上字母S和G由一根連線相連。轉(zhuǎn)子的位置和它們的初始方向保持不變,去掉這根連線而將字母T和K連在一起,那么第一和第四個字母的對應(yīng)表就會變成:

第一個字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ,第四個字母:FQHPLWKSBMNRXUYCZIOVJEAGDT(原來的G對應(yīng)O,S對應(yīng)T,去掉G和S的連線后,G就對應(yīng)T,但是T被新的連線接到了K,所以G最終對應(yīng)著K。其他受影響的字母還有H、K、S、T、X、Z)。而循環(huán)圈表就變成了:A→F→W→A。

3個字母的循環(huán)圈B→Q→Z→T→V→E→L→R→I→B;9個字母的循環(huán)圈C→H→S→O→Y→D→P→C;7個字母的循環(huán)圈J→M→X→G→K→N→U→J。

7個字母的循環(huán)圈某些循環(huán)圈中的字母變了,但是循環(huán)圈的數(shù)目仍舊是四個,每個循環(huán)圈的長度也沒有改變。應(yīng)用置換變換的理論,雷杰夫斯基可以從數(shù)學(xué)上嚴格證明這一點對于任何的連線變化都是成立的。

這是一個非常重大的進展。我們知道,如果要強行試遍所有的密鑰來破解密文,那得要試一億億個密鑰之多;但是ENIGMA的數(shù)量巨大的密鑰主要是由連接板來提供的,如果只考慮轉(zhuǎn)子的位置和它們的初始方向,只有105456種可能性。雖然這還是一個很大的數(shù)字,但是把所有的可能性都試驗一遍,已經(jīng)是一件可以做到的事情了。

波蘭人按照漢斯-提羅·施密特提供的情報復(fù)制出了ENIGMA樣機。到了1934年,他們有了十幾臺波蘭造ENIGMA。雷杰夫斯基和他的同事們每天都在ENIGMA前工作,一個接一個地試驗轉(zhuǎn)子的不同位置和初始方向,然后產(chǎn)生相應(yīng)的字母對應(yīng)表并構(gòu)造相應(yīng)的字母循環(huán)圈,并把它們記錄下來。比如說其中的一個記錄可以是這樣的: 第一和第四字母對應(yīng)表中有4個循環(huán)圈,長度分別為3,9,7,7;

第二和第五字母對應(yīng)表中有4個循環(huán)圈,長度分別為2,3,9,12;

第三和第六字母對應(yīng)表中有5個循環(huán)圈,長度分別為5,5,5,3,8;

當(dāng)對所有105456種轉(zhuǎn)子位置和初始方向都編好記錄以后,破譯ENIGMA生成的密文就比較容易了。首先要取得足夠的當(dāng)日電文來構(gòu)造字母對應(yīng)表并且寫出字母循環(huán)圈;然后根據(jù)循環(huán)圈的數(shù)目和它們的長度從記錄表中檢索出相對應(yīng)的轉(zhuǎn)子位置和初始方向:這就是當(dāng)日的密鑰(連接板的情況還未知)。循環(huán)圈的個數(shù)和長度可以看作是這個密鑰的“指紋”——通過建立密鑰“指紋”檔案,雷杰夫斯基就能及時地把當(dāng)天的密鑰找出來。通過分離轉(zhuǎn)子的狀態(tài)和連接板的狀態(tài),雷杰夫斯基大大簡化了破譯ENIGMA的工作。建立這樣一個檔案花了整整一年時間,工作相當(dāng)艱苦,有時工作人員的手指都被磨出血來。

必須指出的是,上面對雷杰夫斯基的工作的介紹是極其簡單化的,只以舉例的形式介紹了其中最重要的思路。雷杰夫斯基對于ENIGMA的分析是在密碼分析史上最重要的成就之一,整個工作都是嚴格地數(shù)學(xué)化了的(求解關(guān)于置換矩陣的方程),決非上面所舉例子可以包含。比如說,找到當(dāng)日密鑰中轉(zhuǎn)子狀態(tài)后,還需要找到連接板狀態(tài),才能真正譯出密文。另外,ENIGMA中轉(zhuǎn)子中的線路并非總是固定不變,雷杰夫斯基的理論允許從密文和密鑰倒推出轉(zhuǎn)子內(nèi)部的連線狀態(tài)。即便是施密特提供的情報也未明確指出轉(zhuǎn)子內(nèi)部的連線狀態(tài),雷杰夫斯基一項重要工作就是成功地判斷出軍用型ENIGMA的轉(zhuǎn)子上字母以字母表順序排列,而不是如商用型那樣,字母以鍵盤上的順序排列。另外還要指出的是,雷杰夫斯基的同事,尤其是另兩位數(shù)學(xué)家羅佐基和佐加爾斯基在破譯工作中也作出了很重要的貢獻。佐加爾斯基還設(shè)計了用在紙上鉆孔的方法來迅速查詢對應(yīng)于某類字母循環(huán)圈的轉(zhuǎn)子狀態(tài)的方法。

在雷杰夫斯基和他的同事的努力下,波蘭情報部門在后來的幾年里成功地掌握了大量德國方面的情報。據(jù)估計,在1933年1月到1939年9月這六年多的時間里,波蘭方面一共破譯了近十萬條德方的消息,其中最重要的有德國在包括蘇臺德地區(qū)兵力重新部署的情報,這對波蘭的安全是極大的威脅。對ENIGMA的破解即便在總參二局領(lǐng)導(dǎo)層內(nèi)部也屬最高機密,軍官們會收到標(biāo)有“維奇爾”(Wicher,破譯ENIGMA行動的代號)的情報,他們被告知這些情報絕對可靠,但來源絕密。1934年,納粹德國元帥赫爾曼·戈林訪問華沙,他怎么也沒有懷疑波蘭人已經(jīng)掌握了他的機密。當(dāng)他和德國高級官員向位處波蘭密碼處附近的無名戰(zhàn)士墓獻花圈時,雷杰夫斯基正透過辦公室的窗子望著他們,心中為自己能知道他們最機密的通訊而狂喜不已。

當(dāng)?shù)聡藢NIGMA轉(zhuǎn)子連線作出一點改動以后,花了一年功夫建立起來的密鑰“指紋”檔案就變得毫無用處了。但是雷杰夫斯基和羅佐基有了一個更好的主意。他們在ENIGMA的基礎(chǔ)上設(shè)計了一臺能自動驗證所有26*26*26=17576個轉(zhuǎn)子方向的機器,為了同時試驗三個轉(zhuǎn)子的所有可能位置的排列,就需要6臺同樣的機器(這樣就可以試遍所有的17576*6=105456種轉(zhuǎn)子位置和初始方向)。所有這6臺ENIGMA和為使它們協(xié)作的其他器材組成了一整個大約一米高的機器,能在兩小時內(nèi)找出當(dāng)日密鑰。羅佐基把它取名為“炸彈”(La Bomba),可能是因為它運轉(zhuǎn)起來震耳欲聾的聲響;不過也有人傳說,制造這樣一臺機器的主意是雷杰夫斯基一次在飯店里吃叫做“炸彈”的冰淇淋時想到的。無論如何,“炸彈”實現(xiàn)了密碼分析機械化,它是對ENIGMA機械加密的一種很自然的回應(yīng)手段。

30年代的大部分日子里,雷杰夫斯基和他的同事們不斷地從事著尋找密鑰的工作,時不時地還要修復(fù)出了故障的“炸彈”。他們不知道的是,在密碼處處長格維多·蘭杰(Gwido Langer)少校的抽屜里,已經(jīng)有了他們正在絞盡腦汁試圖尋找的東西。

事實上,在提供了兩份極其重要的關(guān)于ENIGMA的情報后,漢斯-提羅·施密特還在繼續(xù)向法國情報機關(guān)提供關(guān)于德國通訊的情報。在1931年后的七年中,他和法國情報人員接頭二十次,每次都提供若干德國通訊用密碼本,上面記載著一個月中每天使用的當(dāng)日密鑰。漢斯-提羅·施密特總共提供了三十八個月的密碼。蘭杰少校通過法國密碼處(“第二處”)負責(zé)人居斯塔夫·貝特朗(Guistav Bertrand)上尉得到了這些密碼本。如果雷杰夫斯基能夠預(yù)先知道這些密碼,無疑可以節(jié)省大量的時間,從而進行其他的同樣十分重要的破譯工作。

但是蘭杰少校覺得雷杰夫斯基的小組應(yīng)該習(xí)慣于單獨工作,以便在將來得不到密碼本的時候,也能同樣破譯ENIGMA。我們的確不知道,如果自1931年來沒有這樣的壓力,雷杰夫斯基是否能夠有上面所述的重要工作。

波蘭密碼局的破譯能力在1938年的十二月達到了極限,德國人加強了ENIGMA的加密能力。每臺ENIGMA機增加了兩個可供選擇的轉(zhuǎn)子。原來三個轉(zhuǎn)子不同的排列方式有6種,從五個轉(zhuǎn)子中選取三個裝入機器中的方式達到了5*4*3=60種。這就意味著要達到原來的效率,“炸彈”中必須有60臺機器同時運轉(zhuǎn),而不是原來的6臺。建造這樣一臺“炸彈”的價格是密碼處總預(yù)算的十五倍!在1939年一月,連接板上的連線又由六根增加到十根,這樣就只剩6個字母不會被交換。密鑰的總數(shù)達到了一萬五千九百億億個,是原來的一萬五千九百倍。

雖然波蘭數(shù)學(xué)家們成功地推斷出了第四和第五個轉(zhuǎn)子中的連線狀態(tài),雷杰夫斯基也證明了ENIGMA并非象德國人或盟國密碼分析專家想象的那樣堅不可破,但是他的方法終于也不適用了。這時蘭杰少校應(yīng)該從他的抽屜里拿出施密特提供的密碼本來——但是正是德國人增加轉(zhuǎn)子個數(shù)的時候,施密特停止了和法國情報部門的接頭。七年中施密特不斷地提供給波蘭人能靠自己的力量破譯的密鑰,波蘭人急需這些密鑰,他們卻再也搞不到了。

這對波蘭是一個致命的打擊。因為ENIGMA不僅僅是德國秘密通訊的手段,更是希特勒“閃電戰(zhàn)”(blitzkrieg)的關(guān)鍵。所謂的“閃電戰(zhàn)”是一種大規(guī)??焖賲f(xié)同作戰(zhàn),各裝甲部隊之間,它們和步兵、炮兵之間必須能夠快速而保密地進行聯(lián)系。不僅如此,地面部隊的進攻還必須由斯圖卡轟炸機群掩護支援,它們之間也必須有可靠的聯(lián)絡(luò)手段。閃電戰(zhàn)的力量在于:在快速的通訊保證下的快速進攻。

如果波蘭不能知道德軍的通訊,那么想要抵擋德國的入侵是毫無希望的,現(xiàn)在看來這在幾個月里就會發(fā)生。1939年4月27日德國撕毀同波蘭簽訂的互不侵犯條約,侵占了蘇臺德地區(qū);在德國國內(nèi),反波蘭的聲浪不斷高漲。在此情況下,蘭杰少校決定把直到現(xiàn)在還對盟國保密的關(guān)于ENIGMA的破譯方法告訴盟國同行,以便在波蘭遭到入侵后,擁有更大人力物力財力的盟國還可以繼續(xù)對雷杰夫斯基的方法進行研究。

蘭杰少校致電他的英國和法國同行,邀請他們來華沙緊急討論有關(guān)ENIGMA的事項。英法密碼分析專家到達波蘭密碼處總部,全然不知波蘭人葫蘆里賣的什么藥。具有諷刺意味的是,這次會面中用來交流使用的語言是……德語——這是唯一的在場三方所有人都懂的語言。蘭杰少校將他們領(lǐng)到一間房間,在那里有一個被黑布蒙住的東西,當(dāng)黑布被揭開時,英法的密碼分析專家目瞪口呆。出現(xiàn)在他們眼前的是一臺雷杰夫斯基的“炸彈”。當(dāng)聽到雷杰夫斯基破譯ENIGMA的方法時,他們意識到波蘭在密碼分析方面比世界上任何國家先進至少十年。法國人尤其吃驚,他們以為他們得到的情報用處不大,所以很慷慨地把它們轉(zhuǎn)給了波蘭人,他們卻讓波蘭人一直瞞著。英法密碼分析專家對波蘭同行的感激是無以言表的,直到那時,他們在破譯德國密碼的方面毫無進展。

蘭杰少校給英法密碼分析專家的最后驚喜是宣布贈送給他們兩臺ENIGMA的復(fù)制品,以及“炸彈”的圖紙,它們由法國密碼處的貝特朗(他是個少校了)通過外交郵包寄往巴黎。在橫渡英吉利海峽的渡船上有兩位看似平常的旅客:英國作家沙夏·居特里(Sacha Guitry)和他的太太女演員依弗娜·普林坦普斯(Yvonne Printemps)。但是在他們的旅行箱里卻藏著當(dāng)時英國最高的機密:一臺波蘭制造的ENIGMA。為了避開無所不在的德國間諜的耳目,ENIGMA就這樣來到了英國,在那里等待它的將是它的徹底滅亡。"

兩星期后的1939年9月1日,希特勒發(fā)動“閃電戰(zhàn)”入侵波蘭。9月17日,蘇聯(lián)入侵波蘭。9月28日,德軍占領(lǐng)華沙,波蘭不復(fù)存在。

軍事裝備1918年謝爾比烏斯為“恩尼格瑪”密碼機申請了專利,并于1920年開發(fā)出了商用的基本型和帶打印機的豪華型,但是高昂的價格(折算成今天的貨幣,約相當(dāng)于3萬美元)卻使“恩尼格瑪”密碼機少人問津。就在謝爾比烏斯研制“恩尼格瑪”密碼機的同時,還有三個人也有了類似的發(fā)明。1919年荷蘭人亞歷山大·科赫(Alexander Koch)也注冊了相似的發(fā)明專利“秘密寫作機器”,但最終因無法商業(yè)化而于1927年轉(zhuǎn)讓了這個專利(因此也有說法稱謝爾比烏斯是根據(jù)科赫的專利研制出了“恩尼格瑪”密碼機)。瑞典人阿維德·達姆(Arvid Damm)也獲得了一個同樣原理的專利,但是直到1927年他去世時還只是停留在紙面上。第三個人是美國人愛德華·赫本(Edward Hebern),而他的遭遇最為悲慘,他發(fā)明“獅身人面”密碼機,并集資三十八萬美元開辦工廠進行生產(chǎn)銷售,結(jié)果卻只賣出十來臺,收入還不到兩千美元,1926年遭到股東起訴,被判有罪而入獄。

在1923年國際郵政協(xié)會大會上,公開亮相的“恩尼格瑪”密碼機仍舊是購者寥寥。眼看“恩尼格瑪”也要無疾而終,卻突然柳暗花明——1923年英國政府公布了一戰(zhàn)的官方報告,談到了一戰(zhàn)期間英國通過破譯德國無線電密碼而取得了決定性的優(yōu)勢,這引起了德國的高度重視。隨即德國開始大力加強無線電通訊安全性工作,并對“恩尼格瑪”密碼機進行了嚴格的安全性和可靠性試驗,認為德國軍隊必須裝備這種密碼機來保證通訊安全——接到德國政府和軍隊的定單,謝爾比烏斯的工廠得以從1925年開始批量生產(chǎn)“恩尼格瑪”,1926年德軍海軍開始正式裝備,兩年后德國陸軍也開始裝備。當(dāng)然這些軍用型“恩尼格瑪”與原來已經(jīng)賣出的少量商用型在最核心的轉(zhuǎn)子結(jié)構(gòu)上有所不同,因此即使擁有商用型也并不能知道軍用型的具體情況。納粹黨掌握德國政權(quán)后也對“恩尼格瑪”密碼機的使用進行了評估,認為該密碼機便于攜帶,使用簡便,更重要的是安全性極高。對于敵方而言,即使擁有了密碼機,如果不能同時掌握三道防線所組成的密鑰,一樣無法破譯。德國最高統(tǒng)帥部通信總長埃里?!じ柤悹柹闲UJ為“恩尼格瑪”將是為德國國防軍閃擊戰(zhàn)服務(wù)的最完美的通信裝置。因此上至德軍統(tǒng)帥部,下至陸??杖?,都把“恩尼格瑪”作為標(biāo)準(zhǔn)的制式密碼機廣為使用?!聡送耆欣碛烧J為,他們已經(jīng)掌握了當(dāng)時世界最先進最安全的通訊加密系統(tǒng),那是無法破譯的密碼系統(tǒng)。然而如此愚蠢地寄信心于機器,最終只會飽嘗機器所帶來的苦果。

而“恩尼格瑪”之父謝爾比烏斯卻未能看到“恩尼格瑪”被廣泛使用,并對第二次世界大戰(zhàn)所產(chǎn)生的重大影響,他于1929年5月因騎馬時發(fā)生意外,傷重而死。

小說角色休·懷特摩爾創(chuàng)作的戲劇“破譯密碼”的內(nèi)容為艾倫·圖靈的生活,艾倫·圖靈是在二戰(zhàn)中幫助英國破解恩尼格瑪機的密碼的最大功臣。

英國暢銷書作家羅伯特·哈里斯于1996年出版的小說“恩尼格瑪”講述的是布萊切利園的密碼學(xué)家們破解恩尼格瑪?shù)倪^程。2001年這本小說被拍成了電影“恩尼格瑪”。

由喬納森·莫斯托拍攝并于2000年上映的電影U-571講的是一群美國潛艇兵為繳獲一臺恩尼格瑪機而搶了一艘德國潛艇后的故事。電影中的恩尼格瑪機是一個收藏家手里的真品。這部電影的情節(jié)并沒有嚴格地按照歷史發(fā)展,因為1932年波蘭破解恩尼格瑪是不需要一臺恩尼格瑪機的,而英國皇家海軍在美國參戰(zhàn)之前就已經(jīng)繳獲了幾臺恩尼格瑪機和許多部件,美國只是在1944年諾曼底登陸之前繳獲了一艘U型潛艇。

破譯過程1931年11月8日,法國情報人員與德軍通訊部門長官(就是他下令德軍使用恩尼格瑪密碼機的)的弟弟,漢斯-提羅·施密特,在比利時接頭。在德國密碼處工作的施密特很厭惡德國,于是他就向法國情報人員提供了兩份有關(guān)恩尼格瑪密碼機的操作和轉(zhuǎn)子內(nèi)部線路的資料。但是法國還是無法破譯它的密碼,因為恩尼格瑪密碼機的設(shè)計要求之一就是要在機器被繳獲后仍具有高度的保密性。當(dāng)時的法軍認為,由于凡爾賽條約限制了德軍的發(fā)展,所以即使無法破譯德軍的密碼,將來如果在戰(zhàn)場上相見也不會吃多大虧,于是在得出德軍密碼“無法破譯”的結(jié)論之后就再也沒有用心地研究它了。3

與法國不同,第一次世界大戰(zhàn)中新獨立的波蘭的處境卻很危險,西邊的德國根據(jù)凡爾賽條約割讓給了波蘭大片領(lǐng)土,德國人對此懷恨在心,而東邊的蘇聯(lián)也在垂涎著波蘭的領(lǐng)土。所以波蘭需要時刻了解這兩個國家的內(nèi)部信息。這種險峻的形勢造就了波蘭一大批優(yōu)秀的密碼學(xué)家。他們很容易就監(jiān)控住了德軍內(nèi)部的通訊系統(tǒng),但是1926年被德軍啟用的恩尼格瑪密碼機卻給他們造成了很大困難。

1921年,波蘭與法國簽訂了一個軍事合作協(xié)議。在波蘭的堅持之下,法國把從施密特那里得來的情報交給了波蘭人。在本文“操作步驟”一章的“指示器”一節(jié)中,我們提到了指示器步驟的嚴重缺點,波蘭人正是以這個缺點為突破口破譯了商業(yè)用恩尼格瑪密碼機。

但1941年英國海軍在Joe Baker-Cresswell艦長的斗牛犬號軍艦捕獲德國潛艇U-110才真正拿到德國海軍用的密碼機和密碼本,并將此事保密只告訴美國羅斯??偨y(tǒng),英國國王喬治六世稱贊此事件是整個二次大戰(zhàn)海戰(zhàn)中最重要的事件。這讓原本連數(shù)學(xué)天才圖靈也破譯不出的德軍密碼機得到破譯,盟軍設(shè)計的專門用來破譯恩尼格瑪密碼的“炸彈”機也大大提高了布萊切利園的工作效率。

在戰(zhàn)爭結(jié)束以后,英國人并沒有對破譯恩尼格瑪一事大加宣揚,因為他們想讓英國的殖民地用上這種機器。1967年,波蘭出版了第一本有關(guān)恩尼格瑪破譯的書,1974年,曾在布萊切利園工作過的英國人F.W.溫特伯坦姆寫的《超級機密》(The Ultra Secret)一書出版,這使外界廣泛地了解到了第二次世界大戰(zhàn)中盟軍密碼學(xué)家的辛勤工作。

2001年4月21日,以為破譯恩尼格瑪而做出了重大貢獻的三位杰出的波蘭密碼學(xué)家馬里安·雷耶夫斯基、杰爾茲·羅佐基和亨里克·佐加爾斯基命名的雷耶夫斯基、羅佐基和佐加爾斯基紀念基金在華沙設(shè)立,它在華沙和倫敦設(shè)置了這些波蘭密碼學(xué)家的紀念銘牌。2001年7月,基金會在布萊切利園安放了一塊基石,上面刻著丘吉爾的名言“在人類歷史上,從未有如此多的人對如此少的人欠得如此多?!?/p>

儀器設(shè)備軍用恩尼格瑪機德國海軍是德國第一支使用恩尼格瑪密碼機的部隊。海軍型號從1925年開始生產(chǎn),于1926年開始使用。鍵盤和顯示板包含了29個字母,即A-Z、?、?和ü,它們在鍵盤上按順序排列,而不是按一般的QWERTY式。每個轉(zhuǎn)子有28個觸點,字母X的線路不經(jīng)過轉(zhuǎn)子,也不被加密。操作員可以從一套5個轉(zhuǎn)子之中選擇三個,而反射器可以有四種安裝位置,代號分別為α、β、γ和δ。1933年7月這種型號又經(jīng)過了一些小改進。

到了1928年7月15日,德國陸軍已經(jīng)有了他們自己的恩尼格瑪密碼機,即“恩尼格瑪G型”,它在1930年6月經(jīng)過改進成為了“恩尼格瑪I型”。恩尼格瑪I型于二戰(zhàn)之前與進行的時候在德國軍方和其它一些政府組織那里得到了廣泛的應(yīng)用。恩尼格瑪I型與商業(yè)用恩尼格瑪密碼機最顯著的不同就是I型有一個接線板,這極大地提高了它的保密性。其余的一些不同點包括了固定的反射器,并且I型轉(zhuǎn)子的V形刻痕移到了字母環(huán)上。這臺機器體積為28×34×15立方厘米,重量約為12公斤。

1930年,德國陸軍建議海軍采用他們的恩尼格瑪密碼機,他們說(有接線板的)陸軍版安全性更高,并且各軍種之間的通信也會變得簡單。海軍最終同意了陸軍的提議,并且在1934年啟用了陸軍用恩尼格瑪密碼機的海軍改型,代號為“M3”。當(dāng)陸軍仍然在使用3轉(zhuǎn)子恩尼格瑪密碼機時,海軍為了提高安全性可能要開始使用5個轉(zhuǎn)子了。

1938年12月,陸軍又為每臺恩尼格瑪密碼機配備了兩個轉(zhuǎn)子,這樣操作員就可以從一套5個轉(zhuǎn)子中隨意選擇三個使用。同樣在1938年,德國海軍也加了兩個轉(zhuǎn)子,1939年又加了一個,所以操作員可以從一套8個轉(zhuǎn)子中選擇三個使用。1935年8月,德國空軍也開始使用恩尼格瑪密碼機。1942年2月1日,海軍為U型潛艇配備了一種四轉(zhuǎn)子恩尼格瑪密碼機,代號為“M4”(它的通信網(wǎng)絡(luò)叫做“蠑螈”,而盟軍叫它“鯊魚”)。

人們還生產(chǎn)了一種大型八轉(zhuǎn)子可打印型恩尼格瑪密碼機,叫做“恩尼格瑪II型”。1933年,波蘭密碼學(xué)家發(fā)現(xiàn)它被用于德軍高層之間的通訊,但是德軍很快就棄用了它,因為它不可靠,并且經(jīng)常出故障。

德國防衛(wèi)軍用的是“恩尼格瑪G型”。這種型號有四個轉(zhuǎn)子,沒有接線板,并且在轉(zhuǎn)子上有多個V形刻痕。這種恩尼格瑪密碼機還有一臺會記錄按鍵次數(shù)的計數(shù)器。

其它國家也使用了恩尼格瑪密碼機。意大利海軍使用了商業(yè)用恩尼格瑪密碼機來作為“海軍密碼機D型”。西班牙也在內(nèi)戰(zhàn)中使用了商業(yè)用恩尼格瑪密碼機。英國密碼學(xué)家成功地破譯了它的密碼,因為它沒有接線板。瑞士使用了一種叫做“K型”或“瑞士K型”(軍方與外交機構(gòu)使用)的密碼機,它與商業(yè)用恩尼格瑪密碼機D型非常相似。許多國家都破譯了它的密碼,這些國家包括了波蘭、法國、英國和美國。日軍使用了“恩尼格瑪T型”。

恩尼格瑪密碼機并不是完美的,尤其是在盟軍了解了它的原理之后。這就使盟軍能夠破譯德軍的通訊,而這在大西洋海戰(zhàn)中是具有關(guān)鍵作用的。

人們估計一共有100,000臺恩尼格瑪密碼機被建造出來。在二戰(zhàn)結(jié)束以后,盟軍認為這些機器仍然很安全,于是將他們繳獲的恩尼格瑪密碼機賣給了發(fā)展中國家。

恩尼格瑪機盟軍破解恩尼格瑪機的過程直到1970年才公開。從那以后,人們對恩尼格瑪機產(chǎn)生了越來越多的興趣,美國與歐洲的一些博物館也開始展出了一些恩尼格瑪機。慕尼黑的德國博物館有一臺3轉(zhuǎn)子和一臺4轉(zhuǎn)子恩尼格瑪機,還有幾臺商業(yè)用恩尼格瑪機。美國國家安全局的國家密碼學(xué)博物館有一臺恩尼格瑪機,來參觀的客人可以用它來加密及解密信息。美國的計算機歷史博物館,英國的布萊切利園,澳大利亞堪培拉的澳大利亞戰(zhàn)爭紀念館和德國,美國和英國一些地方也展出著恩尼格瑪機。已經(jīng)關(guān)閉了的圣迭戈計算機博物館的展品中有一臺恩尼格瑪機,它在博物館關(guān)閉后被送給了圣迭戈州立大學(xué)圖書館。一些恩尼格瑪機也成為了私人收藏品。

恩尼格瑪機有時也會被拍賣,20000美元的競拍價是并不稀奇的。

恩尼格瑪機的復(fù)制品包括了一臺德國海軍M4型的復(fù)制品,一臺電子系統(tǒng)經(jīng)過了改進的恩尼格瑪機(恩尼格瑪E型),各種計算機模擬軟件和紙制模型。

一臺罕見的序號為G312的德國情報局版恩尼格瑪機于2000年4月1日從布萊切利園被偷走。9月,一個自稱“老大”的人放出消息說他要得到25000英鎊,否則就會將那臺恩尼格瑪機毀掉。2000年10月,布萊切利園的官員宣布他們會支付這筆錢,但是在錢付完之后敲詐者卻沒有回信。就在此后不久,它被匿名地送到了BBC的記者杰里米·帕克斯曼那里,但是三個轉(zhuǎn)子卻不見了。2000年11月,一個叫做丹尼斯·葉茨的古董交易家在給星期日泰晤士報打電話要交還那些遺失的轉(zhuǎn)子后被拘捕。事后那臺恩尼格瑪機被送回了布萊切利園。2001年10月,葉茨在承認他就是偷了那臺恩尼格瑪機并對被布萊切利園董事基絲丁·拉吉(Christine Large)進行了敲詐的人后被判了10個月的有期徒刑,但他堅持說自己只是為第三者服務(wù)的一個中間人。他在入獄三個月后被釋放。

新型恩尼格瑪機恩尼格瑪機對密碼機的設(shè)計是非常有影響的,有一些其它的轉(zhuǎn)子機械就起源于它。英國的Typex機就起源于恩尼格瑪機的專利設(shè)計,它甚至包含了真實的恩尼格瑪機中并未應(yīng)用的專利設(shè)計。為了保密,英國政府沒有為應(yīng)用這些專利設(shè)計付版稅。日本使用了一種被美國密碼學(xué)家稱作GREEN的恩尼格瑪機復(fù)制品。在這臺并沒有被大量使用到的機器中,四個轉(zhuǎn)子是垂直排列的。美國密碼學(xué)家威廉·弗雷德曼設(shè)計了M-325,這是一臺與恩尼格瑪機具有相似原理的機器,但它從沒有被造出來過。

2002年,荷蘭的塔吉雅娜·凡·瓦克(Tatjana van Vark)制造了一臺獨特的轉(zhuǎn)子機器。這臺機器也是起源于恩尼格瑪機,但是它的轉(zhuǎn)子有40個金屬觸點及管腳,這就使操作員可以輸入字母,數(shù)字和一些標(biāo)點;這臺機器包含了509個部件。

商用恩尼格瑪機1918年2月23日,德國工程師阿瑟·謝爾比烏斯申請了他設(shè)計的一種使用轉(zhuǎn)子的密碼機的專利,并和理查德·里特組建了謝爾比烏斯和里特公司。他們向德國海軍和外交部推銷這種密碼機,但是沒有人對它感興趣。他們隨后將專利權(quán)移交給了Gewerkschaft Securitas,他在1923年7月9日組建了Chiffriermaschinen Aktien-Gesellschaft(意為“密碼機股份公司”);謝爾比烏斯和里特任董事。

該公司隨后開始推銷他們的“恩尼格瑪A型”轉(zhuǎn)子機,它從1923年到1924年都在萬國郵政聯(lián)盟大會展出。這臺機器很笨重,它包含了一臺打字機。它的體積為65×45×35立方厘米。重量大約為50公斤。之后,B型恩尼格瑪機也被生產(chǎn)了出來,它在結(jié)構(gòu)上與A型相似。[6]盡管名字為“恩尼格瑪”,但A和B兩種型號和后來的型號之間有很大的差別,這兩種型號在大小和形狀上有所不同,并且沒有反射器。

反射器這個主意是由謝爾比烏斯的同事威利·科恩想出來的,1926年的“恩尼格瑪C型”首先安裝了反射器。反射器是恩尼格瑪機的一個顯著特征。

C型比前幾種型號更小且更易于攜帶。它沒有配備打字機,而是由操作員來記下顯示板上的信息,所以它又有了“亮著燈的恩尼格瑪機”這樣一個外號。恩尼格瑪C型很快就被恩尼格瑪D型(1927年開始生產(chǎn))取代。D型得到了廣泛的應(yīng)用,它的樣品被送到過瑞典,荷蘭,英國,日本,意大利,西班牙,美國和波蘭。

本詞條內(nèi)容貢獻者為:

王沛 - 副教授、副研究員 - 中國科學(xué)院工程熱物理研究所