编辑: yn灬不离不弃灬 | 2015-08-13 |
1 个字母 l, 在 上面的方表中找到其对应的行、列编号分别为 G、F,因此 l 就以 GF 替代. 照此办理, 直到完成全部
7 个字母的替代编码: l e t u s g o GF AF ?AX ?DA ?FA GF DF [2] 移位 将这些编码连起来,变成 GFAFAXDAFAGFDF. 现在假设要求密钥的长度为 n(从安全的角度考虑,这个n当然越大越好;
事实上,在ADFGX 当年的使用中,这 个密钥序列的长度一般要取到
20 左右) ,将1到n这n个自然数的顺序打乱,重新排列;
比如,取密钥长度为 8,将12345678 打乱成 63482517. 将重新排列后的长度为
8 的序列
63482517 分开写成一 行,作为
8 个纵列的编号,然后将刚才连起来的编码中的字 母顺序逐一填到这
8 个纵列中去,由左至右,到头再返回左 边继续. 然后,将每个纵列的字母,不再管
63482517 的顺序, 而是按
12345678 的自然顺序,逐一取出排序:
1 2
3 4
5 6
7 8 D AD ?FA ?AG XF GF A FF 连起来,就得到了明文 letusgo 的最终加密结果: DADFAAGXFGFAFF. 因此,ADFGX 密码通过自己才掌握的方表替代和密钥 移位,将每个字母加密成 ADFGX 这5个字母中的
2 个. 其实,发明 ADFGX 密码的纳贝尔上校是很谨慎的,他 曾经提出:替换 - 换位之后形成的密文,应该再作一次移位, 才能作为最后的密文. 但德国无线电和密码机关人员认为先前的替代和移位 已经够结实了,除非上帝本人来,是没人破得了的,何况, 作为战地密码,再往复杂里搞不仅容易出错,也白白增加加 密和解密的时间;
而在战场上, 什么比时间更重要呢?于是, 这个给敌军找麻烦的主意被否决了. 现在回到
1918 年4月1日这个 ADFGX 密码让法军郁 闷的愚人节. 前面提到,这一天,法军一共截获了德军用 ADFGX 战 地密码加密的
18 份密电;
面对这些不知所云的密电,法军 密码分析员乔治 ? 潘万 (Georges Painvin) 似乎已经绞尽脑汁. 可他却丝毫不敢懈怠: 面对着正在疯狂攻击的德军,事实上 他已身系正在苦苦支撑着的法军的生死存亡,早已完全是在 超负荷工作,根本没有休息时间,玩儿命了! 好在,潘万的冥思苦索已经得出以下
3 个判断: (i)德军所用的是复合加密,即先用替代方表加密,
6 3
4 8
2 5
1 7 G F A F A X D A F A G F D F 图28. ADFGX 的移位表 图27. ADFGX 密码的替代方表 A D F G X A q w e r t D u i o p a F s d f g h G j k l z x X c v b n m orld of Mathematics 数学烟云 W 数学文化/第1卷第2期61 潘万中尉顽强无比却又精妙无比的攻击下轰然倒塌,他终于 成功地破译了
4 月1日这两份德军电文!接着,余下的
16 份电文的保护层,也就都在一鼓作气之下全部击碎了! 从这时开始, 法军对于对面的德军, 已经能够做到 知敌 先机 了;
但由于战场态势对于法军过于严峻, 要对强大的德 军做到 制敌先机 ,法军还心有余而力不足, 还得等待时机. 这个时机终于来了.1918 年6月1日,德军启用了 ADFGX 战地密码的升级版――ADFGVX 密码. 其实德军此时并不知道 ADFGX 密码已被法军破译,他 们仍然认为这个密码牢固得足以抗御除了上帝本人外的天下 一切攻击;
他们之所以对这个密码升级,原因是 ADFGX 密 码不能直接对阿拉伯数字编码、加密. 从图
27 的替代方表可以看出,25 格的表中,连26 个 拉丁字母都没法装完,更没有
0 ~
9 这10 个阿拉伯数字的 空余位置.然而,战场信息显然又不可能离开大量的数字, 这样一来,就必须将所有数字都以德文来表达;