加密、解密,合二为一
(接5月15日B3版)
Enigma的诞生,其实也只意味着一件事,长久以来困扰密码编码界的“密钥重复加密”问题,从此彻底烟消云散了。
谢尔比乌斯认为,Enigma的3个内部走线方式迥然不同的转轮,它们的排列形式不应该是固定的,而应该是可以互相换位的。如果我们把3个转轮依次称为1号转轮、2号转轮和3号转轮,而把转轮组的转轮顺序从左到右记录的话,那么排列应该有1-2-3、1-3-2、2-1-3、2-3-1、3-1-2、3-2-1共6种方式。一招出手,密钥长度再次膨胀为:17 576×6=105 456位
这意味着,即便是由10万个字母构成的明文,使用Enigma加密时也不可能出现循环加密现象!
谢尔比乌斯认为,这样还是不够的。每次增加一个轮子,只能将密钥长度延伸为原来的26倍,但是“增添新转轮”以“延长密钥”的做法,效率其实很低。于是他暂时放下了延长密钥位数的考虑,转过头来研究如何让Enigma的使用变得更方便。
Enigma出现的一个重要背景,就是当时的密文传送手段已经发生了质的改变。因此,应运而生的Enigma就得适应这个变化,它需要进行加密处理的正是拟发出的电报明文。
谢尔比乌斯认为,Enigma本身能很方便地加密明文,这只是八字有了一撇;而八字的那一捺,就是接收方对密电的还原,也就是“脱密”,也同样需要便于操作才成。因此,如何使接收方能够对Enigma密文进行方便快捷的脱密——区别于非法接收方的破译——就成了摆在谢尔比乌斯面前的一个难题。
对于密码系统而言,里面涉及的独立分系统越多,则整个密码系统的可靠性就越低。如此一来,多了一个独立的脱密分系统,不仅让接收和脱密成为了两个步骤,而且也增加了机器硬件成本和操作人员培训成本,这个举措又在一定程度上降低了全系统的整体可靠性。对于谢尔比乌斯来说,这自然是不太令他满意的;毕竟,他这台新机器的总成本已经不低了,再额外增加脱密设备,其价格必将大幅上升——那么,它还能有多少商业前途呢?
就在这时,谢尔比乌斯的同事威利·科恩给他出了一个主意:谁说Enigma非得配备一个额外的脱密设备了?咱们把它设计成二合一,问题不就解决了!他这个同事是位工程师,给出了实现的办法,在Enigma上加装一个小部件:反射板。
我们不妨把这个反射板理解为一面镜子。进入反射板的字母信号,就被“镜面”直截了当地“反射”回去。当然,这个信号并不是沿原路径不走样地被“反射”,而是换了个位置、以另一条路径被反射回去的。
这个创造,带来了一个极具震撼性的结果:由于这块反射板的加入,使Enigma出现了“加密—解密同相”的特征——对Enigma来讲,无论是加密还是脱密,它们的操作是完全一样的!
增加了反射板之后的Enigma,已经不再需要什么脱密用的解码机了。原因也只有一个:
它的编码机,就是解码机;
它的解码机,就是编码机!