(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210652581.1
(22)申请日 2022.06.09
(71)申请人 北京信长城科技发展 有限公司
地址 100089 北京市海淀区中关村大街2 2
号15层A15 01
(72)发明人 刘鹏 方恒禄
(74)专利代理 机构 北京力量专利代理事务所
(特殊普通 合伙) 11504
专利代理师 郭大为
(51)Int.Cl.
H04L 9/32(2006.01)
H04L 9/40(2022.01)
(54)发明名称
一种基于SM2算法的快速验签与加密方法
(57)摘要
本发明提供一种基于SM2算法的快速验签与
加密方法, 在特定场景下, 可将公钥P视为固定点
进行固定点点乘运算, 从而极大提升了特定场景
下的SM2验签和 加密的运 算性能。
权利要求书1页 说明书5页 附图3页
CN 115085932 A
2022.09.20
CN 115085932 A
1.一种基于SM2算法的快速验签方法, 获取来自通信对端的公钥PA、 收到的消息M'及数
字签名(r' ,s'), 其特 征在于, 包括如下步骤:
S1、 检验r'∈[1,n ‑1], 若不成立验证失败;
S2、 检验s'∈[1,n ‑1], 若不成立验证失败;
S3、 置
S4、 计算消息摘要
S5、 计算t=(r'+s')mod n, 若t=0,验证失败;
S6、 以SM2椭圆曲线基点G、 公钥PA为固定点分别对两者执 行点乘计算;
得到椭圆曲线点(x1,y1)=[s']G+[t]PA;
S7、 计算R=(e'+x1)mod n, 若R=r', 验证通过; 否则验证失败。
2.根据权利要求1所述的基于SM2算法的快速验签方法, 其特征在于, 通信终端的通信
对端为平台服 务器, 通信终端 使用服务器公钥进行验签。
3.一种基于SM2算法的快速加密方法, 获取来自通信对端的公钥PB以及消息M, 其特征在
于, 包括如下步骤:
S1、 产生随机数k∈[1,n ‑1];
S2、 计算椭圆曲线点C1=[k]G=(x1,y1);
S3、 计算椭圆曲线点S=[h]PB, 若S=0报错并退 出, 将公钥PB视为固定点进行计算;
S4、 计S3、 计算椭圆曲线点S=[h]PB, 若S=0报错并退出, 将公钥PB视为固定点至多计算
一次; ;
S5、 计算t=KDF(x2||y2,klen), 若t=0, 重新产生随机数, KDF()为密钥派生 函数;
S6、 计算
S7、 计算C3=Hash(x2||M||y2);
输出密文C=C1||C3||C2。
4.根据权利要求2所述基于SM2算法的快速加密方法, 其特征在于, 通信终端的通信对
端为平台服 务器, 通信终端 使用服务器公钥进行加密。
5.一种计算机可读存储介质, 所述存储介质存储有计算机程序, 所述计算机程序用于
执行上述权利要求 1‑2任一所述的基于S M2算法的快速验签方法, 或者执行上述权利要求3 ‑
4任一所述的基于SM2算法的快速加密方法。
6.一种电子设备, 所述电子设备包括:
处理器;
用于存储所述处 理器可执行指令的存 储器;
所述处理器用于执行上述权利要求1 ‑2任一所述的基于SM2算法的快速验签方法, 或者
用于执行上述权利要求3 ‑4任一所述的基于SM2算法的快速加密方法。权 利 要 求 书 1/1 页
2
CN 115085932 A
2一种基于SM2算法的快速验签与加密方 法
技术领域
[0001]本发明属于数字签名加密领域, 具体涉及一种基于SM2算法的快速验签与加密方
法。
背景技术
[0002]SM2算法是中国的标准商用密码 算法, 基于SM2算法的数字签名和加解密技术已经
广泛应用于金融、 支 付、 政务等各个领域, 成为保障信息安全的基石。 提升S M2算法的性能是
SM2算法优化的重要方向。 SM2算法规范参考GM/T 0003‑2012 《SM2椭圆曲线公钥密码算法》 。
在SM2算法中, 点乘(或称标量乘法)决定了算法的运算速度, 提升点乘的计算效率也就提升
了SM2算法的性能。 点乘运算分为固定点的点乘和非 固定点的点乘。 固定点的点乘通过预计
算基础数据能够大幅度提升运算速度, 固定点的点乘效率可以数倍于非固定点的点乘效
率。
[0003]在现有的SM2实现方案中, 将SM2椭圆曲线基点G视为固定点。 公钥通过随机整数k
与基点G进 行点乘计算所得(P=[k]G), 随机整数k值变化, 公钥P也随之变化, 因此一般都将
公钥P视为非固定点参与点乘运算。 无视业务场景特点, 将所有公钥P均视为非固定点参与
点乘运算将无法利用固定点预计算的性能优势, 使得具有公钥参与运算的SM2验签算法和
SM2加密算法性能较低。
[0004]鉴于此, 亟需提出一种运 算效率更高的基于SM2算法的快速验签与加密方法。
发明内容
[0005]为此, 本发明提供一种运 算效率更高的基于SM2算法的快速验签与加密方法。
[0006]本发明的基于SM2算法的快速验签方法, 获取来自通信对端的公钥PA、 收到的消息
M'及数字签名(r' ,s'), 包括如下步骤:
[0007]S1、 检验r'∈[1,n ‑1], 若不成立验证失败;
[0008]S2、 检验s'∈[1,n ‑1], 若不成立验证失败;
[0009]S3、 置
[0010]S4、 计算消息摘要
[0011]S5、 计算t=(r'+s')mod n, 若t=0,验证失败;
[0012]S6、 以SM2椭圆曲线基点G、 公钥PA为固定点分别对两者执 行点乘计算;
[0013]得到椭圆曲线点(x1,y1)=[s']G+[t]PA;
[0014]S7、 计算R=(e'+x1)mod n, 若R=r', 验证通过; 否则验证失败。
[0015]进一步的, 通信终端的通信对端为平台服务器, 通信终端使用服务器公钥进行验
签。
[0016]本发明还提供一种基于SM2算法的快速加密方法, 获取来自通信对端的公钥PB以
及消息M, 包括如下步骤:说 明 书 1/5 页
3
CN 115085932 A
3
专利 一种基于SM2算法的快速验签与加密方法
文档预览
中文文档
10 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:14:05上传分享