ADFGVX密码是德国陆军在第一次世界大战期间使用的一种密码,它是早期ADFGX密码的扩展,事实上,ADFGVX是早期密码ADFGX密码的扩展。该密码由弗里茨·内贝尔上校发明,1918年3月推出,是一种分级换位密码,它将修正的波利比乌斯方阵与单个柱状换位密码相结合,形成了新的加密方式。 ADFGVX密码密码是以密文中使用的六个字母A、D、F、G、V和x命名的,这些字母是特意选择的,因为它们在通过摩斯电码发送密报时听起来非常不一样,这能减少发报员出错的可能性。 例子: ADFGVX密码的“密钥”是一个以密钥字母组成的波利比乌斯方阵,如下图
密钥矩阵除了包含0-9的数字之外,还包括了任意密钥字母。 ADFGVX密码涉及到许多步骤,首先我们利用矩阵密钥建立以下表格,这称为波利比奥斯方阵。
使用上面的矩阵对明文进行加密,比如我们要加密信息“attack”,那么我们需先在矩阵中找到a的所在位置,然后写下该字母同一行最左侧的字母,然后写下该字母所在的列,最顶部的字母。 那么a就可以加密成"DG"。 然后根据该规律,完成其他字母的加密: DG XG XG DG GV GD 请注意,到目前为止,我们得到的密文,只是一个简单的替换密码,而且破解起来很简单。 接下来我们继续进行再次加密,这里我们需要用到另一个移位密钥,比如GERMAN。 G E R M A N —————— D G X G X G D G G V G D 进行柱形换位。按字母表的顺序对密文进行重新排序,并在加密时对列进行移位,即如果原先密钥字母A在后面,如果排序,A移到第一位,那么相应的该列也一并移到第一位。请注意,刚刚加密的每个密文的字母对在此步骤中将被拆分。 A E G M N R —————— X G D G G X G G D V D G 最后,按列的方式写出最终密文。 下面,我给出一个完整的例子; 加密明文:DEFEND THE EAST WALL OF THE CASTLE 使用与上述相同的密钥,在替换步骤之后,我们得到密文: FXDFFVDFFFFXXGADDFDFDGVAX GVGDGFAFAFGFVXGADDFGVDGVAXGFADF 现在,我们使用上面的密钥(左边的表)写出这些内容,并对列进行排序(右边的表) :
最后,按列的方式写出最终密文 FFDVDFADFXFGFGAVFAFFDXDXFFD VDFFDGGAGVGVXFAGGDGADFADVFXGX 要在无密钥的情况下破解ADFGVX密码是很困难的一件事,所以如果要破译,只能在获得密钥的情况下进行反操作即可。
|