嵌入式设备上RSA密钥生成和CRT的改进
1. 引言
在RSA密码系统中,设备需要生成随机的大素数来创建私钥。同时,有限域Diffie - Hellman(DH)和DSA参数生成也需要素数。自Logjam攻击出现后,DH和DSA参数生成变得更为常见,因为该攻击可以同时攻击使用相同参数集的多个DH和DSA密钥。
素数生成算法通常会使用筛选技术,以减少需要测试的候选数。目前存在两种筛选方法,一种基于中国剩余定理(CRT),另一种基于Carmichael的λ函数。本文将对CRT筛选法进行改进,解决其需要大量预计算CRT系数表的问题,同时还会介绍一种基于二次剩余的新型筛选算法,该算法可能比基于CRT的筛选法更能抵抗侧信道攻击。
此外,RSA私钥操作常使用CRT来减少计算时间,但这需要额外的值q⁻¹ mod p。本文将展示如何修改侧信道对策,在不使用该值的情况下高效执行RSA - CRT,简化密钥生成和存储。
2. 符号说明
- 数集相关 :用R表示实数集,Z表示整数集,Z/n表示模n的整数环,Fₚᵉ表示具有pᵉ个元素的伽罗瓦域。若两个整数(m, n)的最大公约数为1,则称它们互质。(Z/n)⁺表示Z/n中的乘法群,包含与n互质的元素。
- 整除相关 :对于正整数(p, e, n),p|n表示p整除n,p∤n表示p不整除n,pᵉ||n表示pᵉ整除n但pᵉ⁺¹不整除n。
- 函数相关 :φ(n)和λ(n)分别表示欧拉函数和Carmichael函数,对于所有x∈(Z/n)⁺,有xᵠ⁽ⁿ⁾
超级会员免费看
订阅专栏 解锁全文
48

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



