C RSA加密 解密

2022-02-22 23:57:08 字數 2019 閱讀 5181

rsa公鑰加密演算法是2023年由ron rivest、adi shamirh和lenadleman在(美國麻省理工學院)開發的。rsa取名來自開發他們三者的名字。rsa是目前最有影響力的公鑰加密演算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被iso推薦為公鑰資料加密標準。rsa演算法基於乙個十分簡單的數論事實:將兩個大素數相乘十分容易,但那時想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密金鑰。rsa演算法是第乙個能同時用於加密和數字簽名的演算法,也易於理解和操作。

rsa是被研究得最廣泛的公鑰演算法,從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。rsa的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯rsa的難度與大數分解難度等價。即rsa的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向於因子分解不是npc問題。

rsa的缺點主要有:

a)產生金鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。

b)分組長度太大,為保證安全性,n 至少也要 600bits以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;且隨著大數分解技術的發展,這個

長度還在增加,不利於資料格式的標準化。目前,set(secure electronic transaction)協議中要求ca採用2048bits長的金鑰,其他實體使用1024位元的金鑰。c)rsa金鑰長度隨著保密級別提高,增加很快。下表列出了對同一安全級別所對應的金鑰長度。

保密級別

對稱金鑰長度(bit)

rsa金鑰長度(bit)

ecc金鑰長度(bit)

保密年限

8080

1024

1602010

112112

2048

2242030

128128

3072

2562040

192192

7680

3842080

256256

15360

5122120

這種演算法2023年就出現了,它是第乙個既能用於資料加密也能用於數字簽名的演算法。它易於理解和操作,也很流行。演算法的名字以發明者的名字命名:ron rivest, adishamir 和leonard adleman。早在2023年,英國國家通訊總局的數學家clifford cocks就發現了類似的演算法。但是他的發現被列為絕密,直到2023年才公諸於世。

rsa演算法是一種非對稱密碼演算法,所謂非對稱,就是指該演算法需要一對金鑰,使用其中乙個加密,則需要用另乙個才能解密。

rsa的演算法涉及三個引數,n、e1、e2。

其中,n是兩個大質數p、q的積,n的二進位制表示時所占用的位數,就是所謂的金鑰長度。

e1和e2是一對相關的值,e1可以任意取,但要求e1與(p-1)*(q-1)互質;再選擇e2,要求(e2*e1)mod((p-1)*(q-1))=1。

(n及e1),(n及e2)就是金鑰對。

rsa加解密的演算法完全相同,設a為明文,b為密文,則:a=b^e1 mod n;b=a^e2 mod n;

e1和e2可以互換使用,即:

c#**實現

需引用using system.security.cryptography;

/// 

/// rsa加密

///

///

///

///

public static string rsaencrypt(string publickey, string content)

///

/// rsa解密

///

///

///

///

public static string rsadecrypt(string privatekey, string content)

C RSA 分段加解密

rsa加解密 1024位的證書,加密時最大支援117個位元組,解密時為128 2048位的證書,加密時最大支援245個位元組,解密時為256。加密時支援的最大位元組數 證書位數 8 11 比如 2048位的證書,支援的最大加密位元組數 2048 8 11 245 net中的rsa加密演算法為了提高安...

C RSA加密,無限制長度

rsa加密,無限制長度 rsa加密 無長度限制 public class encrypthelper 解密 public static string decrypt string encryptedinput 生成金鑰 public static void rsakey out string xml...

des vue 加密解密 DES加密 解密

外掛程式描述 des data encryption standard 是發明最早的最廣泛使用的分組對稱加密演算法。des演算法簡介 des data encryption standard 是發明最早的最廣泛使用的分組對稱加密演算法。des演算法的入口引數有三個 key data mode。其中k...