新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 非對稱密鑰RSA加密算法及其密鑰產生

非對稱密鑰RSA加密算法及其密鑰產生

作者: 時間:2011-08-27 來源:網絡 收藏

一、 RSA算法是第一個能同時用于加密和數字簽名的算法,也易于理解和操作。 RSA是被研究得最廣泛的公鑰算法,從提出到現在已近二十年,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一。RSA的安全性依賴于大數的因子分解,但并沒有從理論上證明破譯RSA的難度與大數分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向于因子分解不是NPC問題。RSA的缺點主要有:A)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。B)分組長度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數量級;且隨著大數分解技術的發(fā)展,這個長度還在增加,不利于數據格式的標準化。目前,SET(Secure Electronic Transaction)協(xié)議中要求CA采用2048比特長的密鑰,其他實體使用1024比特的密鑰。

其中公鑰e和私鑰d的求解過程分兩步:

 ?。?):隨機選取兩個100位(指十進制)以上的素數p和q;

產生素數的方法:根據修改的歐拉定理,如p為素數,則對于X的所有整數值,應滿足:pow(X,(p一1))=1modP。

這是一個必要條件而非充分條件,不過,如果有5個以上的X值能滿足上述條件,則P可基本斷定為素數。圖1是產生素數的流程圖,該流程圖表示,如果X從1一5之間變化時,均能滿足上述條件,則P為素數,否則將P十1,重復計算,直到獲得素數為止。由此求得p和q,其乘積即為n。

非對稱密鑰RSA加密算法及其密鑰產生


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