Enigma Machine

历史

Enigma是一种用于加密与解密的机器,主要的使用者是第二次世界大战中的纳粹德国。加密的原理和普通的字母替换类似。比如规定如下的映射方式:

  • a->b
  • p->c
  • l->d
  • e->f

那么apple这个单词就会映射到bccdf。只是Enigma的字母映射方式在每一次操作之后都会发生改变,使得加密的方式更加复杂。

Enigma Machine

结构

Enigma Machine主要有三个部件构成:

  • 转子(rotor)
  • 反射器(reflector)
  • 接线板(plugboard)

没有接线板的原理图

每当按钮按下时,电流就会从上图右侧相应位置流入转子。电流在内部线路中流动直到出口,然后点亮出口对应的灯来给出结果。上图中电流从A处进入,从G处流出。一次操作过后,转子旋转,改变了内部结构,导致映射方式改变。电流再次从A流进时,却是从C出流出。

转子

转子是Enigma的核心部件,他将电流的位置进行改变。转子两侧的黄点是金属导体,电流可以流通。电流从一侧进入,经过内部的导线,再从另一侧流出。早期的Enigma有三个转子,到了二战后期的时候,德国海军开始采用五个转子的机器。

转子两侧的接触点

转子内部的导线连接两侧的金属,将电路连通。而导线连接的方式就是加密的关键。

转子内部导线

特别注意的是,当转子旋转一周之后会带动左侧的转子转动一格。在转子中有一个钩子(notch),如果钩子位于正确的位置,在转子转动时就会带动左侧转子。工作方式类似钟表,秒针在转完一周之后会带动分针,分针带动时针。

反射器

当电流经过转子从右侧流到左侧之后,就会进去反射器。反射器会把电信号重新流回到转子中,直至最后从右侧转子流出。反射器的链接总是成对的,从A进入从B出来,那么,从B进入的电流一定会从A出来。为什么要设计反射器呢?原因在于,反射器提供了一个很重要的功能:同样的配置下,密码进入Enigma会返回明文。(不要问我为什么)

反射器

接线板

接线板是在前面的基础上增加的部件,就是下图中的前面板,上面连接着多条导线。而接线板的加入才使得Enigma的破解变得几乎不可能。接线板的作用是在电流进出转子时进行转换。使用者可以连接任意两个字母,如果A与B连接在一起,那么当电流从A进入时会被流到转子入口的B处。而从右侧转子B处流出的电流也会被引导到A对应的灯泡。

接线板

资料

图片出处