摘要
SM2椭圆曲线公钥密码算法的核心运算是椭圆曲线上点乘算法,因此高效实现SM2算法的关键在于优化点乘算法。对椭圆曲线的点乘算法提出从底层到高层逐层优化的整体方案。上层算法使用带预计算的modified-w NAF算法计算点乘,中间层使用a=-3的Jacobian投影坐标系计算点加和倍点,底层基于OCTEON平台的大数乘加指令使用汇编程序实现模乘算法。最终在OCTEON CN6645处理器上实现该算法,实验结果表明:SM2数字签名速度提高了约540%,验证提高了约72%,加密提高了169%,解密提高了61%。
The core operation of SM2 elliptic curve public key cryptographic systems is point multiplication on elliptic curve. So,the key of efficient implementation of SM2 algorithm is to optimize the point multiplication. In this paper,we propose a whole optimization scheme to optimize the point multiplication from bottom to top. The top algorithm uses modified-w NAF with precomputation algorithm to compute point multiplication. The middle algorithm computes point adding and doubling with the Jacobian projected coordinate system. And the bottom algorithm optimizes the modular multiplication based on large multiply instructions on OCTEON platform. At last we implement the algorithms on OCTEON CN6645 and the experimental results show that SM2 signature,SM2 verify,SM2 encrypt and SM2 decrypt algorithms obtain increases by about 540%,72%,169% and 61% respectively.
出处
《计算机应用与软件》
2017年第9期306-311,321,共7页
Computer Applications and Software
基金
中国科学院战略性先导科技专项课题(XDA06010302)
中国科学院声学研究所知识创新工程项目(Y154191601)
关键词
SM2
椭圆曲线密码算法
点乘
OCTEON处理器
SM2
Elliptic curve cryptographic algorithm
Point multiplication
OCTEON processor