论文部分内容阅读
众多公钥密码体制中,椭圆曲线密码(ECC, Elliptic Curve Cryptography)由于单比特安全性强,计算速度快,曲线资源丰富等优势,得到广大研究者的关注。作为ECC最核心最耗时的操作,标量乘算法决定着整个密码体制的性能。本文从效率及安全性两个主要方面对标量乘算法进行研究。在效率方面,主要研究思路有两条:一是对标量进行重编码,寻求优化的多基数链,得到更低的海明重量;另一个是在底层域变换点的表示形式,得到高效的点加倍点公式,并将点公式并行化。而在安全性方面采用均衡化方法,调整标量乘算法,让点加、倍点等点操作按特定的步骤序列进行,让能耗轨迹以相对平衡的方式展现。基于以上研究思路,本文主要工作有:(1)多基数链作为双基数链的推广,具有链长更短,非零比特数目更少的特点,非常适用于椭圆曲线标量乘的快速运算。我们以搜索双基数链的树算法为基础,增加约分因子和孩子节点,考虑点加、倍点、三倍点的时间花销,提出了优化的多基数链搜索算法。实验结果表明,与传统的NAF算法、贪婪算法和基于树的双基数链搜索算法相比,新算法所产生的多基数链用于标量乘时,在素数域中,运算量减少约22%、12.9%、10.6%,在二进制域中,运算量减少约20.2%、11.5%、9.7%。(2)对Jacobi Quartics曲线进行研究,在投影坐标的基础上添加冗余坐标,设计出了新的点加、倍点和三倍点公式。并在芯片系统上,通过适当增加硬件开销,将点加、倍点和三倍点公式并行化,算法具有可实现性和高效性,用于计算点乘可使整体性能大大提高,并行度高达90%,并行后的效率提高41%-49%。在实现上提法新颖并做出了积极有效的尝试,对于技术的进一步发展应用能够产生积极的影响。(3)简单能量攻击,特别是2010年新发现的乘法提前中断攻击对椭圆曲线点乘算法的安全性具有很大的威胁,在某种程度上可以恢复出密钥。我们根据Jacobi Quartics曲线的点公式,设计出了基于M-N-A-S-N-A-N-A新型边信道原子结构的快速并行点加、倍点和三倍点公式。新的算法在效率上比以往的方法有了很大的提高,对于采用NAF编码的192bit的标量乘算法而言,当S/M=0.8时,效率提高约4.4%-56%,当S/M=0.6时,提高约4.4%-61%;在安全性方面由于增加了三倍点运算等点操作,使得攻击者即使通过乘法提前中断攻击,从能耗曲线中分辨出点加运算,也无法进一步分辨出倍点和三倍点等点运算,从而不能推断出标量的多基数链表示。