解码结果
编码结果
关于恩尼格玛密码 (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 中设置。