1. 程式人生 > >信息安全-2:python之hill密碼算法[原創]

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

blog 計算 教材 文字 成功 view 思路 html 測試

轉發註明出處: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密碼算法[原創]