第93章 番外解释:恩尼格玛机(2/2)

二、加密过程:把“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^)