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