三、Hill cipher(希尔密码)
Hill cipher是1929年提出的一种密码体制。
设d是一正整数,定义。Hill cipher的主要思想是利用线性变换方法,不同的是这种变换是在 上运算。
例如:设d=2,每个明文单元使用 来表示,同样密文单元用 表示,具体的加密中, 将被表示为 的线性组合。
如:
利用线性代数的知识,可得
这个运算在 上进行,即mod26,密钥K一般取一个m*m的矩阵,记为。对明文 ,以 ,则加密算法为:
也可表示成。
希尔加密算法的基本思想是,将d个明文字母通过线性变换将它们转换为d个密文字母。解密只要作一次逆变换就可以了,密钥就是变换矩阵本身。如信息“NOSLEEPPING”对应着一组编码14,15,19,12,5,5,16,16,9,14,7。但如果按这种方式直接传输出去,则很容易被敌方破译。于是必须采取加密措施,即用一个约定的加密矩阵K乘以原信号B,传输信号为C=KB(加密),收到信号的一方再将信号还原(破译)为B=KC。如果敌方不知道加密矩阵,则很难破译。
解密
第一步,求密匙矩阵K的逆矩阵[2]K。K可用Mathematica计算。
Inverse123-120213∥MatrixForm=-614-3125-1-3,
即K=-614-3125-1-3。
第二步,由得Y=KX得X=KY(i=1,2,3,4),再次进行矩阵乘法运算:
X=KY=-614-3125-1-3671610=141519;
X=KY=-614-3125-1-327-244=1255;
X=KY=-614-3125-1-3501675=16169;
X=KY=-614-3125-1-321035=1470。
这样原来的信息编码为14,15,19,12,5,5,16,16,9,14,7。
第三步,对照编码表,即可获得对方发来的信息内容为“NOSLEEPPING”。
是密码吧
。RSA算法。四方密码。替换加密法。换位加密法。回转轮加密法。换位加密法。多码加密法。夹带法 。Kasiski法。三分密码。仿射密码。波雷费密码 。RC5
。维热纳尔方阵。希尔密码 等等一大堆.
反正不少 去下面的参考资料连接看看