恩尼格玛密码机详解
恩尼格玛密码机详解
恩尼格玛(ENIGMA)密码机是二战期间纳粹德国军事指挥部用于加密战略信息的设备。以下是其详细介绍以及难以破解的原因:
恩尼格玛密码机
工作原理
恩尼格玛密码机结合了机械和电子系统。通过键盘输入文本时,按下按键后,电流会通过双向开关到达插线板,再经过转子,最终点亮一个显示灯来显示加密后的字母。其核心是多转子系统,每个转子由橡胶或电木制成,带有26个黄铜管脚和相应的金属触点,代表字母表中的字母。内部26条金属线将管脚与触点相连。右侧转子每次按键时步进一次,当它转动一整圈后,会触发紧邻的转子转动一个位置。每次转子转动都会改变加密所用的替换字母表。反射器确保信号在经过转子后被反射回去,再次通过转子,使加密和解密可以使用相同的设置。
结构组成
- 键盘:有26个字母键,排列和常用计算机键盘基本一样,不过取消了空格、数字和标点符号键。
- 插线板(Stecker):位于键盘和第一个转子之间,可以用连线把某个字母和另一个字母连接起来,使6对字母的信号两两互换,增加加密的复杂性。
- 扰频器组合(Rotors):即转子,是密码机的核心部件,通常有三个或四个转子,每个转子可设置26种可能的起始位置,并且能互相交换位置。
- 反射器(Reflector):把键盘和显示器中的相同字母用电线连在一起,将信号反射回转子,使解码过程完全重现编码过程。
- 显示器:由标示了26个字母的小灯泡组成,当键盘上的某个键被按下时,和这个字母被加密后的密文字母所对应的小灯泡就会亮起来。
加密算法
恩尼格玛密码机采用多字母替换式密码。通过转子的转动、不同的起始位置和排列顺序,以及插线板的连线组合,对明文中的每个字母进行复杂的替换加密。同一个字母在明文的不同位置可能被不同的字母替换,密文中不同位置的同一个字母也可能代表明文中的不同字母。
难以破解的原因
庞大的密钥空间
以常见的三转子恩尼格玛机为例,每个转子有26个位置,三个转子不同的方向组合就有26×26×26=17576种可能性,再加上三个转子间不同的相对位置有6种可能性。插线板上两两交换6对字母的可能性有100391791500种。将转子和插线板的可能性相乘,结果大约为一亿亿种可能性。
加密方式复杂
恩尼格玛机采用复式替换密码,区别于简单替换密码。同一个字母在明文的不同位置时,可以被不同的字母替换,密文中不同位置的同一个字母,又可以代表明文中的不同字母,传统的字母频率分析法等破译方法在此毫无用武之地。每次按键后,转子会按照特定的步进机制转动,改变加密所用的替换字母表。即使是相同的明文,在不同的按键顺序下也会产生不同的密文,增加了破解的难度。
使用的严格规范
德军对恩尼格玛机的使用有严格的规范和流程,包括定期更换密钥、转子的起始位置在每次发送信息之前都会被改变等,使得敌方难以通过截获的密文积累足够的信息来进行破解。