RSA 的安全性如何?
RSA 的安全性如下:
明文攻擊:
明文攻擊分為以下三個子類別:
短訊息攻擊:在短訊息攻擊中,攻擊者可能知道一些明文塊。如果這個假設成立,攻擊者可以嘗試加密每個明文塊,看看是否得到已知的密文。
因此,為了避免這種短訊息攻擊,建議在加密前填充明文。
迴圈攻擊:
在這種攻擊中,攻擊者假設密文是透過對明文進行某種排列獲得的。如果這個假設成立,攻擊者可以反向操作,即連續對已知的密文進行排列,嘗試獲得原始明文。
未隱藏訊息攻擊:理論上發現,對於某些非常有限的明文訊息,加密會產生與原始明文相同的密文。如果發生這種情況,原始明文訊息就不能保密。因此,這種攻擊被稱為未隱藏訊息攻擊。
選擇密文攻擊:在選擇密文攻擊中,可以使用擴充套件歐幾里得演算法根據已知的密文找出明文。
因式分解攻擊:RSA 的安全性完全依賴於攻擊者無法將數字 N 分解為兩個因子 P 和 Q 的假設。如果攻擊者能夠從方程式 N = P x Q 中找出 P 或 Q,那麼攻擊者就能找出私鑰。
假設 N 的十進位制位數至少為 300 位,攻擊者就無法簡單地找出 P 和 Q。因此,因式分解攻擊失敗。
對加密金鑰的攻擊:精通 RSA 數學的人有時會覺得它很容易,因為它需要一個很大的公鑰或加密金鑰 E。
這也使得 RSA 更安全。因此,如果試圖透過使用較小的 E 值來加快 RSA 的工作速度,可能會導致被稱為對加密金鑰的攻擊,因此建議將 E 值設定為 216 + 1 = 65537 或接近這個數值。
對解密金鑰的攻擊:對解密金鑰的攻擊如下:
洩露解密指數攻擊:如果攻擊者以某種方式獲得瞭解密金鑰 D,那麼不僅使用相應的加密金鑰 E 加密明文生成的密文處於危險之中,即使未來的訊息也處於危險之中。為了避免這種洩露解密指數攻擊,建議傳送方也使用新的 P、Q、N 和 E 值。
低解密指數攻擊:使用較小的解密金鑰 D 值來加快 RSA 的工作速度是很誘人的。這可能使攻擊者能夠透過發起低解密指數攻擊來猜測解密金鑰 D。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP