python小脚本之维吉尼亚密码

维吉尼亚作为古典密码,本身的加解密并不是很难,因此也就有了这篇文章~

图片[1]-python小脚本之维吉尼亚密码-安全小百科

下面初步解释下维吉尼亚密码的加密原理,假设现在有明文‘a’,加密密钥为‘b’,然后我们参照上面的维吉尼亚密码表进行加密,在a行的b列即为我们加密过后的密文,在这里我们的密文即为‘b’。同理,现在加入我们有密文和密钥,需要我们进行解密,同样我们假设密文为‘g’,加密密钥为‘d’,那么我们可以在表中的d列寻找‘g’,我们可以看到d行的d列即为‘g’,当然这里行数与列数相同纯属巧合,总的来说我们还是需要借助这个表来进行解密。

同时给出的密钥不一定与密文的长度相等,这时候我们就需要给密钥进行循环补位,假设密钥为‘abc’,密文长度为10,那么我们密钥也应该补位为10位,补位后的密钥为‘abcabcabca’。

在进行维吉尼亚密码加密时,我们可以总结规律:密钥虽然为字母,但是我们可以计算其在字母表中的顺位,同时如果给明文加密,总是以明文为第一位,这里就跟凯撒密码一样,以明文为基准,密钥的顺位作为偏移量,从而可以计算出密文。

下面附上维吉尼亚密码加密的源程序(环境python2.7):

相关推荐: 密码保护:如何搭建自己的vpn服务器

这是一篇受密码保护的文章,您需要提供访问密码: 密码: 相关推荐: 逆向破解的入门题目我选取了两条实验吧里的逆向题目,题目不是很难,对于刚刚入门逆向的人来说,我觉得十分有用,由于自身逆向水平有限,有很多地方自己也是一知半解,不多说,开始我的表演~  …

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论