RSA与Diffie - Hellman密码学详解
1. RSA的漏洞与风险
RSA作为一种广泛使用的非对称加密算法,存在多种潜在的攻击方式。
1.1 故障攻击之Bellcore攻击
攻击者可以通过诱导芯片计算过程中出现故障,观察其对最终结果的影响,从而利用算法内部操作的错误。Bellcore攻击就是这样一种故障攻击,它适用于使用中国剩余定理(CRT)且具有确定性的RSA签名方案,例如全散列法(FDH),但不适用于概率性的PSS方案。
假设攻击者在计算 (x_q) 时诱导出一个故障,得到一个错误值 (x_q’),最终结果为 (x’)。通过将错误签名 (x’) 从正确签名 (x) 中减去,攻击者可以对模数 (n) 进行因式分解。因为 (x - x’) 是 (p) 的倍数,所以 (p) 是 (x - x’) 的除数,同时 (p) 也是 (n) 的除数,通过计算 (n) 和 (x - x’) 的最大公约数 (GCD(x - x’, n)) 就可以得到 (p),进而计算出 (q = n / p) 和 (d),实现对RSA签名的完全破解。
还有一种变体攻击,即使不知道正确签名,仅知道消息已签名时也能起作用。另外,还有针对模数 (n) 的类似故障攻击,但这里不做详细介绍。
1.2 共享私钥指数或模数的风险
不同系统或人员的私钥应该具有不同的私钥指数 (d),即使使用不同的模数也应如此,否则可能会尝试用自己的 (d) 去解密为其他实体加密的消息。同样,不同的密钥对应该有不同的 (n) 值,因为 (p) 和 (q) 通常是私钥的一部分。如果共享相同的 (n),就可以根据对方的公钥 (e) 以及 (p) 和 (
超级会员免费看
订阅专栏 解锁全文
669

被折叠的 条评论
为什么被折叠?



