[发明专利]一种sm2性能优化实现方法有效
申请号: | 202010992268.3 | 申请日: | 2020-09-21 |
公开(公告)号: | CN112134704B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 姜孟杉;王震;白健;安红章 | 申请(专利权)人: | 中国电子科技网络信息安全有限公司 |
主分类号: | H04L9/30 | 分类号: | H04L9/30 |
代理公司: | 成都九鼎天元知识产权代理有限公司 51214 | 代理人: | 徐静 |
地址: | 610207 四川省成都市*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sm2 性能 优化 实现 方法 | ||
本发明公开了一种sm2性能优化实现方法,其所述方法为针对sm2的椭圆曲线上的点运算进行优化,包括:(1)将椭圆曲线点的标准坐标转化到仿射坐标系;(2)在仿射坐标系下,使用预计算优化椭圆曲线点加、倍点和点乘运算过程。本发明使用了转化仿射坐标和预计算来优化椭圆曲线点加、倍点和点乘运算过程,从而减少点加、倍点和点乘运算的次数,提高运算效率。
技术领域
本发明涉及是一种sm2性能优化实现方法。
背景技术
国密sm2是国家密码管理局发布的椭圆曲线公钥密码算法,目前已广泛应用于包括金融领域在内的商用密码体系中。
针对sm2p256曲线(椭圆曲线)优化sm2算法,计算效率是椭圆曲线密码体制中最关心的问题之一,在sm2签名、密钥交换和加密算法中,椭圆曲线上点运算占据了绝大部分的计算量。因此,需要对椭圆曲线上的点运算进行优化,以提高运算效率。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供一种sm2性能优化实现方法。
本发明采用的技术方案如下:
一种sm2性能优化实现方法,所述方法为针对sm2的椭圆曲线上的点运算进行优化,包括:
将椭圆曲线点的标准坐标转化到仿射坐标系;
在仿射坐标系下,使用预计算优化椭圆曲线点加、倍点和点乘运算过程。
进一步的,所述仿射坐标系为雅各比坐标系、标准仿射坐标系或Chudnovsky仿射坐标系。
进一步的,当仿射坐标系为雅各比坐标系时,椭圆曲线倍点的运算过程如下:
P=(X1,Y1,Z1),R=(X3,Y3,Z3)=P+P;
point_double(R,P);
其中,P为椭圆曲线上的点;point_double()为椭圆曲线倍点运算;R为倍点运算结果。
进一步的,当仿射坐标系为雅各比坐标系时,椭圆曲线点加的运算过程如下:
其中,P、Q为椭圆曲线上的两点;point_add()为椭圆曲线点加运算;point_double()为椭圆曲线倍点运算;R在point_add()中为点加运算结果;R在point_double()中为倍点运算结果。
进一步的,当仿射坐标系为雅各比坐标系,且椭圆曲线点为生成元G时,点乘的运算过程如下:
(1)将把256bit分成37个窗口,每个窗口7bit,计算表:
table[i][j]=27i·(j+1Gi=0,1,…,36,j=0,1,…,63
并把表中每一个点的雅各布Z坐标转换成1;
(2)计算生成元G的点乘kG时,先对k使用窗口大小等于7的booth编码,使得每个窗口中的7bit所表示的整数都是绝对值小于等于64的有符号数;然后通过36次查表和36次点加计算点乘;本步骤过程如下:
其中,ki是k的第i个窗口;point_mul_G()为椭圆曲线点为生成元G的点乘运算;booth_encode7为窗口大小等于7的booth编码,R在point_mul_G()中为椭圆曲线点为生成元G的点乘运算结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技网络信息安全有限公司,未经中国电子科技网络信息安全有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010992268.3/2.html,转载请声明来源钻瓜专利网。