RSA与RSA签名的故障攻击分析
在密码学领域,RSA算法及其签名机制是保障信息安全的重要手段,但同时也面临着各种攻击的威胁,其中故障攻击是一种极具挑战性的攻击方式。下面将深入探讨针对RSA和RSA签名的故障攻击方法及其原理。
1. 基础数学运算与等式推导
在开始介绍攻击方法之前,先了解一些基础的数学运算和等式推导。通过扩展欧几里得算法可得:
- (15 = 2 × 7 + 1),由此推出(2^{-1} \bmod 15 = -7 \bmod 15 = 8)。
- 同时有(m^{e2^i} \equiv 2^{3×2^0} \equiv 2^3 \equiv 8 \bmod 15),(m^{-e2^i} \equiv 2^{-3×2^0} \equiv 2^{-3} \equiv 8^3 \equiv 512 \equiv 2 \bmod 15)。
- 进而得出(\frac{s’^e}{m} \equiv m^{-e2^i} \bmod n),并且根据相关等式可知(d_0 = 1)。
2. 对RSA公钥的攻击
这种攻击方式是在签名过程中向RSA公钥(n)注入故障,从而尝试恢复私钥(d)。由于(n)的值较大,通常会存储在多个寄存器中,故障可以在加载或准备(n)的过程中注入。此攻击方法特定于从右到左的平方 - 乘法算法。
2.1 算法流程与故障签名计算
RSA签名计算使用从右到左的平方 - 乘法算法,具体如算法5.7所示。设(n’)为有故障的RSA模数,(\varepsilon := n \oplus n’)为故障掩码。假设在第(j)轮((1 \leq j \leq \ell_d - 2
超级会员免费看
订阅专栏 解锁全文
1278

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



