查看: 2341|回复: 0

[密码课] ADFGVX密码

  • 打卡总天数:2

积分成就

用户组:管理员

书币:130159

推理币:775950

发表于 2019-6-26 13:01:35 | 显示全部楼层 |阅读模式
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密码是很困难的一件事,所以如果要破译,只能在获得密钥的情况下进行反操作即可。

返回列表 发新主题 回复
小黑屋| 隐私政策| 侵权投诉| 数字千年版权法(DMCA)| 切换繁体 |捐助本站
copyright 2019-2023 推理罪 All Rights Reserved