自动密钥密码是一种多字母替代密码,其有多种加密方式,不过最流行,也最普遍接受的是1586年由布莱斯·德·维吉尼亚发明(维吉尼亚密码也是他发明的)的,它与维吉尼亚密码很相似,不过它使用有别于维吉尼亚密码的方法来生成密钥,通常来说它比维吉尼亚密码要更加安全。 加密方法,以美国密码协会标准为例: 自动密钥密码的密钥是一组英文关键词,这个密钥不具有唯一性,可以自由设置。 例如 FOR 要加密消息,需先将密钥关键词写在明文上面,排成两排,然后将秘钥移动到明文的前面,形成一组新的秘钥。 例如: 密钥:FOR 明文:DEFENDTHEEASTWALLOFTHECASTLE 新秘钥:FORDEFENDTHEEASTWALLOFTHECASTLE 要加密明文,除了需要新密钥之外,还需要使用以下维吉尼亚密码表。
现在,我们用新秘钥来加密明文,其加密方式和维吉尼亚密码完全一样。 我们先取将要加密的明文字母“D”,在密码表的第一列找到它,然后,我们沿着该行往左移动,直到到达最顶部带有“F”的列( 这个F是刚刚我们设置的密钥字母)。 现在我们会发现,明文字母D和密钥字母F的交点是字母“i”,而它就是我们的第一个密文。 通过以上规律,完成所有字母的加密,如下: 密钥:FORDEFENDTHEEASTWALLOFTHECASTLE 明文:DEFENDTHEEASTWALLOFTHECASTLE 密文:iswhrixuhxhwxwsehoqevjvhwvlw 尽管自动密钥密码比维吉尼亚密码更安全,但该密码还是很容易被破译。自动密钥比维吉尼亚密码更难破译的原因是因为密钥的生成方式。 解密方法: 要对自动密钥密码进行解密,如果知道密钥,其解法当然很简单,只需要反向查找密码表即可。 例如,用我们刚刚的例子: 密钥:FORDEFENDTHEEASTWALLOFTHECASTLE 密文:iswhrixuhxhwxwsehoqevjvhwvlw 我们先取将要解密的密钥字母“F”,在密码表最顶部的第一行找到它,然后,我们沿着该行往下移动,直到密文字母i,然后向左移动,查看该行的首字母是什么,这里是D,因此,D就是我们破译的第一个明文。 通过以上规律,完成所有字母的解密,如下: 明文:DEFENDTHEEASTWALLOFTHECASTLE
|