新聞中心

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

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

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

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

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

          (1):隨機選取兩個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 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 克山县| 扬中市| 饶平县| 石林| 于田县| 临湘市| 伊金霍洛旗| 常熟市| 江门市| 布尔津县| 桂林市| 桃园县| 灵璧县| 东兴市| 深水埗区| 香河县| 社旗县| 大悟县| 德阳市| 加查县| 荥经县| 呈贡县| 济源市| 滨海县| 怀宁县| 宜兴市| 乳源| 达日县| 嘉鱼县| 鸡西市| 呼图壁县| 新乡县| 库车县| 堆龙德庆县| 平南县| 秦安县| 长垣县| 金塔县| 东海县| 安庆市| 麻城市|