摘要
为提高Montgomery模乘在硬件实现上的运算速度并保持较高的性能,提出一种适用于高速椭圆曲线密码处理器的高速可伸缩的双域Montgomery模乘算法及其硬件架构。通过迭代调用Karatsuba乘法,实现最大位宽为576 bit的Montgomery模乘,并利用Montgomery模乘相邻运算部分数据的无关性,通过提前计算部分数据,减少Montgomery模乘运算使用的时钟周期数。基于Karatsuba算法中多次使用大位宽加法运算带来资源消耗大和超长进位链的问题,设计基于双域4-2压缩变换的加法选择电路结构,将一个超大位宽的加法运算拆分成多个小位宽的加法,在一个时钟周期内同时得到所有加法运算的结果,并根据加法的进位输出进行最终输出结果的选择,有效缩短加法进位链的延时。实验结果表明,相比基于ASIC的Montgomery模乘实现方案,Montgomery模乘算法及硬件架构具有更高的灵活性,在65 nm的CMOS工艺下进行逻辑综合,最高时钟频率能够达到459 MHz,面积资源占用为480 254μm2,完成0~145 bit、146~289 bit、290~435 bit和436~576 bit的Montgomery模乘分别仅需要8.72 ns、23.98 ns、58.86 ns和71.94 ns,且具有较低的面积时间积。
-
单位信息工程大学