RSA 是一個存在著邏輯缺陷的算法
標題 RSA 是一個存在著邏輯缺陷的算法 movieman(原作)
在CSDN看到的
關鍵字 RSA 存在邏輯缺陷
RSA 是一個存在著邏輯缺陷的算法
一、現今,雖然 RSA 算法的加密特性越來越多地得到人們的認可,不過,RSA 算法卻不同程度地存在著邏輯缺陷部分,比如說:
n = q×p = 3×11 = 33
e×d = (q - 1)(p - 1)+1 = 21 = 3×7
即:公私鑰對是(33,3)、(33,7),可惜的是這對滿足 RSA 算法的公私鑰對卻存在著邏輯缺陷,就是要加密的原文為 12 或 21 時,將會出現加密失效的現象。
(12^7) mod 33 = 12 原文與密文相等,加密失效
(12^3) mod 33 = 12 一樣是加密失效。
(21^7) mod 33 = 21 原文與密文相等,加密失效
(21^3) mod 33 = 21 加密失效。
二、還有一項缺陷就是所謂的公私鑰對必然性,雖然 RSA 算法是這樣說的,不過已有證明可以說明這不是必然的,比如說:
n = q×p = 5×17 = 85
e×d = (5-1)(17-1) + 1 = 5×13
即:公私鑰對是(85,5)、(85,13),本應該只這一對公私鑰對,可實際上(85,5)、(85,29)也成立。也就是說,用(85,5)加密的原文除了可以用(85,13)解密外,(85,29)也可以解密。
而且,(85,5)、(85,13)這對公私鑰對也存在加密失效的現象,即原文為 4 時加密將失效。
三、還有一個缺陷就是在只知道密文 x 及公鑰(n,e)的情況下,只要將 (x^e) mod n 所得餘數 s 再不斷地循環操作 s = s^e mod n,此運算不斷地循環 e 次之後,很多情況下都可以循環出原文,只是計算量過余多一些罷了。不過有不少情況下,根本都無須循環 e 次,不過對於1024位的 n 級別來說,e 也是一個相當大的數值,所以循環密文的餘數以解得原文是有些不現實。
以上內容僅供參考,如有不實,請予更正
|