多表代换密码

多表代换密码

  • 多表代换密码是以一系列代换表一次对明文消息的字母进行代换的加密算法。
  • 设明文字母序列M=m1m2……,代换表序列大π=π1*π2……,密文序列C=大π(M)=π1(m1),π2(m2),……,
  • 分类:
    • 大π是非周期的无限序列,密码成为非周期多表代换密码;
    • 大π是周期的无限序列,密码成为周期多表代换密码;
  1. 维吉尼亚密码
    1858年,法国外交家,密码学家维吉尼亚提出该密码系统
  • 定义
    • P=C=K=(Z26)^m,对任意一个k=(k1,k2,……,km),定义:
      • 加密:(y1,y2,……,ym)=ek(x1,x2,……,xm)=(x1+k1,x2+k2,……,xm+km)mod26,
      • 解密:(x1,x2,……,xm)=ek(y1,y2,……,ym)=(y1-k1,y2-k2,……,ym-km)mod26.
  • 优点
    • 在维吉尼亚密码中,一个字母可被映射到m个可能的不同字母,可将字母的出现频率隐蔽或均匀化,从而有利于抗统计分析:
    • 密钥量为26^m,m较大时,穷举密钥方法不可行。(维吉尼亚自称该密码不可破译,但现在利用专门破译方法可以很容易破译。)
  1. Hill密码
  • Hill密码的实质是将明文向量右乘一个可逆矩阵(线性变换)得密文向量,解密将密文向量右乘逆矩阵即得明文。
    • P=C=(Z)^n,K={Z上的n*n可逆矩阵},对任意一个k∈K,定义:
    • 加密:y=e(x)=x*kmod26,
    • 解密: x=d(y)=yk^-1mod26.
      x=hill
      k=(8 6 9 5
      6 9 5 10
      5 8 4 9
      10 6 11 4)
      Hill对应数字:7,8,11,11
      加密:
      y=e(x)=x
      kmod26
      =(7,8,11,11)*kmod26
      =(9,8,8,24)
      =(J,I,I,Y)
  • 注:x乘以k中第一列,这个第一列可以看成一个表;x乘以k中第二列,这个第二列可以看成一个表;......
  • 一共有四列,四个密文的加密方法不同,增加了破译的难度。
  • Hill密码的特点是每次对m个字母进行代换,同一字母可对应不同密文字母,且一个密文字母与多个明文字母有关系,容易将字母出现频率隐蔽而有利于抗统计分析;
  • 当m较大时,计算k的逆矩阵没有有效的方法,这限制了它的广泛应用。
    M较小时可逆矩阵k的情况可被穷举攻击,理由是k的逆矩阵要求是整数元素,这就要求k的行列式=+1或-1,满足这种条件的矩阵不是很多,可以穷举出来。

猜你喜欢

转载自www.cnblogs.com/liugangjiayou/p/12381262.html