a)简介
希尔密码是利用矩阵进行加密的一种加密算法,其本质是一种多表代换密码。
b)算法流程
基本思想:将n个明文字母通过线性变换,将它们转换为n个密文字母。解密只需做一次逆变换即可
算法的密钥K=﹛Z_26 上的n×n可逆矩阵﹜,明文M与密文C 均为n维向量,加密和解密变换分别为:
C=K∙M mod 26 M=K^(-1)∙C mod 26
K^(-1) 为K在模26上的逆矩阵,满足
KK(-1)=K(-1) K=I (mod 26)
I 为单位矩阵
c)算法实现
加密:
图1.5.1 hill加密
d)算法验证
使用课件上的例子:
图1.5.2 hill样例
验证:
图1.5.3 hill验证
e)算法分析
希尔密码由于采用矩阵运算加密,因此在相同的明文加密时,可能会出现不同的密文,因此可以很好的抵御字母频率攻击法。
f)实现难点
解密时求矩阵的模逆矩阵。