亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

更多QQ空间微信QQ好友腾讯朋友复制链接
您的位置:首頁/技術文章
文章詳情頁

python實現(xiàn)希爾密碼加密的示例代碼

【字号: 作者:豬豬瀏覽:77日期:2022-07-28 11:09:24
目錄原理實現(xiàn)原理

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

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

實現(xiàn)

希爾密碼是運用基本矩陣論原理的替換密碼,使用一個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實現(xiàn)希爾密碼加密的示例代碼的文章就介紹到這了,更多相關python 希爾密碼加密內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 黄色资源网站 | 久久国产精品2020免费m3u8 | 国产香蕉91tv永久在线 | 91在线免费公开视频 | 九九99久久精品在免费线bt | aaa毛片在线 | 亚洲成人xxx | 特黄色毛片| 欧美在线视 | 操片免费看 | 污视频网址| 中文字幕久热在线精品 | 日本不卡在线视频高清免费 | 亚洲精品一区二区三区第四页 | 日韩a级黄色片 | 国产手机在线小视频免费观看 | 三级黄色在线视频 | 农村寡妇特一级毛片 | 国产91短视频 | 国产免费又色又爽又黄在线观看 | 视频在线一区二区 | 国产v精品成人免费视频71sao | 成人免费在线网站 | 精品五夜婷香蕉国产线看观看 | 亚洲一区二区三区欧美 | 99热这里有免费国产精品 | 粉嫩国产精品14xxxxx | heyzo北条麻妃久久 | 一区二区成人国产精品 | 日韩欧美视频 | 黄黄的网站在线观看 | 亚洲精品国产福利在线观看 | 亚洲色在线视频 | 欧美日韩成人午夜免费 | 欧美精品一区二区在线观看 | 麻豆精品视频在线原创 | 亚洲性一级理论片在线观看 | 午夜视频福利在线 | 慈禧级淫片a级中文在线 | 免费黄色网络 | 国产高清视频在线观看不卡v |