簡介
恩尼格瑪密碼機是在密碼學史中一種用於加密與解密檔案的密碼機。確切地說,恩尼格瑪是一系列相似的轉子機械的統稱,它包括了一系列不同的型號。
二戰期間,採用無線電傳送的情報存在被盟軍攔截的可能性,於是德國人發明了密碼編譯機——恩尼格瑪機。恩尼格瑪機表面看上去就像常用打字機,但功能卻與印表機有著天壤之別。鍵盤與電流驅動的轉子相連,可以多次改變每次敲擊的數字。相應信息以摩斯密碼輸出,同時還需要密鑰,而密鑰每天都會修改。恩尼格瑪密碼宣告了手工編碼技術的結束,奠定了計算機加密技術的基礎。
恩尼格瑪在1920年代早期開始被用於商業,也被一些國家的軍隊與政府採用過,在這些國家中,最著名的是第二次世界大戰時的納粹德國。在恩尼格瑪密碼機的所有版本中,德國使用的軍用版“德國防衛軍恩尼格瑪機”是最常被人們提到的版本。儘管此機器的安全性較高,但盟軍的密碼學家們還是成功地破譯了大量由這種機器加密的信息。1932年,波蘭密碼學家馬里安·雷耶夫斯基,傑爾茲·羅佐基和亨里克·佐加爾斯基破譯了這種機器的密碼。1939年中期,波蘭政府將此破譯方法告知了英國和法國。盟軍的情報部門將破譯出來的密碼稱為ULTRA,這極大地幫助了盟軍。人們都普遍認為盟軍在西歐的勝利能夠提前兩年,完全是因為恩尼格瑪密碼機被成功破譯。
在二戰中,德國憑藉這種號稱“永遠無法破譯的超級密碼”取得了一個又一個令自己興奮的戰果。當德國人還陶醉於自己的“無敵發明”時,恩尼格瑪密碼機成為英國人手中的利器。為徹底埋葬這個秘密,戰後,英國拆毀了千辛萬苦研製出來的“炸彈”,銷毀了設計圖紙和各種檔案資料。布萊奇利莊園中幾千名工作人員在宣誓堅決保守秘密後被遣散。直到20世紀70年代,隨著計算機加密技術的發展,恩尼格瑪密碼機已經落後了,保密工作也顯得毫無意義,真相才逐漸大白於天下。
發明背景
自從無線電和摩爾斯電碼問世後,軍事通訊進入了一個嶄新的時代,但是無線 電通訊完全是一個開放的系統,在己方接受電文的同時,對方也可“一覽無遺”,因此人類歷史上伴隨戰爭出現的密碼,也就立即與無線電結合,出現了無線電密碼。直到第一次世界大戰結束,所有無線電密碼都是使用手工編碼。毫無疑問,手工編碼效率極其低下,同時由於受到手工編碼與解碼效率的限制,使得許多複雜的保密性強 的加密方法無法在實際中套用,而簡單的加密方法又很容易被破譯,因此在軍事通訊領域,急需一種安全可靠, 而又簡便有效的方法。
1918年德國發明家亞瑟·謝爾比烏斯(Arthur Scherbius)和理察·里特(Richard Ritter)創辦了一家新技術套用公司,曾經學習過電氣套用的謝爾比烏斯,想利用現代化的電氣技術,來取代手工編碼加密方法,發明一種能夠自動編碼的機器。謝爾比烏斯給自己所發明的電氣編碼機械取名“恩尼格瑪”(ENIGMA,意為啞謎) ,乍看是個放滿了複雜而精緻的元件的盒子,粗看和打字機有幾分相似。可以將其簡單分為三個部分:鍵盤、轉子和顯示器。
恩尼格瑪密碼機在間諜史上赫赫有名,在二戰更是引導間諜風雲,成為影響戰局翻雲覆雨的靈掌。事實上,它發明於1920年,一開始被一些商業企業採用,德國很快就將其納入軍事用途,軍用版德國防衛軍恩尼格瑪機從此正式現身。
誕生
恩尼格瑪機由德國發明家亞瑟•謝爾比烏斯和理察•里特於1918年製造。確切地說,是一種用於加密與解密檔案的密碼機。大體由三部分組成:鍵盤、轉子和顯示器。由於其性質,謝爾比烏斯將這種電氣編碼機械取名“恩尼格瑪”(ENIGMA,意為啞謎),它來源於英國作曲家愛德華•艾爾加的《謎之變奏曲》。
謝爾比烏斯在1918年為“恩尼格瑪”密碼機申請了專利,於1920年開發出產品,但由於成本太高而無人問津,而且他還同時面對著三個競爭對手,荷蘭人亞歷山大•科赫、瑞典人阿維德•達姆、美國人愛德華•赫本也同在這個項目上申請了專利。
“恩尼格瑪”密碼機最初並沒有給他的發明者帶來許多好處,也沒有引起軍方的重視。直到1923年國際郵政協會大會,英國政府公布了一戰的官方報告,提及一戰期間英國通過破譯德國無線電密碼所取得的決定性優勢。警惕的德國人迅速捕捉到了這個重要信息,“恩尼格瑪”密碼機從此登堂入室,大展身手。
1925年,謝爾比烏斯的工廠開始批量生產“恩尼格瑪”,1926年德軍海軍開始正式裝備,兩年後德國陸軍也開始裝備。到了德國希特勒時期,上至德軍統帥部,下至陸海空三軍,都把“恩尼格瑪”作為標準的制式密碼機廣為使用,認為其是當時世界最先進最安全的通訊加密系統,無法破譯的密碼系統。
工作原理
鍵盤一共有26個鍵,鍵盤排列和現在廣為使用的計算機鍵盤基本一樣,只不過為了使通訊儘量地短和難以破 譯,空格、數字和標點符號都被取消,而只有字母鍵。鍵盤上方就是顯示器,這可不是現在意義上的螢幕顯示器 ,只不過是標示了同樣字母的26個小燈泡,當鍵盤上的某個鍵被按下時,和這個字母被加密後的密文字母所對應的小燈泡就亮了起來,就是這樣一種近乎原始的“顯示”。在顯示器的上方是三個直徑6厘米的轉子,它們的主要部分隱藏在面板下,轉子才是“恩尼格瑪”密碼機最核心關鍵的部分。如果轉子的作用僅僅是把一個字母換成 另一個字母,那就是密碼學中所說的“簡單替換密碼”,而在公元九世紀,阿拉伯的密碼破譯專家就已經能夠嫻 熟地運用統計字母出現頻率的方法來破譯簡單替換密碼,柯南·道爾在他著名的福爾摩斯探案《跳舞的小人》里 就非常詳細地敘述了福爾摩斯使用頻率統計法破譯跳舞人形密碼(也就是簡單替換密碼)的過程。——之所以叫 “轉子”,因為它會轉!這就是關鍵!當按下鍵盤上的一個字母鍵,相應加密後的字母在顯示器上通過燈泡閃亮 來顯示,而轉子就自動地轉動一個字母的位置。舉例來說,當第一次鍵入A,燈泡B亮,轉子轉動一格,各字母所對應的密碼就改變了。第二次再鍵入A時,它所對應的字母就可能變成了C;同樣地,第三次鍵入A時,又可能是 燈泡D亮了。——這就是“恩尼格瑪”難以被破譯的關鍵所在,這不是一種簡單替換密碼。同一個字母在明文的不同位置時,可以被不同的字母替換,而密文中不同位置的同一個字母,又可以代表明文中的不同字母,字母頻率分析法在這裡絲毫無用武之地了。這種加密方式在密碼學上被稱為“複式替換密碼”。
但是如果連續鍵入26個字母,轉子就會整整轉一圈,回到原始的方向上,這時編碼就和最初重複了。而在加密過程中,重複的現象就很是最大的破綻,因為這可以使破譯密碼的人從中發現規律。於是“恩尼格瑪”又增加了一個轉子,當第一個轉子轉動整整一圈以後,它上面有一個齒輪撥動第二個轉子,使得它的方向轉動一個字母的位置。假設第一個轉子已經整整轉了一圈,按A鍵時顯示器上D燈泡亮;當放開A鍵時第一個轉子上的齒輪也帶動第二個轉子同時轉動一格,於是第二次鍵入A時,加密的字母可能為E;再次放開鍵A時,就只有第一個轉子轉動了,於是第三次鍵入A時,與之相對應的就是字母就可能是F了。
因此只有在26x26=676個字母后才會重複原來的編碼。而事實上“恩尼格瑪”有三個轉子(二戰後期德國海 軍使用的“恩尼格瑪”甚至有四個轉子!),那么重複的機率就達到26x26x26=17576個字母之後。在此基礎 上謝爾比烏斯十分巧妙地在三個轉子的一端加上了一個反射器,把鍵盤和顯示器中的相同字母用電線連在一起。 反射器和轉子一樣,把某一個字母連在另一個字母上,但是它並不轉動。
乍一看這么一個固定的反射器好像沒什麼用處,它並不增加可以使用的編碼數目,但是把它和解碼聯繫起來就會看出這種設計的別具匠心了。當一個鍵被按下時,信號不是直接從鍵盤傳到顯示器,而是首先通過三個轉子連成的一條線路,然後經過反射器再回到三個轉子,通過另一條線路再到達顯示器上,比如說A鍵被按下時,亮的是D燈泡。如果這時按的不是A鍵而 是D鍵,那么信號恰好按照上面A鍵被按下時的相反方向通行,最後到達A燈泡。換句話說,在這種設計下,反射器雖然沒有象轉子那樣增加不重複的方向,但是它可以使解碼過程完全重現編碼過程。
使用“恩尼格瑪”通訊時,發信人首先要調節三個轉子的方向(而這個轉子的初始方向就是密匙,是收發雙 方必須預先約定好的),然後依次鍵入明文,並把顯示器上燈泡閃亮的字母依次記下來,最後把記錄下的閃亮字 母按照順序用正常的電報方式傳送出去。
收信方收到電文後,只要也使用一台“恩尼格瑪”,按照原來的約定, 把轉子的方向調整到和發信方相同的初始方向上,然後依次鍵入收到的密文,顯示器上自動閃亮的字母就是明文了。加密和解密的過程完全一樣,這就是反射器的作用,同時反射器的一個副作用就是一個字母永遠也不會被加密成它自己,因為反射器中一個字母總是被連線到另一個不同的字母。
“恩尼格瑪”加密的關鍵就在於轉子的初始方向。當然如果敵人收到了完整的密文,還是可以通過不斷試驗 轉動轉子方向來找到這個密匙,特別是如果破譯者同時使用許多台機器同時進行這項工作,那么所需要的時間就會大大縮短。對付這樣“暴力破譯法”(即一個一個嘗試所有可能性的方法),可以通過增加轉子的數量來對付 ,因為只要每增加一個轉子,就能使試驗的數量乘上26倍!不過由於增加轉子就會增加機器的體積和成本,而密碼機又是需要能夠便於攜帶的,而不是一個帶有幾十個甚至上百個轉子的龐然大物。
那么方法也很簡單,“恩尼格瑪”密碼機的三個轉子是可以拆卸下來並互相交換位置,這樣一來初始方向的可能性一下就增加了六倍。假設三個轉子的編號為1、2、3,那么它們可以被放成123-132-213-231-312-321這六種不同位置,當然現在收發密文的雙方除了要約定轉子自身的初始方向,還要約好這六種排列中的一種。而除了轉子方向和排列位置,“ 恩尼格瑪”還有一道保障安全的關卡,在鍵盤和第一個轉子之間有塊連線板。通過這塊連線板可以用一根連線把某個字母和另一個字母連線起來,這樣這個字母的信號在進入轉子之前就會轉變為另一個字母的信號。這種連線最多可以有六根(後期的“恩尼格瑪”甚至達到十根連線),這樣就可以使6對字母的信號兩兩互換,其他沒有 插上連線的字母則保持不變。——當然連線板上的連線狀況也是收發雙方預先約定好的。
就這樣轉子的初始方向、轉子之間的相互位置以及連線板的連線狀況就組成了“恩尼格瑪”三道牢不可破的 保密防線,其中連線板是一個簡單替換密碼系統,而不停轉動的轉子,雖然數量不多,但卻是點睛之筆,使整個系統變成了複式替換系統。連線板雖然只是簡單替換卻能使可能性數目大大增加,在轉子的複式作用下進一步加強了保密性。讓我們來算一算經過這樣處理,要想通過“暴力破譯法”還原明文,需要試驗多少種可能性:三個轉子不同的方向組成了26x26x26=17576種可能性;三個轉子間不同的相對位置為6種可能性;連線板上兩兩交換6對字母的可能性則是異常龐大,有100391791500種;於是一共有17576x6x100391791500,其結果大約為10000000000000000,即一億億種可能性,這樣龐大的可能性,換言之,即便能動員大量的人力物力,要想靠“ 暴力破譯法”來逐一試驗可能性,那幾乎是不可能的。而收發雙方,則只要按照約定的轉子方向、位置和連線板連線狀況,就可以非常輕鬆簡單地進行通訊了。這就是“恩尼格瑪”密碼機的基本原理。
保密原理
與其它鏇轉機相同的是,恩尼格瑪機也結合了機械系統與電子系統。機械系統包括了一個包含了字母與數字的鍵盤,相鄰地排列在一個軸上的一系列名為“鏇轉盤”的鏇轉圓盤,還有一個在每次按鍵後就使一個或幾個鏇 轉盤鏇轉的裝置。各種恩尼格瑪機上的機械系統都各為不同,但是,但是它們之間最大的共同點就是在每次按鍵後最右邊的鏇轉盤都會鏇轉,並且有些時候與它相鄰的一些鏇轉盤也會鏇轉。鏇轉盤持續的鏇轉會造成每次按鍵後得到的加密字母都會不一樣。
機械系統這樣運行的原因是要產生不同的電流通路,字母的加密由機器自動完成。當一個鍵被按下後,電流 就會流過各種線路,最終點亮其中一個燈,這個燈顯示的就是加密後的字母。舉例來說,如果想要傳送一條以ANX開頭的信息,操作員會先按下A鍵,這時燈Z就可能變亮,Z就是加密後的信息的第一個字母。操作員之後會按同樣的步驟繼續輸入信息。
恩尼格瑪機擁有顯示燈,按鍵,插孔和線路各26個。電流首先從電池一流到雙向開關二 ,再流到接線板③。接線板的作用是將鍵盤二與固定介面四連線起來。接下來,電流會流到固定介面四,然後流經3個(德國防衛軍版)或4個(德國海軍M4版和德國阿博維爾情報局版)鏇轉盤伍,之後進入反射器。反射器將電流從另一條線路向反方導出,電流會再一次通過鏇轉盤伍和固定介面四,之後到達插孔S,又通過一條電線 ⑧流到插孔D,最後通過另一個雙向開關去點亮顯示燈。鏇轉盤的轉動造成的電流路徑的持續變化使恩尼格瑪機(在當時)具有了高度的保密性。
設計結構
鏇轉盤
鏇轉盤組成了恩尼格瑪機的核心部分。每個鏇轉盤的直徑大約為10厘米,形狀為圓盤形,由硬質橡膠或電木製成,一系列由彈簧承載的黃銅管腳呈環形排列於其中一面,而另一面相對應的 則是圓形的金屬觸點。管腳與觸點代表的是字母表上的全部字母,典型的排列就是A-Z(以下的介紹全部假設鏇轉盤為這種排列方式)。當兩個鏇轉盤的位置相鄰時,其中一個的管腳就會接觸另外一個的金屬觸點,這就形成了一個通路。在鏇轉盤內部,有26條金屬線將一面的管腳與另一面的觸點連線起來,這些金屬線的排列方式在每個鏇轉盤內都有所不同。
單一的一個鏇轉盤的加密方式是很簡單的,它只使用了一種初級的替換式密碼。比如說,E鍵對應的管腳可能會連到同一個鏇轉盤另一面的T觸點。使恩尼格瑪機的加密變得複雜的是多個鏇轉盤的同時使用,一般在一台恩尼格瑪機內有3個或4個鏇轉盤,在輸入信息的同時鏇轉盤還會轉動,這就產生了一種安全得多的加密方式。
當被放進恩尼格瑪機後,一個鏇轉盤可以有26種排列方法。它可以通過操作員來轉動,為了使操作員知道鏇轉盤的轉動情況,每個鏇轉盤在轉盤外部都有一個刻著字母或數字的環;其中一個字母可以通過一個小窗看見,同時將鏇轉盤的轉動情況顯示給操作員。在早期的型號中,這個字母環是固定於鏇轉盤上的,但在後來的型號當中,操作員可以通過調整字母環的位置而調整鏇轉盤內的線路。每個鏇轉盤上都有一個V形刻痕(有時有多個),這些刻痕是用來控制鏇轉盤的轉動的。在軍用恩尼格瑪機中,這些刻痕位於字母環上。
陸軍和空軍的恩尼格瑪機在一開始只擁有3個鏇轉盤,1938年12月15日開始使用5個鏇轉盤。這些鏇轉盤使用羅馬數字來辨識:I,II,III,IV,V,每個鏇轉盤都有一個V形刻痕,這些刻痕在每個鏇轉盤上的字母環中的位置都有所不同。這本來是作為一種安全措施的,但是它最終成為了波蘭時解碼法和英國Banburismus解碼法的突破口。
德國海軍使用的恩尼格瑪機比其它軍種的擁有更多鏇轉盤 (調節器):一開始為6個,後來變成7個,最終增加到8個。這三個新加的鏇轉盤被命名為VI,VII和VIII,內部線路互不相同,並且具有兩個V形刻痕,它們分別位於N觸點與A觸點,這使鏇轉盤的轉動更為頻繁。
四鏇轉盤的海軍版恩尼格瑪機為鏇轉盤預留的空間與三鏇轉盤版的一樣。為了放入第4個鏇轉盤,原來三鏇轉盤版的反射器需要被換成一個較薄的反射器,並且第4個鏇轉盤也是一個特殊的鏇轉盤。這第4個鏇轉盤有兩種型號,即Beta型和Gamma型。這個鏇轉盤是不會鏇轉的,但是它可以被手動調到26個位置中的任意一個。
轉動結構
恩尼格瑪機鏇轉盤的轉動示意圖。綠色的為防倒轉裝置。第一個鏇轉盤的防倒轉齒總是與防倒轉爪相接,所以在每一次按鍵後都會轉動。第二個鏇轉盤的防倒轉齒現在與防倒轉爪相接,因為防倒轉爪位於第一個鏇轉盤上的缺口內。而第三個鏇轉盤的防倒轉齒沒有與防倒轉爪相接,因為防倒轉爪位於第二個鏇轉盤上的缺口以外,所以它只會沿著第二個鏇轉盤的光滑外緣滑動。為了避免產生簡單(並且容易破譯)的加密信息,有一些鏇轉盤在操作員連續按下同一個鍵時也會轉動。這就保證了每次按鍵得到的結果都不一樣,也就會產生很難破譯的複式密碼。
為了達到這個效果,最常見的佈局就是使用一個防倒轉齒和防倒轉爪系統。每個鏇轉盤都有26個防倒轉齒,一組防倒轉爪與這些齒相接。這些爪在每次按鍵後都會向前推,如果防倒轉爪與防倒轉齒相接的話,鏇轉盤就會鏇轉一點。
在德國防衛軍恩尼格瑪機中,每個鏇轉盤都有一個可調節的帶缺口的外環。5個最基本的鏇轉盤(I-V)各有一個缺口,而附加的鏇轉盤VI。VII,和VIII各有兩個缺口。在鏇轉盤轉動到某一點時,第二個鏇轉盤的防倒轉爪正好位於它的缺口之內,這就使第二個鏇轉盤在下一次按鍵後也會轉動。當防倒轉爪位於缺口之外時,它就只會沿著另一個鏇轉盤外環的光滑邊緣滑動。在所有鏇轉盤都只有一個缺口的系統中,第一個鏇轉盤每轉26次就會使第二個鏇轉盤轉動一次,同樣的,第二個鏇轉盤每轉動26次就會使第三個鏇轉盤轉動一次。第三個鏇轉盤轉動的同時第二個鏇轉盤也會轉動。
這種兩個鏇轉盤同時轉動的現象使它與計程器區別開來。這個現象出現於下述情況:第一個鏇轉盤轉動完之後帶動了第二個鏇轉盤轉動一點,如果這時第三個鏇轉盤的防倒轉爪正好落入第二個鏇轉盤外環的缺口內,那么在下一次按鍵時,第三個鏇轉盤就會轉動一點,同時它的防倒轉爪也會推動第二個鏇轉盤的外環,這樣就使第二個鏇轉盤連續兩次轉動。
當擁有三個鏇轉盤,並且第一和第二個鏇轉盤的外環各有一個缺口時,一台恩尼格瑪機就會擁有26 × 25 × 26 = 16,900個組合(不是26 X 26 X 26,因為第二個鏇轉盤會與第三個鏇轉盤一起轉動)。在歷史上,每條信息的長度都被限制在幾百個字母以內,所以在同一條信息中輸入同樣的字母產生同樣的密碼的幾率是很小的。
為了給1942年啟用的海軍用第四個鏇轉盤騰出空間,反射器經過了改造變得非常薄,多出來的空間就可以放入第四個特殊的鏇轉盤。鏇轉盤系統的其餘部分不做改變。因為整個系統中只有三個防倒轉爪,所以第四個鏇轉盤從來都不會自動轉動,但是它的位置可以手動調節。
當按下一個鍵後,鏇轉盤會在電路接通之前轉動。
固定介面
固定介面,又稱作定子,是將插銷或鍵盤與顯示燈連線起來的裝置。儘管固定介面中的線路分佈對於密碼的安全性影響很小,但是這還是阻礙了波蘭密碼學家馬利安·雷耶夫斯基對恩尼格瑪機密碼的破譯過程。商業恩尼格瑪機的鍵盤上,Q鍵代表A,W鍵代表B,E鍵代表C,依此類推,而軍用恩尼格瑪機的鍵對應的就是鍵上的字母。
反射器
除了早期的A型和B型之外,最後一個鏇轉盤位於一個反射器之前,反射器是恩尼格瑪機與當時設計的其它鏇轉機之間最顯著的區別。反射器將最後一個鏇轉盤的其中兩個觸點連線起來,並將電流沿一個不同的路線導回。這就使加密過程與解密過程變得一樣。但是,反射器也使恩尼格瑪具有瞭如下性質:加密後得到的字母與輸入的字母永遠不會相同。這在概念上和密碼學上都是一個嚴重的錯誤,這個錯誤最終被盟軍解碼人員利用。在商業用恩尼格瑪機(C型)中,反射器可以有兩種不同的安裝方式。在D型中它可以有26種方式。而在軍用恩尼格瑪機中,反射器可以像鏇轉盤一樣轉動。在德國陸軍和空軍版恩尼格瑪機中,反射器是固定的,並且不會鏇轉;他們用的恩尼格瑪機一共有4個版本。最初的版本被標記為A型,1937年11月1日它被B型取代。第三種型號,C型,在1940年被短暫地使用過,它最終被木屋6號破解。D型擁有一個可以重新接線的反射器,首次測試於1944年1月2日,這個版本允許操作員來調整接線方式。
接線板
接線板位於恩尼格瑪機前部鍵盤的下方。當用到接線板時,操作員最多可以在上面接13條線。接線板上共有兩對字母被連線起來(S-O和J-A)。接線板允許操作員設定各種不同的線路。它首先在1930年被用於德國陸軍,很快地,德國海軍也開始使用它。接線板極大地增強了恩尼格瑪機的保密性,它的使用相當於多了不止一個鏇轉盤。沒有接線板的恩尼格瑪機可以被很容易地用人工方法破解,但是加上接線板後,盟軍的密碼專家就需要使用特殊的機器了。
接線板上的每條線都會連線一對字母。這些線的作用就是在電流進入鏇轉盤前改變它的方向。為了解釋它的原理,我們把E插口和Q插口連線起來。當操作員按下E鍵時,電流就會先流到Q插口(相當於按下Q鍵)再流經鏇轉盤。接線板上最多可以同時接13條線。電流會從鍵盤流經接線板,之後進入鏇轉盤。接線板上的每個插口內都有兩個插孔,當將插頭插入時,上插孔(連到鍵盤)與下插孔(連到鏇轉盤)之間的連線就會被斷開。另外一個插口內的上插孔會與此插口內的下插孔連線起來,而下插孔會與此插口內的上插孔連線起來,這樣就完成了兩個插口之間的連線。Schreibmax是一種可以與恩尼格瑪機連線的列印裝置,有了它,操作員就不用辛苦地抄下顯示板上的字母了。
附屬檔案
Uhr配件M4版恩尼格瑪機配備的一個很有用的附屬檔案就是Schreibmax,這是一台小型印表機,它可以將字母打在一張紙條上。這就使德軍不用再使用第二個操作員來記下顯示板上的字母了。Schreibmax位於恩尼格瑪機的頂部並與顯示板連線。為了安裝Schreibmax,顯示板的蓋子與裡面的所有燈泡都需要被拆下。Schreibmax除了使用方便之外還可以提高保密性,因為它可以放置在離恩尼格瑪機很遠的地方,這樣就不會有第三者看見未加密的原文了。另外一個附屬檔案就是獨立式顯示板。如果恩尼格瑪機配備了一個附加的顯示板,那么裝它的木盒就會更寬。安裝獨立式顯示板也要求將顯示板的蓋子與裡面的燈泡拆下。1944年德國空軍啟用了Uhr系統。這是一個包含了一個鏇鈕的盒子,這個鏇鈕有40種位置。這個盒子的功能相當於接線板。
數學組合
恩尼格瑪對每個字母的加密過程可以以數學的角度看作為一個組合過程。假設有一台德國陸軍/空軍版3鏇轉盤恩尼格瑪機,讓P表示接線板的連線,U表示反射器,L,M,R表示左,中,右鏇轉盤。
操作步驟
德軍的各支部隊使用一些不同的通訊線路,每條線路中的恩尼格瑪機都有不同的設定。為了使一條信息能夠正確地被加密及解密,傳送信息與接收信息的恩尼格瑪機的設定必須相同;鏇轉盤必須一模一樣,而且它們的排列順序,起始位置和接線板的連線也必須相同。所有這些設定都需要在使用之前確定下來,並且會被記錄在密碼本中。
恩尼格瑪機的設定包含了以下幾個方面:
鏇轉盤:鏇轉盤的結構及順序。
起始位置:由操作員決定,傳送每條訊息時都不一樣。
字母環:字母環與鏇轉盤線路的相對位置。
接線板:接線板的連線。
在末期版本中還包括了反射器的線路。
恩尼格瑪機被設計成即使在鏇轉盤的線路設定被敵人知道時仍然會很安全,儘管在實際使用中德軍盡了全力來防止線路設定被泄露出去。如果線路設定為未知,那麼最多需要嘗試10114種情況才可能推算出恩尼格瑪機的密碼;當線路和其它一些設定已知時,也最多需要嘗試1023次。恩尼格瑪的使用者對它的保密性很有信心,因為敵人不可能使用窮舉法來找出密碼。
指示器
恩尼格瑪的大部分設定都會在一段時間(一般為一天)以後被更換。但是,鏇轉盤的起始位置卻是每傳送一條信息就要更換的,因為如果一定數量的信息都按照相同的加密設定來加密的話,密碼學家就會從中得到一些信息,並且有可能利用頻率分析來破解這個密碼。為了防止這種事情發生,鏇轉盤的起始位置在每次傳送信息之前都會被改變。這個方法被稱作“指示器步驟”。
當蓋子蓋上後,恩尼格瑪就可以開始使用了。鏇轉盤的外緣從蓋子內伸出,使操作員能夠改變它的位置,而且這些鏇轉盤現在的位置(RDKP)可以通過一系列小窗讓操作員看見。最早期的指示器步驟成為了波蘭密碼學家破譯恩尼格瑪機密碼的突破口。在這個步驟中,操作員會先按照密碼本中的記錄來設定機器,我們假設這時的鏇轉盤位置為AOH,之後他會隨意打三個字母,假設為EIN,接著為了保險起見,他會將這三個字母重新打一遍。這六個字母會被轉換成其它六個字母,這裡假設為XHTLOA。最後,操作員會將鏇轉盤重新設定為EIN,即他一開始打的三個字母,之後輸入密電原文。在接收方將信息解密時,他會使用相反的步驟。首先,他也會將鏇轉盤按照密碼本中的記錄設定好,然後他就會打入密文中的頭六個字母,即XHTLOA,如果傳送方操作正確的話,顯示板上就會顯示EINEIN。這時接收方就會將鏇轉盤設定為EIN,之後他就可將密電打入而得到原文了。
這個步驟的保密性差主要有兩個原因。首先,操作員將鏇轉盤的設定打到了密電中,這就使第三方能夠得知鏇轉盤設定。第二,這個步驟中出現了重複輸入,而這是一個嚴重的錯誤。這個弱點使波蘭密碼局早在1932年就破解了二戰之前的德軍恩尼格瑪系統。但是從1940年開始,德國改變了這個步驟,它的安全性也就提高了。
這個步驟只被用於德國陸軍和空軍。德國海軍傳送信息的步驟要複雜的多。在被恩尼格瑪機傳送之前,信息會先被Kurzsignalheft密碼本進行加密。這個密碼本將一個句子替換為了四個字母。它轉化的句子包括了補給,位置,港灣名稱,國家。武器,天氣,敵人位置,日期和時間等內容。
縮寫與指導
德國陸軍的恩尼格瑪機的鍵盤上只有26個字母。標點符號由字母組合來代替。X相當於空格。在各軍種的恩尼格瑪機中,X都相當於句號。有一些標點符號在不同軍種的密碼系統中被不同的字母組合代替。陸軍的系統使用ZZ來表示逗號,FRAGE或FRAQ則表示問號。但是德國海軍用來表示逗號及問號的則分別為Y和UD。Acht(意為“八”)和Richtung(意為“方向”)中的字母組合CH則由Q來代替。CENTA,MILLE和MYRIA分別表示兩個,三個和四個零。
德國陸軍和空軍將每條信息都翻譯成5個字母的代碼。使用四鏇轉盤恩尼格瑪機的德國海軍則將信息翻譯成4字母代碼。經常用到的詞語代碼與原詞語的差別越大越好。Minensuchboot(意為“掃雷艇”)這樣的詞語可以被表示為MINENSUCHBOOT, MINBOOT,MMMBOOT或MMM354。比較長的信息會被分成幾個部分來傳送。
機型發展
恩尼格瑪系列中包含了許多型號。最初的恩尼格瑪機是1920年代早期用的商業用型號。1920年代中期,德國軍方的各支部隊也開始使用恩尼格瑪機,他們進行了一些改進以提高它的保密性。一些其它國家也使用了恩尼格瑪機或它的仿製品。美國國家密碼博物館展出的一些恩尼格瑪機。
商業用恩尼格瑪機
謝爾比烏斯的設計— 美國專利1,657,411 ,1928年取得專利。1918年2月23日,德國工程師阿瑟·謝爾比烏斯申請了他設計的一種使用鏇轉盤的密碼機的專利,並和理察·里特組建了謝爾比烏斯和里特公司。他們向德國海軍和外交部推銷這種密碼機,但是沒有人對它感興趣。他們隨後將專利權移交給了Gewerkschaft Securitas,他在1923年7月9日組建了Chiffriermaschinen Aktien-Gesellschaft(意為“密碼機股份公司”);謝爾比烏斯和里特任董事。恩尼格瑪機的徽標該公司隨後開始推銷他們的“恩尼格瑪A型”鏇轉盤機,它從1923年到1924年都在萬國郵政聯盟大會展出。這台機器很笨重,它包含了一臺打字機。它的體積為65×45×35立方厘米。重量大約為50公斤。之後,B型恩尼格瑪機也被生產了出來,它在結構上與A型相似。儘管名字為“恩尼格瑪”,A和B兩種型號和後來的型號之間有很大的差別,這兩種型號在大小和形狀上有所不同,並且沒有反射器。
反射器這個主意是由謝爾比烏斯的同事威利·科恩想出來的,1926年的“恩尼格瑪C型”首先安裝了反射器。反射器是恩尼格瑪機的一個顯著特徵。一臺罕見的8鏇轉盤恩尼格瑪機C型比前幾種型號更小且更易於攜帶。它沒有配備打字機,而是由操作員來記下顯示板上的信息,所以它又有了“亮著燈的恩尼格瑪機”這樣一個外號。恩尼格瑪C型很快就被恩尼格瑪D型(1927年開始生產)取代。D型得到了廣泛的套用,它的樣品被送到過瑞典,荷蘭,英國,日本,義大利,西班牙,美國和波蘭。
軍用恩尼格瑪機
德國海軍是德國第一支使用恩尼格瑪機的部隊。海軍型號從1925年開始生產,於1926年開始使用。鍵盤和顯示板包含了29個字母,即A-Z,Ä,Ö和Ü,它們在鍵盤上按順序排列,而不是按一般的QWERTY式。每個鏇轉盤有28個觸點,字母X的線路不經過鏇轉盤,也不被加密。操作員可以從一套5個鏇轉盤之中選擇三個,而反射器可以有四種安裝位置,代號分別為α,β,γ和δ。1933年7月這種型號又經過了一些小改進。
到了1928年7月15日,德國陸軍已經有了他們自己的恩尼格瑪機,即“恩尼格瑪G型”,它在1930年6月經過改進成為了“恩尼格瑪I型”。恩尼格瑪I型於二戰之前與進行的時候在德國軍方和其它一些政府組織那裡得到了廣泛的套用。恩尼格瑪I型與商業用恩尼格瑪機最顯著的不同就是I型有一個接線板,這極大地提高了它的保密性。其餘的一些不同點包括了固定的反射器,並且I型鏇轉盤的V形刻痕移到了字母環上。海軍最終同意了陸軍的提議,並且在1934年用了陸軍用恩尼格瑪機的海軍改型,。當陸軍仍然在使用3鏇轉盤恩尼格瑪機時,海軍為了提高安全性可能要開始使用5個鏇轉盤了。
1938年12月,陸軍又為每台恩尼格瑪機配備了兩個鏇轉盤,這樣操作員就可以從一套5個鏇轉盤中隨意選擇三個使用。同樣在1938年,德國海軍也加了兩個鏇轉盤,1939年又加了一個,所以操作員可以從一套8個鏇轉盤中選擇三個使用。[17]1935年8月,德國空軍也開始使用恩尼格瑪機。1942年2月1日,海軍為U型潛艇配備了一種四鏇轉盤恩尼格瑪機,代號為「M4」而盟軍叫它“鯊魚”)。人們還生產了一種大型八鏇轉盤可列印型恩尼格瑪機,叫做“恩尼格瑪II型”。1933年,波蘭密碼學家發現它被用於德軍高層之間的通訊,但是德軍很快就棄用了它,因為它不可靠,並且經常出故障。德國防衛軍使用的恩尼格瑪G型,它有四個鏇轉盤,沒有接線板,並且在鏇轉盤上有多個V形刻痕。德國防衛軍用的是”恩尼格瑪G型“。這種型號有四個鏇轉盤,沒有接線板,並且在鏇轉盤上有多個V形刻痕。這種恩尼格瑪機還有一台會記錄按鍵次數的計數器。
瑞士的4鏇轉盤恩尼格瑪K型,生產於德國,它使用了重新接線的鏇轉盤。其它國家也使用了恩尼格瑪機。義大利海軍使用了商業用恩尼格瑪機來作為“海軍密碼機D型”。西班牙也在內戰中使用了商業用恩尼格瑪機。英國密碼學家成功地破解了它的密碼,因為它沒有接線板。瑞士使用了一種叫做“K型”或“瑞士K型”(軍方與外交機構使用)的密碼機,它與商業用恩尼格瑪D型非常相似。許多國家都破解了它的密碼,這些國家包括了波蘭,法國,英國和美國。日軍使用了“恩尼格瑪T型”。
現代研究
現存的恩尼格瑪密碼機盟軍破解恩尼格瑪機的過程直到1970年才公開。從那以後,人們對恩尼格瑪機產生了越來越多的興趣,美國與歐洲的一些博物館也開始展出了一些恩尼格瑪機。慕尼黑的德國博物館有一台3轉子和一台4轉子恩尼格瑪機,還有幾台商業用恩尼格瑪機。美國國家安全局的國家密碼學博物館有一台恩尼格瑪機,來參觀的客人可以用它來加密及解密信息。美國的計算機歷史博物館,英國的布萊切利園,澳大利亞坎培拉的澳大利亞戰爭紀念館和德國,美國和英國一些地方也展出著恩尼格瑪機。現在已經關閉了的聖迭戈計算機博物館的展品中有一台恩尼格瑪機,它在博物館關閉後被送給了聖迭戈州立大學圖書館。一些恩尼格瑪機也成為了私人收藏品。
一台罕見的序號為G312的德國情報局版恩尼格瑪機於2000年4月1日從布萊切利園被偷走。9月,一個自稱“老大”的人放出訊息說他要得到25000英鎊,否則就會將那台恩尼格瑪機毀掉。2000年10月,布萊切利園的官員宣布他們會支付這筆錢,但是在錢付完之後敲詐者卻沒有回信。就在此後不久,它被匿名地送到了BBC的記者傑里米·帕克斯曼那裡,但是三個轉子卻不見了。2000年11月,一個叫做丹尼斯•葉茨的古董交易家在給星期日泰晤士報打電話要交還那些遺失的轉子後被拘捕。事後那台恩尼格瑪機被送回了布萊切利園。2001年10月,葉茨在承認他就是偷了那台恩尼格瑪機並對被布萊切利園董事基絲丁·拉吉(Christine Large)進行了敲詐的人後被判了10個月的有期徒刑,但他堅持說自己只是為第三者服務的一個中間人。他在入獄三個月後被釋放。
盤點密碼學相關知識
盤點密碼學相關知識,密碼學是研究編制密碼和破譯密碼的技術科學。 |