摘要

针对现有标量乘法器不能适用于多椭圆曲线且运算开销较大的问题,设计了一种能应用于两类素数域椭圆曲线的高速标量乘法器。首先,在标量乘算法上,对secp256r1曲线的基点采用Comb算法,对普通点采用Shamir算法,对Curve25519曲线使用蒙哥马利阶梯算法;然后,优化了点加和倍点运算的操作步骤,并对点加中Z=1的情况进行简化设计,有效减少计算周期数;最后,采用快速模约简实现模乘,设计了Curve25519的快速模约简算法。整个设计充分考虑复用,在55 nm CMOS工艺下需1 022×103个等效门,在secp256r1和Curve25519上计算普通点标量乘,运算速度分别为15.3万次/秒和15.8万次/秒,其中secp256r1上的运算速度是现有设计的1.9倍。