在计算机系列文章第一期的时候为大家大概介绍了现代计算机的分支及发展。这一期我们从计算机的前身讲起,开始我们的计算机的探索之旅。故事要回到二十世纪初。当时就已经有一些国家开始将一种“转子加密机”用于商业及政府之间的信息加密及传输。这种加密机后来被统称为恩尼格玛机。恩尼格玛机由三部分组成,从下往上分别是键盘、显示板以及转子。
若是加密方使用,键盘则输入明码字母,显示板显示的是加密后的字母,而上面的转子则负责经过一系列的机械及电路设计对输入字母进行加密。若是解密方使用,键盘则输入加密后的字母,显示板显示解密后的字母,而转子则负责通过一系列的机械及电路对输入字母进行解密。也就是说,如果两个加密机的设置相同,加密前后的字母是可以互相转换的。
转子是恩尼格码机的核心部分。最开始的恩尼格玛机只有三个转子。
后来为了增加破译的难度,在1938年之后恩尼格玛机开始使用五个转子,直至最后增加到八个。这些转子使用罗马数字I到VIII来识别。一个转子分为两半,转子右侧均匀排布着26个金属管脚,以代表26个英文字母。转子的左侧同样等距排布着26个金属触点,也代表着26个英文字母。当两部分合在一起并在键盘上输入一个字母的时候,转子右侧的其中一个管脚就会通电并接触左侧转子的一个触点形成通路。
若此时代表A的管脚连在了代表M的触点,此时的字母A就被加密成了字母M。同一输入字母会经过3到8个转子的不同加密来增加破译难度。而连接触点和管脚的金属线在每个转子内的排列方式也不尽相同。
后来第二次世界大战爆发,恩尼格玛机被德国改进后用在了对军事信息的加密。其改进除了增加转子个数之外,还在机器的正前方添加了一个接线板。接线板允许操作人员通过连接两个字母来设置更多不同的线路。
接线板上每条线都会连接一对字母,使电流在进入转子之前改变方向。比如图中连接的A和J点,当操作人员连接这两点并按下A键时,电流就会先到达J插口再流经转子。接线板上有26个字母,所以最多可以同时接13条线。然而一个小小的接线板,在用十条线做连接的机器中便将会增加密码可能性。在这个基础上再加上转子起始位置及线路连接设置的定期更新,恩尼格码被当时德国称之为不可破之加密,德国军方对其有着非常高的自信。
但众所周知,恩尼格码还是被破解了。