恩尼格玛机的核心是多轮替换加密,通过机械结构实现动态、复杂的字母映射,核心组件协同工作完成加密\/解密,本质是“不断变化的单字母替换密码”。
我先给大家介绍一下核心组件及功能
1 键盘:输入明文(26个英文字母,无空格,数字),按下按键触发机械联动。
2转子:核心加密部件,通常3-5个可替换,每个转子是刻有26个字母的圆柱体,内部有固定的“输入-输出”接线(如A接K、b接d等),实现第一次字母替换。
3反射器:固定在转子组末端,将转子传来的信号反射回转子组,实现第二次替换,且保证“加密和解密用同一设置”(如信号A→转子→反射器→转子→输出b,反向输入b会原路返回A)。
4接线板:机器前端的面板,通过导线连接成对字母(最多6对,即12个字母),实现第三次替换,进一步增加复杂度。
5指示灯板:对应键盘字母,接收加密\/解密后的信号,亮起的字母即为密文\/明文。
然后是加密流程(以3转子+1反射器+接线板为例)
1接线板替换:按下明文字母(如A),信号先经过接线板,若A与F相连,则信号变为F。
2转子组替换:信号依次穿过三个转子(如转子1→转子2→转子3),每个转子通过内部接线改变字母(如F→L→q→t)。
3反射器反射:信号到达反射器,被固定映射为另一个字母(如t→G),并反射回转子组。
4反向转子替换:反射后的信号沿原转子组反向穿过(转子3→转子2→转子1),再次被替换(如G→R→x→c)。
5接线板二次替换:信号再次经过接线板,若c与m相连,则最终信号为m,指示灯板m亮起,即A加密为m。
恩尼格玛机的关键设计:
1转子步进:每按下一个按键,最右侧转子就旋转1格(类似计数器),转子旋转后,内部接线的映射关系改变;当最右侧转子转满26圈,会触发中间转子旋转1格,以此类推,实现“每输入一个字母,加密规则就变化一次”。
2初始设置:加密和解密必须保持完全一致的设置,包括:转子的选择及排列顺序(如选转子1、2、3,顺序为1-2-3)、转子的初始旋转位置(如每个转子对准面板的字母A、b、c)、接线板的字母配对(如A-F、c-m等)。
恩尼格玛机的解密原理:
解密与加密流程完全相同,只需将机器设置调整为与加密时一致,输入密文字母,指示灯板亮起的就是明文——因为反射器的存在,信号的传递是“可逆的”,无需额外调整组件。
简单类比:加密是“把信放进一连串不断换锁的盒子”,解密是“用同一套钥匙按相反顺序打开盒子”,转子和接线板的设置就是“钥匙的组合”。
------
我给大家简单举例模拟一下恩尼格玛机加密+破解全过程。
我会用“字母传递游戏”的方式,带大家感受一下它的核心逻辑,全程简化为“3转子+1反射器+2对接线板”(这样比较贴近早期德军配置)。
一、先明确加密“初始设置”(密钥)
就像“加密密码本”,解密必须和这个完全一致:
转子:选3个(编号1、2、3),排列顺序“1→2→3”
转子初始位置:1对准A、2对准b、3对准c(面板上可见的字母)
接线板:A-F相连、c-m相连(其余字母不接线)
反射器:固定映射(如A→Y、b→Z、c→x…以此类推,提前设定好)
二、加密过程:把“hELLo”变成密文
假设要加密明文“hELLo”,一步步看信号怎么“变装”:
1按下“h”:
接线板:h没接线,信号保持h;
转子组:h→1(内部接线h→d)→2(d→R)→3(R→t);
反射器:t→S(固定反射);
反向转子:S→3(S→K)→2(K→p)→1(p→V);
接线板:V没接线,指示灯V亮→“h”加密为“V”。
2按下“E”:
关键:按完“h”后,最右侧转子3已旋转1格(从c转到d),映射规则变了。
接线板:E没接线,信号E;
转子组:E→1(E→J)→2(J→L)→3(L→N);
反射器:N→m;
反向转子:m→3(m→q)→2(q→U)→1(U→G);
接线板:G没接线,指示灯G亮→“E”加密为“G”。
3后续“L”“L”“o”同理:每按一个键,转子就步进,映射规则持续变,最终“hELLo”加密为“VGxYZ”(举例值,实际需按转子接线精确计算)。
三、破解过程:从“VGxYZ”还原“hELLo”
破解的核心是“猜明文+验证设置”,模拟盟军的思路:
1找“线索(crib)”:根据情报,德军这段密文大概率是问候语(如“hELLo”“hI”),假设“VGxYZ”对应“hELLo”。
2反向推导转子设置:
先假设接线板:从常见配对(如A-F、c-m)入手,先固定接线板,再看信号是否匹配;
验证转子步进:“V”对应“h”、“G”对应“E”,中间转子只转了1格,可反推转子初始位置(1=A、2=b、3=c);
用“循环法”验证:比如“h→V”“E→G”的映射,可推导出转子内部接线的循环规律(如h→d→R→t→S→K→q→U→V),匹配转子1、2、3的接线规则。
3机器验证:把这些假设输入“炸弹机”,机器快速模拟转子运动,若“VGxYZ”反向输入后能输出“hELLo”,则证明设置正确,破解成功。
简单说,加密是“按固定规则变装”,破解是“猜穿着什么衣服,再倒推出变装规则”。
最后谢谢各位的喜欢和支持(^v^)