论文部分内容阅读
椭圆曲线密码体制(Elliptic Curve Cryptology,ECC)由于其安全性能好、存储空间小、带宽要求低等特点,在嵌入式等面积、功耗受限的环境中应用得越来越广泛,近年来已被广泛制定于各种国际标准。在ECC椭圆曲线密码体系协处理器的设计过程中,计算的时间复杂度以及安全性是两个必须考虑的问题。本课题的研究过程中,我们在现有的各种标量乘算法基础之上,经过深入分析和优化,针对NAF标量乘提出了一种新型的双域快速安全的标量乘算法:co-Z Protected NAF。课题首先对素域下的co-Z方法进行了深入的研究,在理解其工作原理之后将其从素域扩展到了二元扩域,显著提高了二元扩域点加计算的效率。为了克服NAF标量乘易遭SPA攻击的弱点,Protected NAF通过引入虚假操作使得算法具有了规范化的特性,但是也带来了性能上的损失和更易受到safe-error攻击的弱点。本课题将Protected NAF同co-Z点加结合,co-Z点加的低时间复杂度的特性使得Protected NAF由于引入虚假操作所带来的性能损失在一定程度上被削减了。同时,课题将Protected NAF标量乘算法进行了优化和改进,使得新得到的标量乘算法co-Z Protected NAF在安全性上得到了很大程度的提升,新型算法不仅能够抗SPA攻击,也能够抗safe-error攻击。在算法研究之外,本课题还进行了新型双域co-Z Protected NAF标量乘算法的硬件实现,并且在运算时间以及面积上都取得了比较不错的结果。在采用0.13μm CMOS实现时,总体的协处理器总面积为73.7k逻辑门,在素域下,协处理器分别需要1.03ms和1.6ms的时间来计算标量长度为160位和256位的标量乘算法。在二元扩域下,160位和256位的标量乘算法分别需要0.21ms和0.34ms。同时该硬件能够支持多种标量长度的计算且无需经过硬件的修改,具有较大的灵活性和可扩展性。