国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python實現希爾密碼加密的示例代碼

瀏覽:85日期:2022-07-28 11:09:24
目錄原理實現原理

希爾密碼是運用基本矩陣論原理的替換密碼,由Lester S. Hill在1929年發明。

每個字母當作26進制數字:A=0, B=1, C=2… 一串字母當成n維向量,跟一個n×n的矩陣相乘,再將得出的結果模26。(注意用作加密的矩陣(即密匙)在 必須是可逆的,否則就不可能解碼。只有矩陣的行列式和26互質,才是可逆的。)

實現

希爾密碼是運用基本矩陣論原理的替換密碼,使用一個m*m的矩陣作為密鑰,此矩陣必須可逆,解密使用逆矩陣解密。

加密: 密文向量 = 密鑰矩陣 * 明文向量 (mod 26) 解密:明文向量 = 密鑰矩陣逆矩陣 * 密文向量 (mod 26)

使用numpy庫的矩陣對象,可以十分方便地進行矩陣乘法,矩陣求逆和取模等運算。

import numpy as npm = ’YOURPINNOISFOURONETWOSIX’ #明文a = np.matrix([[11,2,19],[5,23,25],[20,7,17]]) #密鑰LCTFXZUHRnum_m = []temp = []count = 1for i in m: #將明文分為三個一組 temp.append(ord(i)-ord(’A’)) if count % 3 == 0:num_m.append(temp)temp = [] count += 1mat_m = [np.matrix(i).T for i in num_m] #將明文分組轉換為向量形式mat_c = [a * i % 26 for i in mat_m] #得到密文分組的向量形式num_c = []temp = []for i in mat_c: #將密文向量轉換為列表形式,且合并到一個列表 temp = i.tolist() for j in range(3):num_c.append(temp[j][0])c = [chr(i+ord(’A’)) for i in num_c]print(’’.join(c)) #連接成字符串,輸出密文

到此這篇關于python實現希爾密碼加密的示例代碼的文章就介紹到這了,更多相關python 希爾密碼加密內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产日韩欧美久久久 | 性欧美17一18sex性高清播放 | 一及黄色毛片 | 欧美激情综合亚洲一二区 | 国产成人精品免费视频大全五级 | 久久精品久久精品久久精品 | 久久香蕉精品视频 | 高清精品女厕在线观看 | 黄色亚洲网站 | 日本a级片免费观看 | 亚洲精品国产第一区二区三区 | 日日噜噜噜夜夜爽爽狠狠69 | 精品国产欧美另类一区 | 中文字幕乱码在线观看 | 成人午夜毛片在线看 | 爽爽窝窝午夜精品一区二区 | 久久福利资源站免费观看i 久久高清精品 | 免费看欧美一级特黄a大片一 | 国产成人av性色在线影院 | 日本一级在线播放线观看视频 | 国产亚洲精品久久久久久久久激情 | 艳女伦交一级毛片 | 欧美日韩国产成人精品 | 日本人成在线视频免费播放 | 免费成人高清视频 | 日韩欧美一区二区久久 | 亚洲精品国自产拍在线观看 | 日韩成人黄色片 | 国产精品欧美韩国日本久久 | 免费一级欧美在线观看视频片 | 欧美刺激午夜性久久久久久久 | 欧美日韩免费做爰视频 | 天堂一区二区三区精品 | 久草免费在线视频 | 日韩 国产 欧美 精品 在线 | 国产日韩欧美 | 国产99网站| 欧美性xxxx极品高清 | 精品久久一区二区三区 | 毛片免费观看成人 | 欧美国产精品一区二区免费 |