恩尼格瑪密碼機模擬器(轉子密碼機)

在瀏覽器中還原第二次世界大戰德軍使用的恩尼格瑪密碼機,忠實再現真實機器的轉子接線與步進機制。可自由設定轉子型號、環位設定、初始位置與插線板,體驗加密與解密的完整過程。所有處理均在瀏覽器本地完成。

使用提示

  • 恩尼格瑪屬於自反密碼(reciprocal cipher),只要使用完全相同的轉子設定、初始位置和插線板再次處理密文,就能還原出原始明文。可以點選"將結果填回輸入框"按鈕試一試。
  • 哪怕只改變一個字母的初始位置(Grundstellung),得到的密文也會截然不同。在實際戰時使用中,這項設定通常每天都會更換。
  • 由於訊號必須經過反射器(Umkehrwalze)折返,任何字母都絕不會被加密成它自己。這個特性後來成為艾倫·圖靈等人破譯時的重要線索。
  • 插線板最多可以設定10組字母互換。德軍實際的操作規則中也將其上限設為10組。
  • 點選"隨機生成設定"按鈕,可以簡單體驗一下當年操作員每天更換轉子、環位與插線板等金鑰設定的流程。

常見問題

20世紀30年代,波蘭數學家率先從數學上破解了這臺機器的內部結構。英國布萊切利園在此基礎上繼續攻關,艾倫·圖靈等人研製出名為"炸彈機(Bombe)"的機電裝置,用來推算每日更換的金鑰設定。此外,德軍操作習慣(例如經常使用相同的開頭用語)也為破譯提供了重要線索。

按現代標準而言完全不安全。它在第二次世界大戰期間就已經被系統性破解,其金鑰空間與AES等現代密碼相比也小得多,現在的計算機幾乎可以瞬間完成暴力破解。本工具純粹是用於歷史與教育目的的模擬器。

不會。由於訊號必須經過反射器折返,從數學結構上講,一個字母絕不可能被對映為它自身。這實際上是一個密碼學上的弱點,也是破譯者猜測明文時的重要線索之一。

初始位置是每條訊息傳送前設定的、顯示在轉子視窗上的字母;環位設定則是轉子內部接線與字母環之間對應關係的偏移量,屬於變更週期更長的金鑰部分。兩者必須完全一致才能正確解密。

它是在鍵盤與顯示燈之間,對指定字母對進行互換的一層額外加密。相比僅靠轉子加密,插線板極大地增加了可能的組合數量,是讓德軍實際通訊更難被破譯的重要因素之一。
ツールくん

閒話 ― 恩尼格瑪與布萊切利園的故事

恩尼格瑪機由德國工程師亞瑟·謝爾比烏斯於1918年申請專利,最初是作為商用密碼機推出的,後來因德軍將其用於保護通訊而廣為人知。它由多個稱為"轉子"的旋轉式密碼輪組合而成,每按下一次按鍵,轉子就會機械轉動,內部接線隨之改變,因此即使連續輸入相同的字母,通常也會被加密成不同的結果。

破譯恩尼格瑪的努力最早始於波蘭數學家馬裡安·雷耶夫斯基等人,他們在20世紀30年代通過數學方法解明瞭這臺機器的結構。第二次世界大戰爆發後,英國在布萊切利園集結了一支解密團隊,艾倫·圖靈等人研製出名為"炸彈機"的機電式解密裝置,系統性地推算出每天更換的金鑰設定。這項成果被認為對盟軍的情報戰做出了重大貢獻。

恩尼格瑪的破譯史給現代密碼設計留下了一個持久的教訓:無論加密機制多麼精巧,操作習慣與人為失誤(例如總是以相同的問候語開頭、重複使用金鑰表等)都可能成為突破口。本模擬器純粹是學習這段歷史的教育工具,不應被用於保護真實的通訊內容。