分卷阅读84
自己设计的?”
那是一个造型奇怪的密码机。
键盘一共有26个键,为了使通讯尽量地短和难以破译,没有设置空格、数字和标点符号键,而只有字母键。键盘上方是标示了同样字母的26个小灯泡作为显示器,当键盘上的某个键被按下时,和这个字母被加密后的密文字母所对应的小灯泡就亮了起来,这样就是一种近乎原始的“显示”。
在显示器的上方是三个直径6厘米的转子,它们的主要部分隐藏在面板下,转子才是“恩尼格玛”密码机最核心关键的部分。如果转子的作用仅仅是把一个字母换成另一个字母,那就是密码学中所说的“简单替换密码”,即顾声曾经给叶丰年演示的那种,而在公元九世纪,阿拉伯的密码破译专家就已经能够娴熟地运用统计频率的方法来破译简单替换密码。
而这种密码机的关键正在于它的“转子”:当按下键盘上的一个字母键,相应加密后的字母在显示器上通过灯泡闪亮来显示,而转子就自动地转动一个字母的位置。
“举例来说,当第一次键入a,灯泡b亮,转子转动一格,各字母所对应的密码就改变了。第二次再键入a时,它所对应的字母就可能变成了c;同样地,第三次键入a时,又可能是灯泡d亮了。这就是它难以被破译的关键。”路加点了点他在模型图旁边加的批注,解释道,“那么这就不是简单替换密码。因为同一个字母在明文的不同位置时,可以被不同的字母替换,而密文中不同位置的同一个字母,又可以代表明文中的不同字母,字母频率分析法在这里将丝毫无用武之地。
“所以,我把它称作‘复式替换密码’。”
路加指了指他在旁边写的一串字符:compoundreplacementcipher。
“……有点意思。”顾声想了想,说,“不对,但是按照你刚才的思路,假设我连续键入26个字母,转子就会整整转一圈,这时回到原始的方向上,编码就和开始重复了。”
“对,我知道。”路加刷刷刷地把解释制造原理的过程分析翻过去,给他看细节设计,“所以我又增加了一个转子,当第一个转子转动整整一圈以后,它上面有一个齿轮拨动第二个转子,使得它的方向转动一个字母的位置。假设第一个转子已经整整转了一圈,按a键时显示器上d灯泡亮;当放开a键时第一个转子上的齿轮也带动第二个转子同时转动一格,于是第二次键入a时,加密的字母可能为e;再次放开键a时,就只有第一个转子转动了,于是第三次键入a时,与之相对应的就是字母就可能是f了。”
“676种……676个字母之后重复。”顾声说,“技术允许的话,使用者可以继续往上加转子,比如你用了三个,那么重复的概率就达到26x26x26=17576。这已经无法想象了。”
“哈哈哈这就无法想象了?你太小看我了。”路加挽了两把袖子,把他的笔记本倒回来,翻到设计原理图,又转身回他的书桌翻了两本书出来,“我受这两本专著作者的启发这书你看过没?一战的内部文献,图书馆压箱底的好东西,没看过我借你。呃,好吧我不打岔,接着说。
“这里,我在之前的基础上,又在三个转子的一端加上了一个反射器,把键盘和显示器中的相同字母用电线连在一起。反射器和转子一样,把某一个字母连在另一个字母上,但是它并不转动。你可能乍一看这么一个固定的反射器好像没什么用处,毕竟它并不增加可以使用的编码数目,但是如果你把它和我们的解码过程联系起来看……你有什么想法?”
顾声抬手示意他先别说话,对着那两页极为简的设置原理看了起来路加那整一本笔记根本不具备可读性,数量稀少的字迹潦草得一塌糊涂,只有设计图异常详尽。
路加去旁边溜达了一圈,视察了一下今天的破译工作,才拿着他的豆浆溜达回来,按着顾声的肩问他:“怎么样了?”
“我是这样假设的,有你所谓的‘反射器’存在时,当一个键被按下后,信号不是直接从键盘传到显示器,而是首先通过三个转子连成的一条线路,然后经过反射器再回到三个转子,通过另一条线路再到达显示器上。”顾声犹豫了一下,点了点他自己重画的设计图,“比如按我的理解,在这个图里,当a键被按下时,亮的是d灯泡。如果这时按的不是a键而是d键,那么信号恰好按照上面a键被按下时的相反方向通行,最后到达a灯泡。换句话说,在这种设计下,反射器虽然没有像转子那样增加不重复的方向,但是它可以使解码过程完全重现编码过程。”
他沉默地思考了一会儿,才看了路加一眼,确定他没有露出看白痴的眼神,才又说道:“当使用这台密码机通讯时,发信人首先调节三个转子的方向,然后依次键入明文,并把显示器上灯泡闪亮的字母依次记下来,最后把记录下的闪亮字母按照顺序用正常的电报方式发送出去。这是加密原理。”
“bingo!”路加兴奋地往他手边的桌子上一坐,大言不惭道,“怎么样,是不是很巧!有没有被你哥丰富的想象力和设计水平所折服!”
“有的吧……虽然我应该比你大……”顾声承认,失笑道,“喂别闹啊,我还在想接方式呢,按你的想法的话,那么转子的初始方向就是密匙,是发双方必须预先约定好的?”
“对,信方也需使用一台同样的密码机,”路加正色道,从桌上下来,“到电文后,按照原来的约定,就是你说的‘密匙’,把转子的方向调整到和发信方相同的初始方向上,然后依次键入到的密文,显示器上自动闪亮的字母就是明文了。加密和解密的过程完全一样,这就是反射器的作用。不过反射器也有一个副作用……”
“一个字母永远也不会被加密成它自己,我想到了。”顾声接口道,“因为反射器中一个字母总是被连接到另一个不同的字母。”
“是的,但在它所能给出的庞大的可能性的前提下,这根本算不上什么。”路加放下了杯子,“这里还有一点是我没有向你说明的,当然你可以自己看后面的原理分析。除了转子方向和排列位置,我还设置了一道保障安全的关卡。即在键盘和第一个转子之间有块连接板。
“通过这块连接板可以用一根连线把某个字母和另一个字母连接起来,这样这个字母的信号在进入转子之前就会转变为另一个字母的信号。这种连线最多可以有六根,这样就可以使6对字母的信号两两互换,其他没有插上连线的字母则保持不变。当然连接板上的连线状况也是发双方预先约定好的。
“三个转子不同的方向组成了17576种可能性;连