加解密演算法二 非對稱加解密及RSA演算法的實現

2022-04-29 04:15:11 字數 1371 閱讀 9774

加密和解密使用不同的金鑰的一類加密演算法。這類加密演算法通常有兩個金鑰a和b,使用金鑰a加密資料得到的密文,只有金鑰b可以進行解密操作(即使金鑰a也無法解密);

相反,使用金鑰b加密資料得到的密文,只有金鑰a可以解密。這兩個金鑰分別稱為私鑰和公鑰。私鑰就是你個人保留,不能公開的金鑰,而公鑰則是公開給加解密操作的另一方的。

根據不同用途,對資料進行加密所使用的金鑰也不相同(有時用公鑰加密,私鑰解密;有時相反用私鑰加密,公鑰解密)。非對稱加密的代表演算法是rsa演算法。

rsa演算法是第乙個既能用於資料加密也能用於數字簽名的演算法。它易於理解和操作,也很流行。它的安全性是基於大整數素因子分解的困難性,而大整數因子分解問題是數學上的著名難題,至今沒有有效的方法予以解決,因此可以確保rsa演算法的安全性。

public

static

void createpublicandprivatekey(out

string publickey, out

string

privatekey)

公鑰加密,私鑰解密:

public

static

string rsaencryptwithpublickey(string source, string

publickey)

else

msinput.close();

byte result = msouput.toarray();//

得到加密結果

msouput.close();

rsaprovider.clear();

return

convert.tobase64string(result);

}catch

(exception ex)}}

public

static

string rsadecryptwithprivatekey(string source, string

privatekey)

else

msinput.close();

byte result = msouput.toarray();//

得到解密結果

msouput.close();

rsaprovider.clear();

return

encoding.default.getstring(result);

}catch

(exception ex)

}}

加解密演算法一 雜湊演算法 對稱加解密

net中的加解密操作所涉及的物件都在命名空間system.security.cryptography下,所以應先在程式中新增using system.security.cryptography。用來產生一些資料片段 例如訊息或會話項 的雜湊值的演算法。好的雜湊演算法具有在輸入資料中的更改可以更改結果...

最直白非對稱加解密

與對稱加密演算法不同,非對稱加密演算法需要兩個金鑰 公鑰 publickey 和私鑰 privatekey 公鑰與私鑰是一對,如果用公鑰對資料進行加密,只有用對應的私鑰才能解密 如果用私鑰對資料進行加密,那麼只有用對應的公鑰才能解密。因為加密和解密使用的是兩個不同的金鑰,所以這種演算法叫做非對稱加密...

非對稱加解密互動故事

1.鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。2.鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。3.蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果 4.鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩露,這封信就是安全的,即使落在別人手...