enigma的設計原理_第1頁
enigma的設計原理_第2頁
enigma的設計原理_第3頁
enigma的設計原理_第4頁
enigma的設計原理_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Enigma密碼機原理介紹注:本文修改自三思科學ENIGMA的興亡ENIGMA看起來是一個裝滿了復雜而精致的元件的盒子。不過要是我們把它打開來,就可以看到它可以被分解成相當簡單的幾 部分。下面的圖是它的最基本部分的示意圖,我們可以看見它的 三個部分:鍵盤、轉子和顯示器。在上面ENIGMA的照片上,我們看見水平面板的下面部分就是 鍵盤,一共有26個鍵,鍵盤排列接近我們現在使用的計算機鍵 盤。為了使消息盡量地短和更難以破譯,空格和標點符號都被省 略。在示意圖中我們只畫了六個鍵。實物照片中,鍵盤上方就是 顯示器,它由標示了同樣字母的26個小燈組成,當鍵盤上的某 個鍵被按下時,和此字母被加密后的密文相

2、對應的小燈就在顯示 器上亮起來。同樣地,在示意圖上我們只畫了六個小燈。在顯示 器的上方是三個轉子,它們的主要部分隱藏在血板之下,在示意 圖中我們暫時只畫了一個轉子。鍵盤 轉子和顯示器由電線相連 轉子本身也集成了 6條線路(在 實物中是26條),把鍵盤的信號對應到顯示器不同的小燈上去。 在示意圖中我們可以看到,如果按下a鍵,那么燈B就會亮, 這意味著a被加密成了 B。同樣地我們看到,b被加密成了 A, c被加密成了 D,d被加密成了 F,e被加密成了 E,f被加密成 了 C。于是如果我們在鍵盤上依次鍵入cafe(咖啡),顯示器上 就會依次顯示DBCE。這是最簡單的加密方法之一,把每一個字 母都按

3、一一對應的方法替換為另一個字母,這樣的加密方式叫做 “簡單替換密碼”。簡單替換密碼在歷史上很早就出現了。著名的“凱撒法”就是一種 簡單替換法,它把每個字母和它在字母表中后若干個位置中的那 個字母相對應。比如說我們取后三個位置,那么字母的一一對應 就如下表所示:明碼字母表:abcdefghijklmnopqrstuvwxyz密碼字母表:DEFGHIJKLMNOPQRSTUVWXYZABC于是我們就可以從明文得到密文:(veni, vidi,vici, “我來,我見, 我征服”是儒勒凱撒征服本都王法那西斯后向羅馬元老院宣告的 名言)明文:veni, vidi, vici密文:YHAL, YLGL,

4、 YLFL很明顯,這種簡單的方法只有26種可能性,不足以實際應用。一般上是規定一個比較隨意的一一對應,比如明碼字母表:abcdefghijklmnopqrstuvwxyz密碼字母表:JQKLZNDOWECPAHRBSMYITUGVXF甚至可以自己定義一個密碼字母圖形而不采用拉丁字母。但是用 這種方法所得到的密文還是相當容易被破解的。至遲在公元九世 紀,阿拉伯的密碼破譯專家就已經嫻熟地掌握了用統計字母出現 頻率的方法來擊破簡單替換密碼。破解的原理很簡單:在每種拼 音文字語言中,每個字母出現的頻率并不相同,比如說在英語 中,e出現的次數就要大大高于其他字母。所以如果取得了足夠 多的密文,通過統計每

5、個字母出現的頻率,我們就可以猜出密碼 中的一個字母對應于明碼中哪個字母(當然還要通過揣摩上下文 等基本密碼破譯手段)。柯南道爾在他著名的福爾摩斯探案集 中跳舞的人里詳細敘述了福爾摩斯使用頻率統計法破譯跳舞 人形密碼的過程。所以如果轉子的作用僅僅是把一個字母換成另一個字母,那就沒 有太大的意思了。但是大家可能已經猜出來了,所謂的“轉子”, 它會轉動!這就是ENIGMA的最重要的設計當鍵盤上一個 鍵被按下時,相應的密文在顯示器上顯示,然后轉子的方向就自 動地轉動一個字母的位置(在示意圖中就是轉動1/6圈,而在實 際中轉動1/26圈)。下面的示意圖表示了連續鍵入3個b的情 況:A E D c F B

6、當第一次鍵入b時,信號通過轉子中的連線,燈A亮起來,放 開鍵后,轉子轉動一格,各字母所對應的密碼就改變了;第二次 鍵入b時,它所對應的字母就變成了同樣地,第三次鍵入b 時,燈E閃亮。照片左方是一個完整的轉子,右方是轉子的分解,我們可以看到 安裝在轉子中的電線。這里我們看到了 ENIGMA加密的關鍵:這不是一種簡單替換密 碼。同一個字母b在明文的不同位置時,可以被不同的字母替 換,而密文中不同位置的同一個字母,可以代表明文中的不同字 母,頻率分析法在這里就沒有用武之地了。這種加密方式被稱為 “復式替換密碼”。但是我們看到,如果連續鍵入6個字母(實物中26個字母), 轉子就會整整轉一圈,回到原始的

7、方向上,這時編碼就和最初重 復了。而在加密過程中,重復的現象是很危險的,這可以使試圖 破譯密碼的人看見規律性的東西。于是我們可以再加一個轉子。 當第一個轉子轉動整整一圈以后,它上面有一個齒撥動第二個轉子,使得它的方向轉動一個字母的位置。看下面的示意圖(為了簡單起見,現在我們將它表示為平面形式):這里(a)圖中我們假設第一個轉子(左邊的那個)已經整整轉了 一圈,按b鍵時顯示器上D燈亮;當放開b鍵時第一個轉子上 的齒也帶動第二個轉子同時轉動一格,于是(b)圖中第二次鍵入b 時,加密的字母為F;而再次放開鍵b時,就只有第一個轉子轉 動了,于是(c)圖中第三次鍵入b時,與b相對應的就是字母B。我們看到

