新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 非對(duì)稱密鑰RSA加密算法及其密鑰產(chǎn)生

非對(duì)稱密鑰RSA加密算法及其密鑰產(chǎn)生

作者: 時(shí)間:2011-08-27 來源:網(wǎng)絡(luò) 收藏

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

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

  (1):隨機(jī)選取兩個(gè)100位(指十進(jìn)制)以上的素?cái)?shù)p和q;

產(chǎn)生素?cái)?shù)的方法:根據(jù)修改的歐拉定理,如p為素?cái)?shù),則對(duì)于X的所有整數(shù)值,應(yīng)滿足:pow(X,(p一1))=1modP。

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

非對(duì)稱密鑰RSA加密算法及其密鑰產(chǎn)生


上一頁 1 2 下一頁

評(píng)論


技術(shù)專區(qū)

關(guān)閉