发表于 2013-2-15 11:10:36 | 显示全部楼层
维吉尼亚密码大家都知道,是以26×26的表格为基础的密码,当破解时,一般会准备这样一个表格,但是制作这样一个表格不觉得很麻烦吗,而且一个一个找也很慢,接下来我将要介绍一些公式,只要一个简单的26字母表,就可以随意的加密或破解了。
  首先,我们需要一个26字母表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A B C D E F G H I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
破解的方法比较简单,由于密码制作时,一种是以横行和纵行交叉得到密码,另一种是以关键字母所占的横行的纵桁作为密码,这样说,估计很多人都不理解,可以先去尝试一下维吉尼亚密码再来看接下来的介绍吧,其实原理很简单,好啦,开始了。
破解
  第一种,举个例子,若以M为密钥,t为密文,根据26×26字母表,可知其交叉密码为F
  M在字母表中排序为13,T为20 F为6
可知6=20-13-1

再举一个例子,还以M为密钥,密文为J其交叉字母为S
M为13 G为7 S为19
可知19=13+7-1
若密文加密钥大于26,则取除以26的余数
则有公式一 <密文+密钥>mod26-1

接下来是第二种破解方式
还以M为密钥,T为密文,根据字母表,T在M行所占的纵行为H
M为13 T 为20 H为8
可知8=(26-13+20)mod26+1
再举一例M为密钥,P为密文P在U行中所占的纵行为V
U为21 P为16 V为22
可知22=26-21+16+1
综上可知公式二 (26-密钥)mod26+密文+1

好了以上就是两种维吉尼亚密码的破解公式,接下来介绍一下加密公式
加密公式也有两种


第一种
若以M为密钥,t为明文,根据26×26字母表,可知其交叉密码为F
  M在字母表中排序为13,T为20 F为6
可知6=20-13-1

再举一个例子,还以M为密钥,明文为J其交叉字母为S
M为13 G为7 S为19
可知19=13+7-1
若密文加密钥大于26,则取除以26的余数
则有公式一 <明文+密钥>mod26-1


第二种 还以M为密钥,T为明文,根据字母表,T在M行所占的纵行为H
M为13 T 为20 H为8
可知8=(26-13+20)mod26+1
再举一例M为密钥,P为明文P在U行中所占的纵行为V
U为21 P为16 V为22
可知22=26-21+16+1
综上可知公式二 (26-密钥)mod26+明文+1

大家发现了没,其实加密公式和解密公式竟然是一样的,只不过一种是密文,一种是明文罢了。
若设密文或明文为X,密钥为Y,则有
总结公式一 (X+Y)mod26-1
总结公式二 (26-Y+X)mod26+1

这样的话大家就可以理解成公式一可以用来加密或破解公式二,而公式二也能用来破解或加密公式二。

接下来我来给出一组练习吧,比较简单,尝试着用公式来破解。
密钥THE
明文B H Q V O M G L W L P P H C I V O M G H

提示一下,这是用公式一加密的,所以只要用公式二来破解就行了。
答案是 I am Chiness ,I love China

我讲的只是维吉尼亚密码的一部分详解,想了解更多的加我QQ1242473201

                                   以上由 乱步·杭·道尔 独家赞助
登录帐号可查看完整回帖内容
本主题帖为【历史主题】,仅楼主发布内容可以浏览。
尚未登录
您需要登录后才可以回帖 登录 | 加入学院