8、用這樣的方法,要6*6=36 (實物中為26*26=676)個 字母后才會重復原來的編碼。而事實上ENIGMA里有三個轉子(二戰后期德國海軍用ENIGMA甚至有四個轉子),不重復的 方向個數達到26*26*26=17576個。不僅如此在三個轉子的一端還十分巧妙地加了一個反射器,把鍵 盤和顯示器中的相同字母用電線連在一起。反射器和轉子一樣, 把某一個字母連在另一個字母上,但是它并不轉動。乍一看這么 一個固定的反射器好象沒什么用處,它并不增加可以使用的編碼 數目,但是把它和解碼聯系起來就會看出這種設計的別具匠心 了。見下圖:顯示器 健盤三個轉子反射器我們看見這里鍵盤和顯示器中的相同字母由電線連在一

9、起。事實 上那是一個很巧妙的開關,不過我們并不需要知道它的具體情 況。我們只需要知道,當一個鍵被按下時,信號不是直接從鍵盤 傳到顯示器(要是這樣就沒有加密了),而是首先通過三個轉子 連成的一條線路,然后經過反射器再回到三個轉子,通過另一條 線路再到達顯示器上,比如說上圖中b鍵被按下時,亮的是D 燈。我們看看如果這時按的不是b鍵而是d鍵,那么信號恰好按 照上面b鍵被按下時的相反方向通行,最后到達B燈。換句話 說,在這種設計下,反射器雖然沒有象轉子那樣增加可能的不重 復的方向,但是它可以使譯碼的過程和編碼的過程完全一樣。反射器想象一下要用ENIGMA發送一條消息。發信人首先要調節三個 轉子的方向,

10、使它們處于17576個方向中的一個(事實上轉子 的初始方向就是密匙,這是收發雙方必須預先約定好的),然后 依次鍵入明文,并把閃亮的字母依次記下來,然后就可以把加密 后的消息用比如電報的方式發送出去。當收信方收到電文后,使 用一臺相同的ENIGMA,按照原來的約定,把轉子的方向調整 到和發信方相同的初始方向上,然后依次鍵入收到的密文,并把 閃亮的字母依次記下來,就得到了明文。于是加密和解密的過程 就是完全一樣的一一這都是反射器起的作用。稍微考慮一下,我 們很容易明白反射器帶來的一個副作用就是一個字母永遠也不 會被加密成它自己,因為反射器中一個字母總是被連接到另一個 不同的字母。安裝在ENIGMA

11、中的反射器和三個轉子于是轉子的初始方向決定了整個密文的加密方式。如果通訊當中 有敵人監聽,他會收到完整的密文,但是由于不知道三個轉子的 初始方向,他就不得不一個個方向地試驗來找到這個密匙。問題 在于17576個初始方向這個數目并不是太大。如果試圖破譯密 文的人把轉子調整到某一方向,然后鍵入密文開始的一段,看看 輸出是否象是有意義的信息。如果不象,那就再試轉子的下一個 初始方向 如果試一個方向大約要一分鐘,而他二十四小時日 夜工作,那么在大約兩星期里就可以找遍轉子所有可能的初始方 向。如果對手用許多臺機器同時破譯,那么所需要的時間就會大 大縮短。這種保密程度是不太足夠的。當然還可以再多加轉子,但

12、是我們看見每加一個轉子初始方向的 可能性只是乘以了 26。尤其是,增加轉子會增加ENIGMA的體 積和成本。然而這種加密機器必須是要便于攜帶的(事實上它最 終的尺寸是34cm*28cm*15cm),而不是一個具有十幾個轉子 的龐然大物。在Enigma的設計當中,機器的三個轉子是可以拆 卸下來互相交換的,這樣一來初始方向的可能性變成了原來的六 倍。假設三個轉子的編號為1、2、3,那么它們可以被放成 123-132-213-231-312-321六種不同位置,當然現在收發消息的 雙方除了要預先約定轉子自身的初始方向,還要約定好這六種排 列中的使用一種。其次,鍵盤和第一轉子之間還設計了一個連接板。這

13、塊連接板允 許使用者用一根連線把某個字母和另一個字母連接起來,這樣這 個字母的信號在進入轉子之前就會轉變為另一個字母的信號。這 種連線最多可以有六根(后期的ENIGMA具有更多的連線), 這樣就可以使6對字母的信號互換,其他沒有插上連線的字母保 持不變。在上面ENIGMA的實物圖里,我們看見這個連接板處 于鍵盤的下方。當然連接板上的連線狀況也是收發信息的雙方需 要預先約定的。于是轉子自身的初始方向,轉子之間的相互位置,以及連接板連 線的狀況就組成了所有可能的密匙,讓我們來算一算一共到底有 多少種。三個轉子不同的方向組成了 26*26*26=17576種不同可能性;三個轉子間不同的相對位置為6種可能性;連接板上兩兩交換 26對字母的可能性數目非常巨大,有 100391791500 種;于是 一共有 17576*6*100391791500, 大約為 10000000000000000,即一億億種可能性。只要約定好上面所說的密匙,收發雙方利用ENIGMA就可以十 分容易地進行加密和解密。但是如果不知道密匙,在這巨大的可能性面前,一一嘗試來試圖找出密匙是完全沒有可能的。我們看

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論