码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-06-09 22:31:02      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:教材   pytho   不难   技术分享   ram   .com   就会   bsp   过程   

 

转发注明出处: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密码算法[原创]

标签:教材   pytho   不难   技术分享   ram   .com   就会   bsp   过程   

原文地址:http://www.cnblogs.com/zhangyubao/p/6973840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!