Rsa
當我們有 ECC 時,是否有任何理由使用 RSA 或 DSA?
我在想出 RSA 或 DSA 的案例時遇到了麻煩。似乎ECC在各方面都更好。
這是真的?
我正在尋找 RSA/DSA優於ECC 的情況,而不是出於歷史原因使用它的情況。
RSA 在三個案例中勝過常見的 ECC 算法,例如 ECDSA:
- 簽名頻繁或/和由低功耗設備或/和驗證碼需要很小的地方。驗證費用 $ n $ 具有通常公共指數的位 RSA 是 $ O(n^2) $ ,但基於 ECC 的簽名的驗證成本為 $ O(n^3) $ (使用通常的算法)。再加上更簡單的數學運算,這就是為什麼 RSA 在通常的安全級別上的簽名驗證速度可以快 10 倍以上,即使它必須使用更大的 $ n $ 同等安全級別。RSA 驗證所需的程式碼也比 ECC 計算少得多,這使得它很有吸引力,例如,在空間昂貴且無法修補錯誤的 ROM 程式碼中。
- 類似地,由低功率設備或/和解密的加密相對較少。
- 需要最小化添加簽名的大小成本;使用帶有消息恢復的簽名,對於 RSA 可以是 34 個字節(使用 SHA-256 雜湊、ISO 9796-2 模式 3 或已棄用的模式 1,對於 2048 位安全級別的簽名前至少 222 個字節的消息),與ECDSA 為 64 字節,具有相當的安全性。
因此,RSA 是簽署公鑰證書的一個不錯的選擇(而且我相信它確實仍然是主要的選擇);除了慣性,在網際網路領域,這主要是因為原因 1(證書經常被驗證),但在智能卡和支付行業,原因 3 加起來。
RSA(與 ECC)的其他參數是
- RSA 最早出現/是最久經考驗的,並成為行業標準。
- 簡單。RSA 簽名驗證比 ECDSA 簽名驗證更容易編碼和正確。
- RSA 長期以來顯然是無專利的。但這現在也適用於 ECDSA,並且可以說自 2014 年 8 月以來一直毫無爭議地適用,至少對於素數領域的曲線而言;例如,secp256r1 上的 ECDSA 和 Curve25519 上的 EdDSA 是未受專利保護的。
- 也許(但請參閱這些 評論)稍微多一點的量子彈性;也就是說,在與非量子攻擊相當的抵抗水平上,如果 RSA 出現可用於密碼分析的量子電腦,它可能會落後於 ECC;請參閱此其他答案及其來源的第 5.4 節;請注意,Koblitz 和 Menezes 並沒有發表任何強烈的聲明,相反,他們的介紹是(強調我的):
我們接下來在 NSA 的 PQC 公告中檢驗一些關於 NSA 動機的猜想(..)
NSA認為RSA-3072 比 ECC-256 甚至 ECC-384 更具有量子抗性。(..)
注意:此答案不涉及 ECC 更可取的案例或其優點。