Rsa
弱 RSA 密鑰有多常見?
存在可以針對主要因素具有特定形式的 RSA 密鑰的某些攻擊,例如 Coppersmith 的攻擊。
這些 RSA 密鑰有多常見?如果隨機生成素數,是否存在選擇弱素數的現實風險?如果您總是選擇,這種風險(如果現實的話)是否會消失? $ p $ 和 $ q $ 是安全的素數?
對於 Coppersmith 的工作方法 $ n = p\cdot q $ , 你得知道 $ \frac{1}{4}\log n $ 位 $ p $ . 在您的密鑰生成過程中需要一個非常糟糕的隨機數生成器才能將其透露給對手。這方面有兩個備受矚目的案例: 2013年低質量硬體RNGs台灣國民身份證智能卡(總結),以及2017年英飛凌智能卡RSALib庫中的ROCA漏洞。
除非您嘗試使用最便宜的硬體 RNG(好像台灣的國民身份證就是這種情況),或者試圖聰明地盡可能高效地生成密鑰(好像 ROCA 就是這種情況),否則您不要不必擔心銅匠的攻擊。有多種生成 RSA 模數的方法,它們基本上都很好,除了它們可以相互區分並且能夠對 RSA 密鑰生成過程進行指紋辨識。
安全素數,即形式的素數 $ p = 2q + 1 $ 為素數 $ q $ , 與 RSA 並不真正相關。強素數相似,但有更多標準,曾經被認為是相關的,但不再是相關的——它們阻止的攻擊的成本遠高於對 >=1024 位模數的最佳現代攻擊的成本。這些攻擊都沒有——來自老波拉德的 $ p - 1 $ 或威廉的 $ p + 1 $ 現代橢圓曲線法或一般數域篩法——都與 Coppersmith 方法有關,它是關於已知因子中的固定位。