Hill加密 模逆

2021-09-24 06:23:09 字數 508 閱讀 3353

由於matlab中double型別的資料小數點後面老會自動加一些亂七八糟的。

所以在模逆過程中把double型別的資料先換成int型別,最後再換回來。

**如下:

function [key,with] = modinv(f,m)

format long g

i=1;

a=int64(mod(det(f),m));

while(1)

if (mod((a*i),m)==1)

break;

else

i=i+1;

endend

with=int64(mod(det(f)*inv(f),m));

key=mod(double(i*with+m*100),m);

end引數f是輸入矩陣,m是模數。模逆後的矩陣是key。

如果你能保證m是質數,就可以直接使用該方法。

否則,在while迴圈前,加入乙個判斷,判斷a是否和m互質,**網上都有,可以自己找了進行新增。

Hill密碼的加密與解密(C語言)

寫乙個程式實現2 2 hill密碼的加解密演算法 加密過程寫的很順利,因為是2 2矩陣,一些本應該用矩陣乘法計算的東西也直接被我簡化成用算式表示了。在寫解密過程是遇到了問題,矩陣求逆的部分不太會做。跟著書上前面的例題看了一下。書上說對於2 2的矩陣,求其行列式。如果矩陣a有非零的行列式,則這個矩陣的...

Python hashlib hmac加密模組

1 用於加密的相關操作,3.x裡代替了md5模組和sha模組,主要提供sha1,sha224,sha256,sha384,sha512,md5演算法2 sha2為主流加密演算法,md5加密方式不如sha2 3import hashlib 4 m hashlib.md5 5 m.update b he...

python不能加密 Python之加密模組

hashlib模組 加密方式以md5方式加密舉例 是標準模組,直接匯入即可 還有其他的加密方式,比如 sha1 sha224 sha256 等,加密後的字串長度更長,安全性更高 一 加密步驟 1 字串先轉成二進位制型別 使用.encode 方法轉成二進位制型別 importhashlib passw...