解碼結果
編碼結果
關於恩尼格瑪密碼 (Enigma Cipher)
恩尼格瑪密碼是一種透過替換文本中的字符來進行加密的替換密碼。支援「A」到「Z」這 26 個字符的加密。
字符的替換是透過恩尼格瑪密碼機進行的。DenCode 支援以下恩尼格瑪密碼機的模擬。
- Enigma I
- Enigma M3
- Enigma M4 (U-boat Enigma)
- Norway Enigma "Norenigma"
- Sondermaschine (Special machine)
- Enigma G "Zählwerk Enigma" (A28/G31)
- Enigma G G-312 (G31 Abwehr Enigma)
- Enigma G G-260 (G31 Abwehr Enigma)
- Enigma G G-111 (G31 Hungarian Enigma)
- Enigma D (Commercial Enigma A26)
- Enigma K (Commercial Enigma A27)
- Enigma KD (Enigma K with UKW-D)
- Swiss-K (Swiss Enigma K variant)
- Railway Enigma "Rocket I"
- Enigma T "Tirpitz" (Japanese Enigma)
- Spanish Enigma, wiring D
- Spanish Enigma, wiring F
- Spanish Enigma, Delta (A 16081)
- Spanish Enigma, Sonderschaltung / Delta (A 16101)
恩尼格瑪密碼機的構造如下。從鍵盤 (Tastatur) 輸入的字符,經過配電盤 (Steckerbrett)、輸入輪 (ETW, Eintrittswalze)、3 或 4 個轉子 (Walze)、反射器 (UKW, Umkehrwalze),然後沿相反路徑返回,加密結果顯示在燈板 (Lampenfeld) 上。在轉子等所有位置都會進行字符替換。
UKW Walze Walze Walze ETW (Stecker)
3 2 1
___ ___ ___ ___ ___ ___
| | | | | | | | | | | |
| -|--|---|--|---|--|---|--|---|--|---|-- < Tastatur (鍵盤)
| | | | | | | | | | | | |
| | | | | | | | | | | | |
| -|--|---|--|---|--|---|--|---|--|---|-- > Lampenfeld (燈板)
| | | | | | | | | | | |
--- --- --- --- --- ---
輸入輪、轉子和反射器內部都有將「A」到「Z」這 26 個字符轉換為其他字符的接線,通電後即可進行替換。例如,Enigma I 的轉子「I」具有以下接線,「A」被替換為「E」。如果從反射器返回的字符是「J」,則沿相反接線被替換為「Z」。
ABCDEFGHIJKLMNOPQRSTUVWXYZ |||||||||||||||||||||||||| EKMFLGDQVZNTOWYHXUSPAIBRCJ
Enigma I 的所有接線如下。
| 轉子/反射器 | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
|---|---|
| ETW | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
| I | EKMFLGDQVZNTOWYHXUSPAIBRCJ |
| II | AJDKSIRUXBLHWTMCQGZNPYFVOE |
| III | BDFHJLCPRTXVZNYEIWGAKMUSQO |
| IV | ESOVPZJAYQUIRHXLNFTGKDCMWB |
| V | VZBRGITYUPSDNHLXAWMJQOFECK |
| UKW-A | EJMZALYXVBWFCRQUONTSPIKHGD |
| UKW-B | YRUHQSLDPXNGOKMIEBFZCWVJAT |
| UKW-C | FVPJIAOYEDRZXWGCTKUQSBNMHL |
配電盤允許使用者透過接線進行替換。部分恩尼格瑪密碼機在 ETW 前端有配電盤。配電盤有「A」到「Z」 26 個字母的輸入輸出端子,透過電纜連接任意兩個字母,可以交換這兩個字母。例如,連接「A」和「M」,則「A」換成「M」,「M」換成「A」。未連接電纜的字母不進行替換。
從鍵盤輸入一個字符,轉子就會旋轉一步。轉子從右側開始旋轉,當旋轉到轉子上的凹槽位置時,左側的轉子也會旋轉一步。這種旋轉改變了每個字符的加密接線,因此即使輸入相同的字符,也會被替換為不同的字符。
轉子上有環,環的外周刻有「A」到「Z」(或「01」到「26」)的字符。環可以分 26 級設定外周字符與轉子內部接線的偏移量。例如,Enigma I 的轉子「I」,若環設定為「A (01)」,「A」換成「E」;若環設定為「B (02)」,內部接線偏移 1 位,原來的 Z-J 連接使得「A」換成「K」。
環: A (01) ABCDEFGHIJKLMNOPQRSTUVWXYZ |||||||||||||||||||||||||| EKMFLGDQVZNTOWYHXUSPAIBRCJ 環: B (02) BCDEFGHIJKLMNOPQRSTUVWXYZA |||||||||||||||||||||||||| FLNGMHERWAOUPXZIYVTQBJCSDK
轉子可以設定排列順序和初始旋轉位置。例如,有「I」、「II」、「III」三種轉子,可以按「II」、「I」、「III」的順序設定,每個轉子的初始位置也可以在「A (01)」到「Z (26)」之間設定。反射器也有多種可更換類型,或是可設定初始位置的類型。輸入輪通常是固定的。帶有配電盤的機器還可以設定配電盤。這些設定構成了恩尼格瑪密碼機的加密金鑰。
以下是使用 Enigma I 進行加密的範例。
轉子 : UKW-A II I III 環設定 : X M V (24 13 22) 初始位置 : A B L (01 02 12) 配電盤 : AM FI NV PS TU WZ 加密前的文章 : SECRET 加密後的文章 : LCGODU
這種情況下,第一個字符「S」經過以下流程最終加密為「L」。
S -> P : 配電盤 P -> P : ETW P -> L : III L -> P : I P -> W : II W -> K : UKW-A K -> Q : II Q -> O : I O -> L : III L -> L : ETW L -> L : 配電盤
如果用環上的字符表示轉子的旋轉位置和輸入 (+)/ 輸出 (-) 位置,則如下所示。(由於轉子在旋轉,上述「被替換的字符」與「環上位置對應的字符」不同。)
- +
ABCDEFGHIJKLMNOPQRSTUVWXYZ : 配電盤
- +
ABCDEFGHIJKLMNOPQRSTUVWXYZ : ETW
- +
MNOPQRSTUVWXYZABCDEFGHIJKL : III
+ -
BCDEFGHIJKLMNOPQRSTUVWXYZA : I
+-
ABCDEFGHIJKLMNOPQRSTUVWXYZ : II
- +
ABCDEFGHIJKLMNOPQRSTUVWXYZ : UKW-A
恩尼格瑪密碼機的一個特點是,對加密後的文本使用相同的設定再次加密,可以獲得原本的明文。因此,輸入上述範例中加密的「L」,可以得到原來的「S」。
L -> L : 配電盤 L -> L : ETW L -> O : III O -> Q : I Q -> K : II K -> W : UKW-A W -> P : II P -> L : I L -> P : III P -> P : ETW P -> S : 配電盤
+ -
ABCDEFGHIJKLMNOPQRSTUVWXYZ : 配電盤
+ -
ABCDEFGHIJKLMNOPQRSTUVWXYZ : ETW
+ -
MNOPQRSTUVWXYZABCDEFGHIJKL : III
- +
BCDEFGHIJKLMNOPQRSTUVWXYZA : I
-+
ABCDEFGHIJKLMNOPQRSTUVWXYZ : II
+ -
ABCDEFGHIJKLMNOPQRSTUVWXYZ : UKW-A
DenCode 中的設定項目
轉子 (Walzenlage)
設定反射器和轉子的類型以及轉子的順序。
因為輸入是從右側開始的,所以轉子從右向左數 1, 2, 3,但表示轉子順序時通常從左到右書寫。例如「UKW-A II I III」表示轉子 1 是「III」,轉子 2 是「I」,轉子 3 是「II」,反射器是「UKW-A」。
通常包括 1 個反射器和 3 個轉子共 4 個部件,但 Enigma M4 可以在反射器插槽中設定「薄反射器」和「薄轉子」。在 DenCode 中,「薄反射器」被視為普通反射器,「薄轉子」 (Beta, Gamma) 作為額外的轉子 4 顯示,總共 5 個部件。但是,如果反射器是 UKW-D,由於它佔用反射器插槽,因此無法設定轉子 4。
環設定 (Ringstellung)
設定轉子的環。此設定會更改轉子內部接線相對於環的位置。部分機器的反射器也可以設定環。
初始位置 (Grundstellung)
設定轉子的初始位置。部分機器的反射器也可以設定初始位置。
由於每條訊息都會改變此設定,有時也稱為「訊息金鑰 (Message key)」。
配電盤連線 (Steckerverbindungen)
設定配電盤的連線對。
在 DenCode 中,透過用空格分隔並列出要交換的兩個字符對來指定連線,如「AB CD EF GH IJ KL」。此例表示「A」和「B」、「C」和「D」等連線對。
Uhr
Uhr 是連接到配電盤並在「00」到「39」的 40 種接線方式中進行選擇的配件。配電盤和 Uhr 透過 20 根電纜連接。電纜兩兩成對,共有 10 對。當 Uhr 設定為「00」時,相當於這些電纜對直接在配電盤上連接。
只有 Enigma I 可以設定 Uhr。設定 Uhr 需要先指定 10 組配電盤連線對。
UKW-D 連線
UKW-D 是一種可更改內部接線的反射器。
普通反射器的環標記為「ABCDEFGHIJKLMNOPQRSTUVWXYZ」,但 UKW-D 的標記是「A-ZXWVUTSRQPON-MLKIHGFEDCB」這種特殊順序。標記上的兩個「-」(對應普通標記的 B 和 O)是固定的,始終相互連接且無法更改。您可以設定其他 24 個字符的 12 對連線。
UKW-D 標記 : A-ZXWVUTSRQPON-MLKIHGFEDCB 普通標記 : ABCDEFGHIJKLMNOPQRSTUVWXYZ
UKW-D 可在 Enigma I, Enigma M4, Enigma KD 中設定。