论文部分内容阅读
SM2是使用椭圆曲线加密(ECC)的一种密码学标准,而ECC是1985年提出的一种公钥密码算法。与主流加密算法如RSA算法相比,ECC算法具有安全性能高、计算量小、处理速度快等特点。然而为充分保证系统的安全性,目前的数字签名系统的公钥和私钥倍数一般都在256位以上,即密钥生成和验证过程进行都需要大数运算,因此即使采用ECC算法,无论是软件还是硬件实现,速度较慢仍然是数字签名算法的一个缺陷。由于在实时性要求较高的场合,需要进行高速运算,因此,提高ECC算法的运算速度是非常重要的。在ECC算法中,需要执行大量的加法与乘法运算。在加法运算可以通过XOR门实现,而乘法运算则需要很多的AND和XOR门以及很长的延时。其他二位元扩域上的复杂运算如指数和点加运算等都可以通过调用乘法运算来实现。为了满足数字签名运算中数据快速处理的要求,需要设计出一种能够快速完成二位元有限域上乘法运算的高效结构。本文的目标就是设计出一种能够有效缩短乘法运算时间,提高数字签名效率的乘法器。为此,本文提出了一种基于Dickson原理实现的新型乘法器,它利用Dickson多项式的独特性质,将Dickson基底与传统的GNB基底(Gaussian normal basis)联系起来,并使用Dickson基底替代GNB基底。通过有限域上加减法相同的特性,使用Karatsuba分解方法对多项式进行分解,在付出增加三个加法的代价之下,减少一个乘法。接着利用Dickson多项式的性质,实现分解后多项式的重构,之后采用递归方法将一个长度为m的多项式分解成长度为2的多项式再进行基本的乘法运算,在递归返回之后,再利用基底转换将Dickson基底转换回GNB基底,最终实现整个乘法器的结构。本文一共提出了使用Karatsuba分解的二分法和三分法两种乘法器结构,实验结果表明,本文提出的新型Dickson乘法器与传统乘法器以及同类改进的2型和4型GNB乘法器相比,二分法可以减少约50%的乘法运算,而三分法则可以减少约三分之二的乘法运算,并相应地减少一点加法运算。因此可知,使用本文提出的新型乘法器,可以优化二位元有限域上的乘法结构,并提升数字签名的效率。