第二次世界大戰時,德軍使用的“恩尼格瑪”(Enigma,希臘語“謎”)密碼機是一種近似“一次一密”的加密機械。由于“一次一密“加密法需要對每一條信息使用隨機的與明文等長度的密鑰進行加密以保證安全性,因此就需要事先編纂一本密碼本。而到了近代以后,戰爭期間情報部門每天需要處理海量的消息,使用這種密碼本,不僅不容易查閱密鑰,被敵人截獲的可能性也高出不少。
1918年,德國發明家亞瑟?雪畢伍斯(Arthur Scherbius)發明了一種使用轉子密碼盤和機械結構的密碼機,并分為商用和軍用的版本。恩尼格瑪使用鍵盤輸入明文字母,輸入信號經過三個編碼器經過一系列別換,最終會點亮另一個鍵盤相應密文字母上的燈泡。最先接收輸入信號的編碼器每輸入一個字母,就會轉動一次,當它轉動完一周,下一個編碼器就會轉動一次,以此類推,三個安裝好的編碼器一共有26×26×26種不同的狀態,每一種狀態對應一個密碼表,在開始加密時,可以選擇任意一種狀態作為初始狀態,用來加密明文的“密鑰單詞”也隨著改變。除此之外,編碼器位置可以互換,輸入鍵盤和第一個編碼器之間還有一個稱為接線板的裝置,可以互換六對字母的輸入信號,有大約一千億種不同的互換方式。恩尼格瑪是歷史上最為可靠的機械式密碼機之一,但在英國傳奇數學家阿蘭?圖靈(Alan Turing)和布萊切利公園(Bletchley Park)的盟軍密碼工作者的努力下,德國軍隊使用的部分型號恩尼格瑪密碼機未能免遭被破解的命運,德軍也為過于信任恩尼格瑪的安全性付出了慘重的代價,恩尼格瑪,是古典密碼學最后的輝煌。未能免遭被破解的命運,德軍也為過于信任恩尼格瑪的安全性付出了慘重的代價,恩尼格瑪,是古典密碼學最后的輝煌。
5
攻克“恩尼格瑪”
阿蘭?圖靈,今天人們以他的名字命名計算機科學領域的最高榮譽獎項。圖靈建立了計算機器的通用模型“圖靈機”,提出了“算法”(Algorithms)的概念,還是第一個利用計算機器破解加密算法的人。
恩尼格瑪密碼機能夠由操作員設置的部分包括三個編碼器的位置(6種可能)、編碼器的起始位置(17576種可能)、接線板互換的字母設置(1000億種可能),密鑰空間超過10^16。德軍情報部門會事先編制一本密碼本,每天更換一次密鑰。由于恩尼格瑪曾有商用的版本,盟軍對它的構造原理與加密方式有一定的了解,加上盟軍繳獲的幾臺密碼機,恩尼格瑪的加密算法可謂無處可遁,但不知道密鑰的話,破譯德軍的加密情報仍然無從談起。
密碼分析學中,破譯方嘗試破解加密系統的行為稱為攻擊。根據柯克霍夫原則,假設加密系統除了密鑰之外的一切都是公開信息,攻擊實際上就是猜測密鑰的行為。根據攻擊者掌握的有關加密系統的信息量的多少,有以下攻擊類型:
惟密文攻擊(ciphertext>恩尼格瑪的插線板最多可以對換六對字母的信號,一個對換過程可以表示為 此文由
中國比特幣官網 編輯,未經允許不得轉載?。?a href="http://www.huohuxiazai.com/">首頁 > 比特幣行情 » 密碼學初探:信息的藝術――區塊鏈技術引卷之十一 三個編碼器從左到右記為 , , ,相對初始狀態的位置記為 , , ,則插線板與編碼器對原始信號的共同作用可表示為
到這里為止,恩尼格瑪的設計都還中規中矩。發報員在鍵盤上按下按鍵,字母會被轉化為數字信號,經過處理后變成密文在密文鍵盤相應的位置點亮燈泡。那如果要解密怎么辦呢?密碼燈只能展示密文字母,而不能用做輸入。收到加密信息的一方需要與加密使用相同的鍵盤輸入密文解密,也就是要設計一種能夠同時進行加密和解密的電路,對任意明文字母 以及對應的密文 = ( )滿足: