文章目录
什么是Enigma
- Enigma这个名字在德语里面是“谜”的意思,于20世纪初被德国人阿瑟·谢尔比乌斯发明,是一种能够进行加密和解密操作的机器。谢尔比乌斯使用能够转动的圆盘和电路,创造出人类手工所无法实现的高强度密码。
- 在刚刚发明之际,Enigma被用在了商业领域,后来到纳粹时期,德国国防军采用了Enigma,并将其改良后用于军事用途。
Enigma机加密通信流程
- Enigma是一种由键盘、齿轮、电池和灯泡所组成的机器,通过台机器就可以完成加密和解密两种操作。
- 发送者和接收者各自分别拥有一台Enigma,发送者用Enigma将明文加密,将生成的密文通过无线电发送给接收者;接收者将接收到的密文用自己的Enigma解密,从而得到明文。
- 由于发送者和接收者必须同时使用相同的密钥才能够完成加密通信,因此发送者和接收者会使用同一本密钥本–国防军事密码本,国防军事密码本中记载了发送者和接收者所使用的“每日密码”,发送者和接收者需要分别按照册子的指示来设置Enigma。
- Enigma机加密通信的过程如下:
Enigma的物理构造
- 键盘
- 包含26个英文字母的键盘,作为输入端,每次输入一个英文字母。
- 接线板
- 通过改变接线方式来改变字母的对应关系,接线板上的接线方式是根据国防军密码本的每日密码来决定的,在一天之内不会改变。
- 扰频组合
- 又称作“转子”,有快速扰频器、中速扰频器、慢速扰频器组成,进行加密工作。
- 单个转子的加密是一种单表置换,转子的左右两侧各有26个点,分别岱庙A-Z这26个英文字母,一端输入一端输出,为了达到加密的目的,将左右两侧的字母交叉连接。
- 单个转子提供的密码表固定不变,加密出来的密文比较容易被破解,因此选择三个转子串联在一起从而达到加密的目的,三个转子被串联后,输入的字母经过这三个转子的多次替换。
- 如果转子不转,那么输入的字母不论经过几个串联的转子,最终得到的依旧是一个固定的密码表,安全性依旧不高,因此为了提高加密的安全性,每输入一个字母后,快速转子就会自动转动一格,当快速转子转动一圈后中速转子会转动一格,同理中速转子转动一圈后慢速转子会转动一格。这样原本的单标置换经过旋转变为多表置换,使得安全性更高。
- 反射器
- 反射器的加密是一种固定的单表置换。
- 将最后一个转子其中两个触点连接起来,并将电流沿一个不同的路回到线路接线板。
- 加密后的字母与输入字母一定不相同,并且使得Enigma密码机的加密过程是自反的。
- 显示灯
- 包含26个英文字母显示灯的显示灯板,所谓输出端,每在键盘上输入一个英文字母,灯盘上就会有一个英文字母亮起来,代表明文字母加密后的所对应的密文字母
Enigma的加密
设置Enigma
- 发送者查阅国防军事密码本,找到当天的“每日密码”,并按照改密码来设置Enigma,此时为对接线板进行接线操作
加密通信密码
- 发送者想出三个字母,并将其加密,这三个字母被称作“通信密码”
- 输入两次“通信密码”,并记下加密后的对应字母
重新设置Enigma
- 发送者根据通信密码重新设置Enigma
- 通信密码中的三个字母实际上代表了三个转子的初始位置,每一个转子上都有字幕,根据字母来设置转子的初始位置
加密消息
- 发送者对消息进行加密
- 发送者将消息逐字从键盘键入,然后从灯泡中读取所对应字母加密后的字母 <