第113章 Enigma密码机(1)

使用恩尼格玛机发送密电时,发送者设置好“每日密钥”,然后他会随意敲入3个字母,这3个字母就是发送密文的“信息密钥”。为了防止误操作,德军规定将这3个字母重复打一遍,这3个字母就会被转换成其它6个加密字母。

然后,发送者将转子重新设置为这3个字母,再依次输入明文得到密文,即每次发报都先用每日密钥生成一个信息密钥,再用这个信息密钥加密明文,并将这6个字母的密钥附加在密文前面发送给接收方。

接收方将信息解密时,首先按照密码本中的“每日密钥”设置好,然后输入密文中的头6个字母。由于反射器的巧妙作用,明文输入得到密文,密文输入得到明文,这样就得到这6个加密字母的明文,即发送者的3个字母的“信息密钥”。

然后,接收方再将转子设置为这个信息密钥,再依次将密文输入密码机,就可以得到解密后明文了。

“ 这个步骤有两处缺陷,”宋鸿飞缓缓地道,“首先,发送者需要将信息密钥固定附加到密文开头,这就使第三方能够得知这6个字母就是密码——即3个转子的设置。第二,这6个字母出现了连续重复输入,这在密码学上是一个严重的错误。”

小主,

宋鸿飞知道,正是利用了这个弱点,波兰总参谋部密码局早在30年代初就破译了大量的德军恩尼格玛系统密电。

这里有个相当有趣的事情,当时一战战胜国英国、法国对被凡尔赛条约限制的德国没有足够的重视,面对德国的新型密码机他们浅尝辄止之后一筹莫展,很快就放弃了破译。但对于被夹在德国与苏联这两个对它虎视眈眈的强邻中间的波兰,情报是关乎国家生死存亡的大事,亡国的极大恐惧产生了极大的动力,波兰在军事上毫不起眼,在密码分析方面却是颇有建树。

波兰先是想方设法搞到了一台商用的ENIGMA密码机,弄清楚了它的原理。后又从法国手中搞来了德国密码通讯机构中的内贼出卖的有关ENIGMA密码机的工作原理、转子内部线路和操作守则资料,从而复制出了军用的密码机。

重复乃密码大敌,ENIGMA密码机最明显的重复就是每条密文开头由三个字母的信息密钥连续重复两次加密而成的六个字母,波兰密码专家正是以此为突破口。

宋鸿飞道:“这开头的6个密文字母,第1个和第4个字母都是由同一个明文字母加密而来。同样的,第2个和第5个、第3个和第6个也是如此。这个‘多打一遍’看似要求严谨的操作,却形成了重复的明文和密文对照组合。”

俞大维静静地听着,陷入沉思。

他虽然对德国恩尼格玛密码机有所了解,也曾惊叹它的先进和巧妙设计,但却从未曾像宋鸿飞这样深入地分析过。

“发送者设置好‘每日密钥’后,我们假设他任意键入的‘信息密钥’为XYZ这3个字母。”宋鸿飞一边思索着,一边用粉笔在俞大维办公室里一块黑板上写写划划,“连续键入两次XYZXYZ,假设得到GANDER这6个密文。”

“第一个密文字母G和第四个字母D是同一个明文X经过转子3次转动后得到不同的加密结果。它的本质是字母替换,把这个替代关系用函数fn表示,即转动加密一次之后的替代关系用f1表示,转动两次就是f2,依此类推。”

“XYZ两次加密,可记作: