维吉尼亚密码算法

维吉尼亚算法的原理

1、 Vigenere密码是由法国密码学家Blaise de Vigenere于1858年提出的一种代换密码,它是多表代换密码的典型代表。

2、加解密算法:

  Vigenere密码加密算法: ek(x1,x2,…,xm)=(x1+k1,x2+k2,…,xm+km)

  Vigenere密码解密算法: dk(y1,y2,…,ym)=(y1-k1,y2-k2,…,ym-km)。

  其中k=(k1,k2,…,km)是一个长为m的密钥字,密钥空间的大小为26m,所以对一个相对小的m,穷举密钥也需要很长的时间。如m=7,则密钥空间大小超过8×109,所以手工搜索非常困难。当明文的长度超过m时,可将明文串按长度m分局,然后对每一组使用密钥k加密。

 

该密码算法的破解方法

1. 穷举密钥搜索
  只适用于与小的密钥空间。
​    

2. 频率统计
维吉尼亚密码是通过移位替换的加密方法进行加密,英文中字母出现的频率是不一样的。比如字母 e 是出现频率最高的,占12.7%;其次是t9.1%;然后是aoin等,最少的是z,只占0.1%。只要根据足够多的样例来进行统计,最终密文字母的出现概率总是近似于明文字母的出现概率,并且与之一一对应。
 

  

你可能感兴趣的:(维吉尼亚密码算法)