通過RSA進行私鑰加密公鑰解密演算法的進一步改進

2021-09-24 18:54:59 字數 748 閱讀 5217

正在做乙個軟體需要用到非對稱加密演算法進行註冊資訊的加密,沒想到的是rsa只能用公鑰加密私鑰解密,這和我的需求正好相反,於是在網上找到了牛人做的加密演算法,可在使用後發現,對中文的支援有問題。

原來的演算法將輸入字串按每段128個字元進行拆解,可是如果在拆分的位置上正好有中文,解密之後就會出現亂碼,甚是頭疼。

仔細研究過演算法以後,發現原先以字串方式來處理資料的方式並不合理,於是重寫了演算法,以二進位制方式處理,成功解決了亂碼的問題,以下是改進之後的演算法。

public

static

byte encrypt(byte

data, biginteger d, biginteger n)

return

output.toarray();}}

public

static

byte decrypt(byte

data, biginteger e, biginteger n)

return

output.toarray();}}

public

static

string encrypt(string source, string d, string

n)

public

static

string decrypt(string source, string e, string

n)

最後,感謝原作者的努力,讓我省了好多事。

使用rsa公鑰對字串加密並通過私鑰解密全過程

0.生成公鑰私鑰對 ssh keygen t rsa n f ssh id getauthtoken rsa 1 把當前公鑰轉為pem格式 python convert.py awk ssh id getauthtoken rsa.pub sed 2,3d ssh id getauthtoken r...

公鑰 私鑰 加密 解密 簽名 驗證

一 公鑰加密 假設一下,我找了兩個數字,乙個是1,乙個是2。我喜歡2這個數字,就保留起來,不告訴你們 私鑰 然後我告訴大家,1是我的公鑰。我有乙個檔案,不能讓別人看,我就用1加密了。別人找到了這個檔案,但是他不知道2就是解密的私鑰啊,所以他解不開,只有我可以用 數字2,就是我的私鑰,來解密。這樣我就...

基於私鑰加密公鑰解密的RSA演算法C 實現

rsa演算法是第乙個能同時用於加密和數字簽名的演算法,也易於理解和操作。rsa是被研究得最廣泛的公鑰演算法,從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。rsa的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯rsa的難度與大數分解難度等價。r...