椭圆曲线上特殊点的相同值功耗分析
1. 引言
智能卡上的椭圆曲线密码系统(ECC)若实现不当,易遭受简单功耗分析(SPA)或差分功耗分析(DPA)等侧信道攻击。为防止DPA,常见做法是在椭圆曲线标量乘法(ECSM)开始时对基点P进行随机化,如采用射影随机化和随机同构类方法。然而,Goubin指出某些零值点(如(0, y)和(x, 0))无法被随机化,基于此提出了精细功耗攻击(RPA)。Akishita和Takagi进一步扩展了该攻击,指出一些非零值的特殊点在加倍或加法运算时,辅助寄存器可能出现零值,即零值点攻击(ZPA),增加了椭圆曲线上需关注的特殊点数量。
本文提出一种新的攻击方法——相同值分析(SVA)。该方法不关注零值点,而是寻找在加倍或加法算法中出现相等值的点。我们列出了这些特殊点需满足的条件,即便使用随机射影坐标对策对这些点进行随机化,相同值仍会出现。通过内部比较功耗分析来检测ECSM过程中是否出现这些特殊点。这是首个基于内部功耗分析对ECC实现的攻击,除了ZPA中提到的零值特殊点,还给出了椭圆曲线上新的需关注的特殊点。此外,用于防范RPA和ZPA的同构防御措施也需更新以抵御SVA攻击。
2. 椭圆曲线密码系统
在有限域K = Fp(p为大于3的素数)中,椭圆曲线可用魏尔斯特拉斯形式表示:
[E : y^{2} = x^{3} + ax + b]
用E(K)表示满足该方程的点(x, y) ∈ K的集合,再加上无穷远点O。E(K)具有阿贝尔群结构。设P1 = (x1, y1)和P2 = (x2, y2)是E(K)中不同于O的两个点,P3 = (x3, y3) = P1 + P2的计算方式如下:
[x_{3}=\lamb
超级会员免费看
订阅专栏 解锁全文
42

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



