-
RSA算法
鎖定
- 中文名
- RSA加密算法
- 外文名
- RSA algorithm
- 提出者
- Ron Rivest、Adi Shamir、Leonard Adleman
- 提出時間
- 1977年
- 適用領域
- 計算機,網絡安全
- 應用學科
-
密碼學
計算機學
RSA算法簡介
在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密算法E和解密算法D也都是公開的。雖然解密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK
[2]
。
正是基於這種理論,1978年出現了著名的RSA算法,它通常是先生成一對RSA密鑰,其中之一是保密密鑰,由用户保存;另一個為公開密鑰,可對外公開,甚至可在網絡服務器中註冊。為提高保密強度,RSA密鑰至少為500位長。這就使加密的計算量很大。為減少計算量,在傳送信息時,常採用傳統加密方法與公開密鑰加密方法相結合的方式,即信息採用改進的DES或IDEA對話密鑰加密,然後使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息後,用不同的密鑰解密並可核對信息摘要
[2]
。
RSA允許你選擇公鑰的大小。512位的密鑰被視為不安全的;768位的密鑰不用擔心受到除了國家安全管理(NSA)外的其他事物的危害;RSA在一些主要產品內部都有嵌入,像 Windows、網景 Navigator、 Quicken和 Lotus Notes
[3]
。
由於RSA算法1024位密鑰面臨嚴重的安全威脅,為保障電子認證服務安全應用,2016年12月5日,上海市密碼管理局在其官方網站上發佈公告,稱從2017年1月1日起停止提供RSA算法1024位密鑰對服務,並配合電子認證服務機構和應用單位做好應對措施,確保平穩過渡。
[9]
RSA算法算法原理
RSA算法算法描述
RSA算法安全性
RSA的安全性依賴於大數分解,但是否等同於大數分解一直未能得到理論上的證明,也並沒有從理論上證明破譯。RSA的難度與大數分解難度等價。因為沒有證明破解RSA就一定需要做大數分解。假設存在一種無須分解大數的算法,那它肯定可以修改成為大數分解算法,即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學界多數人士傾向於因子分解不是NPC問題
[6]
。
RSA算法的保密強度隨其密鑰的長度增加而增強。但是,密鑰越長,其加解密所耗用的時間也越長。因此,要根據所保護信息的敏感程度與攻擊者破解所要花費的代價值不值得以及系統所要求的反應時間來綜合考慮,尤其對於商業信息領域更是如此
[6]
。
RSA算法運算速度
由於進行的都是大數計算,使得RSA最快的情況也比DES慢上好幾倍,無論是軟件還是硬件實現。速度一直是RSA的缺陷。一般來説只用於少量數據加密。RSA的速度比對應同樣安全級別的對稱密碼算法要慢1000倍左右
[7]
。
RSA算法算法攻擊
RSA算法選擇密碼攻擊
RSA在選擇密碼攻擊面前顯得很脆弱。一般攻擊者是將某一信息進行下偽裝,讓擁有私鑰的實體簽名;然後,經過計算就可得到它所想要的信息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保留了輸入的乘法結構。前面已經提到,這個固有的問題來自於公鑰密碼系統的最基本的特徵,即每個人都能使用公鑰加密信息。從算法上無法解決這一問題,改進措施有兩條:是採用好的公鑰協議保證工作過程中實體不對其他實體任意產生的信息解密,不對自己一無所知的信息簽名;二是決不對陌生人送來的隨機文檔簽名,或簽名時首先對文檔作Hash處理,或同時使用不同的簽名算法
[8]
。
RSA算法小指數攻擊
(2)分組長度太大,為保證安全性,n至少也要600比特以上,使運算代價很高,尤其是速度較慢,比對稱密碼算法慢幾個數量級;隨着大整數素因數分解算法的改進和計算機計算能力的提高,對n的長度在不斷增加,不利於實現數據格式的標準化
[8]
。
- 參考資料
-
- 1. 王雷,魏煥新,聶清彬主編,計算機網絡原理基礎教程,北京理工大學出版社,2016.02,第188頁
- 2. 康桂花主編,計算概論,中國鐵道出版社,2016.08,第137頁
- 3. 李建剛著,電子商務技術實操 工學結合,對外經濟貿易大學出版社,2010.08,第223頁-第224頁
- 4. 廖濱華著,網絡基礎與應用 當代大學生必備必用,湖北科學技術出版社,2014.03,第192頁-第193頁
- 5. 王文海等編著,密碼學理論與應用基礎,國防工業出版社,2009.09,第80頁-第81頁
- 6. 胡娟主編,電子商務支付與安全,北京郵電大學出版社,2018.05,第49頁
- 7. 何小東編著,網絡安全概論,北京交通大學出版社,2014.08,第40頁
- 8. 王文海等編著,密碼學理論與應用基礎,國防工業出版社,2009.09,第82頁-第83頁
- 9. 上海市停止RSA算法1024位密鑰對服務 .國家密碼管理局[引用日期2022-07-24]