rsa演算法運用了數學「兩個大的質數相乘,難以在短時間內將其因式分解」
的這麼一套看似簡單事實上真的是很困難的乙個數學難題......
rsa加密演算法的安全性
當p和q是乙個大素數的時候,從它們的積pq去分解因子p和q,這是乙個公認的數學難題。然而,雖然rsa的安全性依賴於大數的因子分解,但並沒有從理論上證明破譯rsa的難度與大數分解難度等價。 2023年彼得·秀爾(peter shor)證明一台量子計算機可以在多項式時間內進行因數分解。假如量子計算機有朝一日可以成為一種可行的技術的話,那麼秀爾的演算法可以淘汰rsa和相關的衍生演算法。(即依賴於分解大整數困難性的加密演算法) 另外,假如n的長度小於或等於256位,那麼用一台個人電腦在幾個小時內就可以分解它的因子了。2023年,數百台電腦合作分解了乙個512位長的n。2023年後開發的系統,使用者應使用1024位金鑰,證書認證機構應用2048位或以上。
rsa加密演算法的缺點
雖然rsa加密演算法作為目前最優秀的公鑰方案之一,在發表三十多年的時間裡,經歷了各種攻擊的考驗,逐漸為人們接受。但是,也不是說rsa沒有任何缺點。由於沒有從理論上證明破譯rsa的難度與大數分解難度的等價性。所以,rsa的重大缺陷是無法從理論上把握它的保密性能如何。在實踐上,rsa也有一些缺點: 產生金鑰很麻煩,受到素數產生技術的限制,因而難以做到一次一密; 分組長度太大,為保證安全性,n 至少也要 600 bits 以上,使運算代價很高,尤其是速度較慢
RSA加密演算法
素數是這樣的整數,它除了能表示為它自己和1的乘積以外,不能表示為任何其它兩個整數的乘積。例如,15 3 5,所以15不是素數 又如,12 6 2 4 3,所以12也不是素數。另一方面,13除了等於13 1以外,不能表示為其它任何兩個整數的乘積,所以13是乙個素數。素數也稱為 質數 二 什麼是 互質數...
RSA加密演算法
演算法的描述 1.選取兩個素數p,q 2.計算n p q,fn p 1 q 1 3.選擇乙個整數e,使得e與fn的最大公約數為1,e將會用於對資料進行加密。4.計算出乙個整數d,使得d e除fn的餘數為1。d用於對密文進行解密,還原出明文。5.假設明文為m,密文為c。如果需要對原文進行加密,則進行如...
RSA加密演算法
一 rsa是公鑰加密演算法之一,該演算法的數學基礎是 1 初等數論的euler定理,即 若整數a與整數n互素,則a n 1 mod n 其中,n 為尤拉函式。2 大整數分解很困難,即給定乙個大整數n,將其分解為n p q,兩個素數乘積十分困難。二 rsa基本原理 1 金鑰的生成。選擇大素數p,q,計...