首页 > 代码库 > 信息安全-2:python之hill密码算法[原创]

信息安全-2:python之hill密码算法[原创]

 

转发注明出处:http://www.cnblogs.com/0zcl/p/6106513.html

前言:

hill密码算法我打算简要介绍就好,加密矩阵我用教材上的3*3矩阵,只做了加密,解密没有做,不过我觉得会加密就会解密的~~

技术分享     技术分享

 

 

一、hill算法原理

hill密码是一种多字母替代密码,由数学学Leste Hill于1929年研制成功。该密码算法取m个连续的明文字母,并用m个密文字母代替,用向量或矩阵表示为(这里取m=3,C和P是长度为3的列向量,K是3*3矩阵):

技术分享

即:C=KP  (C为密文,P为明文,K为密钥矩阵)

PS:加密操作要执行模26运算

 

 二、加密规则

加密规则也不难的,就是有个矩阵运算(忘了可以谷哥一下,和线代有关~)

  1. 对明文进行分组,每3个字母一组,不足则字母Z(我设定的,下面编程也是补Z)
  2. 进行矩阵运算,对每组字母求密文

举例:

对pay more money进行加密,明文的前3个字母表示为:pay=(15  0  24)T

计算密文的过程:K(15  0  24)T=(375  819  486)Tmod 26=(11  13  18)T=LNS

依此类推,可得密文为LNS HDL EWM TRW

 

 

三、编程与思路

 

思路请看我画的流程图,网址http://processon.com/diagraming/583aff30e4b086d1e7d3b617

技术分享

 

 

 源代码

技术分享 View Code

 

测试

技术分享 View Code

 

信息安全-2:python之hill密码算法[原创]