维吉尼亚(Vigenère)密码是一种周期多表代换密码, 由1858年法国密码学家维吉尼亚提出
维吉尼亚密码常常使用英文单词作为密钥字,密钥则是密钥字的重复
维吉尼亚密码加密过程简述如下:
--写下明文,表示为数字形式;
--在明文之上重复写下密钥字,也表示为数字形式;
--加密相对应的明文:给定一个密钥字母k和一个明文字母m,那么密文字母则是(m+k)mod 26计算结果所对应的字母
在明文下面重复写密钥字,组成密钥。
明文M: JACKOZOO
密钥K: LOVELOVE
将明文和密钥转化为数字
明文M=(9,0,2,10,14,25,14,14)
密钥K=(11,14,21,4,11,14,21,4)
对每个明文数字和对应的密钥数字,使用ci=(mi+ki )mod 26加密
得到密文数字为
C=(20,14,23,14,25,13,9,18)
于是密文为:
UOXOZNJS
维吉尼亚密码的原理与凯撒密码类似,其实是凯撒的一种强化和变形,通过使加密相同明文的秘钥不同,来掩盖字符的频率。
但也不是找不到字符频率,我们可以发现,将用"h"字符加密的明文取出之后,就变成了普通的凯撒加密,这是可以通过字符频率分析来破解的。
用到的数学公式:重合指数
1.破解秘钥长度N。
2.将密文分成N组,逐个破解秘钥。
其中fi为每个字符在英文当中的频率。fi^2则表示连续取出两个相连的字符,它们相同的概率。英文中对26种情况求和的统计结果约为0.065。
Ni/N为密文中某个字符占密文的比例,假设秘钥长度为key_len,如果key_len组密文中的重合指数IC1也都与0.065接近,那么就可以推测key_len是秘钥长度了。
当秘钥长度key_len知道以后,我们将密文分成key_len个组,计算每个分组的IC2。
举个栗子:如果第一个分组都是用b字符进行加密,那么a字符的频率会转移到b字符上,c字符的频率会转移到d字符上......我们也做这种相应的转移,让b字符在密文的频率(N1/L)和a字符在英文的频率f0相乘,当然这只是其中一种猜测。我们将这26种字符可能都列出来,最接近IC的一定是用b字符加密的那一组。
还没遇到过这样的情况,你确定已经改了吗?(确定“简单密码”那个开关关掉了)
如果设定了英文密码,那滑动后会直接出现全键盘而不是数字键了。
你的系统版本是多少?和我的不一样,我输入密码的页面没有方框,那个位置是4个点。
TJHIQ ZZ WG KQZI AFUUS
本人亲自用MATHIMATIC软件做的哦!
维吉尼亚密码简介:
自己想好一个英文单词作为密钥,比如,用codebreaking作密钥.
单词中的每个字母代表一个单表密码。比如,
第一个字母c,表示明文的a在密文中要变成c,向后移动了两位,这就代表以2为密钥的加法密码。明文中的第一个字母要用这个加法密码加密,用它向后移动2位后的字母代替。
第二个字母是o,从a到z要移动14位.明文的第二个字母用密钥14的加法密码加密。
依次类推,密钥字codebreaking表示将明文中的前12个字母分别用密钥为2、14、3、4 、 1 、 17 、 4 、 0、 10 、 8 、 13 、 6的加法密码加密.
然后又重复使用密钥字.将以下的12个字母再依次用这些密码加密.
如此反复使用.直到整篇文章被全部加密.
维吉尼亚密码引入了“密钥”的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。假如以上面第一行代表明文字母,左面第一列代表密钥字母,对如下明文加密:
TO BE OR NOT TO BE THAT IS THE QUESTION
当选定RELATIONS作为密钥时,加密过程是:明文一个字母为T,第一个密钥字母为R,因此可以找到在R行中代替T的为K,依此类推,得出对应关系如下:
密钥:RE LA TI ONS RE LA TION SR ELA TIONSREL
明文:TO BE OR NOT TO BE THAT IS THE QUESTION
密文:KS ME HZ BBL KS ME MPOG AJ XSE JCSFLZSY
与凯撒密码类似,进行一下运算两次即可