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

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

恩尼格瑪密碼機模擬器簡介

本工具在瀏覽器中重現了第二次世界大戰德軍使用的三轉子恩尼格瑪密碼機(Enigma I),轉子接線表與步進機構皆與實機一致。只要設定轉子型號、環位、初始位置與插線板組合,便能以此作為輸入文字的轉換規則,將明文轉換為密文,或將密文還原為明文。

所有運算皆在瀏覽器端完成,輸入內容不會傳送至伺服器。與實機相同,僅英文字母(A〜Z)會被轉換,數字、符號與空白則原樣保留、不經過轉子處理。此外,以相同設定再次處理密文即可還原明文的「自反」特性,也完整重現於本工具中。

恩尼格瑪密碼機模擬器操作方式

  1. 選擇轉子型號 在左、中、右三個槽位中分別自I〜V選擇轉子(可重複選用同一型號)。
  2. 設定環位 為每個轉子指定環位設定(Ringstellung,A〜Z)。加密與解密必須使用相同數值。
  3. 設定初始位置 為每個轉子指定初始位置(Grundstellung,即視窗顯示的字母)。實際操作中每則訊息都會更換。
  4. 設定插線板(選填) 以空格分隔輸入欲互換的字母對,例如「AB CD」,最多可設定10組。
  5. 輸入文字並執行 在輸入欄填入明文或密文,按下「加密/解密」即可顯示轉換結果。

用好本工具的小技巧

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

恩尼格瑪密碼機模擬器的應用場景

作為密碼學史與資訊安全課程的教具

透過實際操作轉子接線與步進機構,讓學生直觀理解教科書圖示難以傳達的運作原理。

重現布萊切利園的破譯歷程

演示相同設定下密文如何還原為明文,具體呈現艾倫·圖靈等人當年面對的破譯難題。

自學密碼演算法

逐一變更轉子、環位與插線板設定,觀察輸出結果的變化,藉此理解多表代換密碼的基本原理。

核對書籍或資料中的恩尼格瑪範例

輸入密碼學書籍或網站所載的相同參數,即可實際重現並驗證其加解密範例。

恩尼格瑪密碼機詞彙表

轉子
內部具有固定接線的旋轉式密碼輪。恩尼格瑪使用三枚(可自I〜V中選擇),每按下一次按鍵,轉子便依右、中、左的順序依序轉動。
反射器(Umkehrwalze)
將穿過三枚轉子的訊號折返、再次反向通過轉子的元件。正因這項構造,加密與解密才能以完全相同的操作完成。
插線板(Steckerbrett)
在鍵盤與轉子之間,對指定字母對進行互換的額外加密層。最多可設定10組,能大幅增加金鑰的組合數量。
環位設定(Ringstellung)
用來錯開轉子內部接線與外側字母環對應關係的設定。與初始位置不同,屬於更換週期較長的金鑰部分。
初始位置(Grundstellung)
開始加密某則訊息時,各轉子視窗所顯示的字母。實際操作中通常每則訊息都會更換。
步進機構
每按一次鍵,右側轉子轉動一格,經過特定缺口位置時會帶動相鄰轉子連動轉動的機構。當中間轉子位於缺口位置時,會出現左右轉子同時轉動的「雙重步進異常」這項特有現象。
自反密碼
由於訊號須經反射器折返,以相同設定對結果再處理一次即可還原原文的特性。恩尼格瑪的加密與解密因此能以完全相同的操作完成。

常見問題

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

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

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

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

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

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

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

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

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