利用乘法与平方的差分功耗对椭圆曲线密码系统进行功耗分析
1. 引言
椭圆曲线密码系统(ECC)相较于RSA密码系统,能以更短的密钥长度提供相同级别的安全性,因此非常适合在智能卡等资源受限的设备上实现。近年来,出现了一类新的攻击方式——侧信道攻击,攻击者通过利用执行时间、功耗等侧信道信息,从加密设备中提取秘密信息。其中,功耗分析攻击是最典型的侧信道攻击,对智能卡构成了严重威胁。这类攻击主要包括简单功耗分析(SPA)和差分功耗分析(DPA)。SPA只需观察一次执行过程中的功耗轨迹,而DPA则需要多次功耗轨迹,并运用统计工具进行分析。
针对ECC,已经有许多SPA/DPA攻击和相应的对策被提出。2002年,Brier和Joye提出了统一加法公式,使得在Weierstrass形式的椭圆曲线上,点加法和点加倍操作难以区分,保证了对SPA的抗性。同时,Montgomery阶梯算法总是重复点加法和点加倍操作,让SPA攻击者无法获取秘密标量的任何位信息。并且,将这两种SPA对策与随机投影表示或随机曲线同构相结合,可使其具备DPA抗性。
本文提出了一种针对这些DPA对策的新型攻击方法。首先,我们研究了模乘法和模平方之间的功耗差异,通过估算进位保存加法树中每个门的信号转换概率,详细解释了这种差异在CMOS电路中是如何产生的,并通过对ECC协处理器的网表时序仿真证实了这一差异。其次,我们将这种功耗差异应用于上述两种SPA/DPA对策。对于统一加法公式,攻击者可以区分公式是执行点加法还是点加倍操作,从而检测出秘密标量。对于Montgomery形式曲线的Montgomery阶梯算法,我们利用一个“特殊”点,使得点加倍操作中某个模乘法的两个输入相等,该点满足(x^2 + (A - 4)x + 1 = 0),
超级会员免费看
订阅专栏 解锁全文
23

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



