RSA密钥生成的新型攻击方法解析
1. 引言
在抗篡改设备中生成RSA密钥不仅具有实用性,也是一种良好的安全实践,它避免了由单个工作站执行多次密钥生成带来的单点故障问题。不过,这也引发了关于所需抗篡改级别程度的思考。目前,关于RSA密钥生成的侧信道攻击相关的公开研究较少,这可能会让人觉得采用基本的对策就足够了。以往已发表的攻击主要集中在基本的时序或简单功率分析(SPA)类型的泄漏上,并且可以通过恒定时间/抗SPA的实现来防范。然而,深入研究后会发现情况并非如此简单。
本文提出了几种针对RSA密钥生成的新型侧信道攻击方法,这些攻击可以相互结合,并且有足够的威力完全揭示在抗篡改设备上生成的RSA素数,除非采取了足够的对策。具体来说,我们将介绍差分功率分析(DPA)攻击、模板攻击以及几种故障攻击。
2. RSA密钥生成基础
2.1 RSA密钥生成流程
输入公共指数e和位长度ℓ,RSA密钥生成会计算两个随机的大素数p和q,位长度均为ℓ,并且需要满足gcd(e, φ(p * q)) = 1,其中φ是欧拉函数。RSA私钥是指数d = e⁻¹ mod φ(p * q),公钥则由公共指数e和2ℓ位的RSA模数n = p * q组成。
2.2 素数生成方法
RSA密钥生成中最耗费计算资源的步骤是素数的生成。通常,会选择一个随机整数,然后使用概率性测试(如费马测试或米勒 - 拉宾测试)来检验其素性。
- 费马素性测试 :给定一个素数候选数p,选择一个随机数0 < a < p,计算aᵖ⁻¹ mod p并与1进行比较。若结果为1,则p可能是素数。但存在卡
RSA密钥生成的新型侧信道攻击解析
超级会员免费看
订阅专栏 解锁全文
43

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



