论文部分内容阅读
无线通信系统、个人通信系统和智能卡的快速发展,给从事信息安全的工程师和学者带来了新的机遇和挑战。尽管现存的公钥密码体制解决了通信系统中存在的很多问题,然而它在运算中对即时存储器、码长和速度的过多要求使得它的应用越来越有限,尤其在无线通信系统中。因此,我们需要寻求一种新的公钥加密算法,这种算法应具有高速度、低功耗、带宽需求小等特点。椭圆曲线密码相比其它公钥密码,有密钥短的特点,尤其适合在智能卡等资源受限的条件下使用。 本文研究内容主要包含四个部分:首先,介绍了椭圆曲线密码中涉及到的各个环节,包括有限域的运算,参数的选取以及安全性分析。其次,将现有的密钥对生成算法,即仿射坐标算法,投影坐标算法和Montgomery算法进行了比较。由于Montgomery算法相比于其他算法具有运算简单、功耗低和精度高等优点,我们选取它来生成密钥对。然后,为了提高椭圆曲线密码的密钥对生成模块的运算速度,多项式乘法模块的设计采用数据的并行化处理,并选取了一种快速约减算法。该算法利用了特征为2的有限域中的不可约多项式第二项次数较小的特点,将多项式的高次项转化为几个多项式的和的形式,进而达到了多项式化简的目的。设计并实现了密钥对生成模块,在SMIC的0.13μm工艺库下,使用Synopsys公司的综合工具Design Compiler对其进行了综合。整个模块的面积为5.2mm2,动态功耗为239mW,最高工作频率达到了125MHz。最后,本文对数字签名中的杂凑函数进行了分析,设计并完成了它的RTL级代码。同时利用Cadence公司的NC-Verilog仿真器对其进行了功能仿真。在SMIC的0.13μm工艺库下,对其进行了综合,在时钟频率为125MHz、面积及功耗约束最小的情况下,模块的面积为0.12mm2,动态功耗为5.8mW。