波塔密码是一个由意大利那不勒斯的医生乔瓦尼·巴蒂斯塔·德拉·波塔发明的一种多表替换密码。 波塔密码与维吉尼亚密码几乎一样,唯一的不同是,维吉尼亚使用了26个字母,波塔密码则使用了13个字母。 这篇文章中使用的加密方法与美国密码协会使用的方法相同,还有另一种方法是来自海伦·福切·盖恩斯的著作《密码分析》里面的描述,这里暂时不表。 例子: 波塔密码的密钥是一组或一个单词,可自己设置,这里使用:FORTIFICATION 波塔密码使用下面的密码表对明文进行加密,在该表中,所有的字母表都是互反的,称为互反代替表:
(关于该密码表,网上有很多种乱七八糟的表,这里我使用的是美国密码协会使用的表,然后参考了海伦·福切·盖恩斯的著作《密码分析》。 要加密信息DEFENDTHEEASTWALLOFTHECASTLE时,我们按以下方式,在明文上方重复排列密钥,明文多少个字母,密钥也排列多少个字母: 密钥:FORTIFICATIONFORTIFICATIONFO 明文:DEFENDTHEEASTWALLOFTHECASTLE 现在我们取第一个密钥字母'F',在密码表上的第一首列(两个字母的那个列)上找到它,然后,我们沿着'F'行往右移动,直到我们到达顶部带有'D'的列('D'是第一个明文字母),F和D的交点是S,这就是密文。 根据这个过程规律,完成其他字母的加密。 得到最终结果: 密文:synnjscvrnrlahutukucvryrlany 此密码的加密和解密过程是相同的,因此使用相同的密钥加密信息两次,就可以得到明文。
|