rsa演算法的改進
『壹』 論RSA演算法及應用,關鍵是應用了謝謝!
RSA加密演算法的主要特點在於密鑰的變化,它能提供兩種不同的密鑰,公用密鑰(以下簡稱「公鑰」)與私有密鑰(以下簡稱「私鑰」),所有使用者共用公鑰,只有持有對應私鑰的用戶才能解密,這兩個密鑰之間存在著相互依存關系:即用其中任一個密鑰加密的信息只能用另一個密鑰進行解密。若以公鑰作為加密密鑰,以用戶專用密鑰(私鑰)作為解密密鑰,則可實現多個用戶加密的信息只能由一個用戶解讀;反之,以用戶私鑰作為加密密鑰而以公鑰作為解密密鑰,則可實現一個用戶加密的信息由多個用戶解讀。前者可用於數字加密,後者可用於數字簽名。數字簽名的意義在於,可對傳輸數據進行校驗,確保數據在傳輸過程中不被修改。
至於具體的演算法實現原理,網上有很多資料進行介紹的,可以自行搜索!
具體的應用有:RSA演算法是最普遍使用的加密與鑒權演算法,已被包含在Microsoft和Netscape的Web瀏覽器中(家喻戶曉的IE即是案例)。它也是Lotus的Notes、Intuit的Quicken及其他許多產品的一部分。
『貳』 RSA演算法的實現
RSA畢業設計論文
http://wenku..com/view/8b1804c42cc58bd63186bd77.html
『叄』 RSA與DES兩者的優缺點比較
密碼是一種可以防止信息泄漏的技術.就體制而言,一般分為兩類:對稱密碼體制和非對稱密碼體制。本設計從眾多加密演算法中選用了DES、RSA,以及基於DES和RSA的混合體制來實現對文件的加密與解密。DES和RSA兩種演算法各有優缺點:DES演算法處理速度快,而RSA演算法速度慢很多;DES密鑰分配困難,而RSA簡單;DES適合用於加密信息內容比較長的場合,而RSA適合用於信息保密非常重要的場合;混合密碼體制則是綜合了前兩者的優點而設計
『肆』 怎樣改進DES和RSA演算法
RSA運算量過大可以通過減少密鑰長度的辦法來緩解
DES保密性不夠,1、採用3DES運算,2、加密前取隨機數,計算過程密鑰,用過程密鑰來加密實際數據,增加破解難度
『伍』 RSA演算法的介紹
RSA公鑰加密演算法是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。1987年首次公布,當時他們三人都在麻省理工學院工作。RSA就是他們三人姓氏開頭字母拼在一起組成的。RSA是目前最有影響力的公鑰加密演算法,它能夠抵抗到目前為止已知的絕大多數密碼攻擊,已被ISO推薦為公鑰數據加密標准。今天只有短的RSA鑰匙才可能被強力方式解破。到2008年為止,世界上還沒有任何可靠的攻擊RSA演算法的方式。只要其鑰匙的長度足夠長,用RSA加密的信息實際上是不能被解破的。但在分布式計算和量子計算機理論日趨成熟的今天,RSA加密安全性受到了挑戰。RSA演算法基於一個十分簡單的數論事實:將兩個大素數相乘十分容易,但是想要對其乘積進行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。
『陸』 RSA加密演算法原理
RSA加密演算法是一種典型的非對稱加密演算法,它基於大數的因式分解數學難題,它也是應用最廣泛的非對稱加密演算法,於1978年由美國麻省理工學院(MIT)的三位學著:Ron Rivest、Adi Shamir 和 Leonard Adleman 共同提出。
它的原理較為簡單,假設有消息發送方A和消息接收方B,通過下面的幾個步驟,就可以完成消息的加密傳遞:
消息發送方A在本地構建密鑰對,公鑰和私鑰;
消息發送方A將產生的公鑰發送給消息接收方B;
B向A發送數據時,通過公鑰進行加密,A接收到數據後通過私鑰進行解密,完成一次通信;
反之,A向B發送數據時,通過私鑰對數據進行加密,B接收到數據後通過公鑰進行解密。
由於公鑰是消息發送方A暴露給消息接收方B的,所以這種方式也存在一定的安全隱患,如果公鑰在數據傳輸過程中泄漏,則A通過私鑰加密的數據就可能被解密。
如果要建立更安全的加密消息傳遞模型,需要消息發送方和消息接收方各構建一套密鑰對,並分別將各自的公鑰暴露給對方,在進行消息傳遞時,A通過B的公鑰對數據加密,B接收到消息通過B的私鑰進行解密,反之,B通過A的公鑰進行加密,A接收到消息後通過A的私鑰進行解密。
當然,這種方式可能存在數據傳遞被模擬的隱患,但可以通過數字簽名等技術進行安全性的進一步提升。由於存在多次的非對稱加解密,這種方式帶來的效率問題也更加嚴重。
『柒』 RSA演算法的缺點
1)產生密鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密。
2)安全性,RSA的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難度與大數分解難度等價,而且密碼學界多數人士傾向於因子分解不是NP問題。現今,人們已能分解140多個十進制位的大素數,這就要求使用更長的密鑰,速度更慢;另外,人們正在積極尋找攻擊RSA的方法,如選擇密文攻擊,一般攻擊者是將某一信息作一下偽裝(Blind),讓擁有私鑰的實體簽署。然後,經過計算就可得到它所想要的信息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保留了輸入的乘法結構:
(XM)d = Xd *Md mod n
前面已經提到,這個固有的問題來自於公鑰密碼系統的最有用的特徵--每個人都能使用公鑰。但從演算法上無法解決這一問題,主要措施有兩條:一條是採用好的公鑰協議,保證工作過程中實體不對其他實體任意產生的信息解密,不對自己一無所知的信息簽名;另一條是決不對陌生人送來的隨機文檔簽名,簽名時首先使用One-Way Hash Function對文檔作HASH處理,或同時使用不同的簽名演算法。除了利用公共模數,人們還嘗試一些利用解密指數或φ(n)等等攻擊.
3)速度太慢,由於RSA 的分組長度太大,為保證安全性,n 至少也要 600 bits以上,使運算代價很高,尤其是速度較慢,較對稱密碼演算法慢幾個數量級;且隨著大數分解技術的發展,這個長度還在增加,不利於數據格式的標准化。SET(Secure Electronic Transaction)協議中要求CA採用2048比特長的密鑰,其他實體使用1024比特的密鑰。為了速度問題,人們廣泛使用單,公鑰密碼結合使用的方法,優缺點互補:單鑰密碼加密速度快,人們用它來加密較長的文件,然後用RSA來給文件密鑰加密,極好的解決了單鑰密碼的密鑰分發問題。
『捌』 RSA和DES演算法的優缺點、比較
DES演算法:
優點:密鑰較短,加密處理簡單,加解密速度快,適用於加密大量數據的場合。
缺點:密鑰單一,不能由其中一個密鑰推導出另一個密鑰。
RSA演算法:
優點:應用廣泛,加密密鑰和解密密鑰不一樣,一般加密密鑰稱為私鑰。解密密鑰稱為公鑰,私鑰加密後只能用公鑰解密,,當然也可以用公鑰加密,用私鑰解密。
缺點:密鑰尺寸大,加解密速度慢,一般用來加密少量數據,比如DES的密鑰。
(8)rsa演算法的改進擴展閱讀:
安全性
RSA的安全性依賴於大數分解,但是否等同於大數分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數分解。假設存在一種無須分解大數的演算法,那它肯定可以修改成為大數分解演算法。RSA 的一些變種演算法已被證明等價於大數分解。
不管怎樣,分解n是最顯然的攻擊方法。人們已能分解多個十進制位的大素數。因此,模數n必須選大一些,因具體適用情況而定。
『玖』 RSA加解密演算法,該怎麼解決怎麼解決
在公開密鑰密碼體制中,加密密鑰(即公開密鑰)PK是公開信息,而解密密鑰(即秘密密鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算出SK。正是基於這種理論,1978年出現了著名的RSA演算法,它通常是先生成一對RSA 密鑰,其中之一是保密密鑰,由用戶保存;另一個為公開密鑰,可對外公開,甚至可在網路伺服器中注冊。為提高保密強度,RSA密鑰至少為500位長,一般推薦使用1024位。這就使加密的計算量很大。為減少計算量,在傳送信息時,常採用傳統加密方法 與公開密鑰加密方法相結合的方式,即信息採用改進的DES或IDEA對話密鑰加密,然後使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息後,用不同的 密鑰解密並可核對信息摘要。