(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211241725.0
(22)申请日 2022.10.11
(71)申请人 北京无字天书科技有限公司
地址 100089 北京市海淀区西三环北路89
号4层A-01-54号
(72)发明人 封维端 袁峰 张立圆
(74)专利代理 机构 北京知汉亭知识产权代理事
务所(普通 合伙) 16011
专利代理师 刘金龙
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/30(2006.01)
(54)发明名称
SM2密钥生成法及相关方法、 计算机设备和
存储介质
(57)摘要
本发明提供了一种SM2密钥生 成法以及相应
的公钥恢复方法、 数字签名生成方法、 数字签名
验证方法、 数据加密方法、 数据解密方法, 并提供
相应的计算机设备和计算机可读存储介质, 所述
SM2密钥生成法包括步骤: 步骤一, 步骤二和/或
步骤三, 其中, 步骤一.建立系统参数; 步骤二.基
于所述系统参数, 生成用户签名私钥dsA; 步骤
三.基于所述系统参数, 生成用户加密私钥deA。
本发明采用用户的可辨别标识和KGC系统主密钥
联合计算用户签名/加密密钥, 节省了大量计算
资源; 通过使用私钥生成符来恢复签名公钥和加
密公钥, 从而使得签名密钥和加密密钥的生成和
使用从算法层面上进行了区分, 避免混用。
权利要求书5页 说明书11页 附图1页
CN 115549905 A
2022.12.30
CN 115549905 A
1.SM2密钥生成法, 其特 征在于, 包括 步骤: 步骤一, 步骤二和/或步骤三,
其中,
步骤一.建立系统参数;
步骤二.基于所述系统参数, 生成用户签名私钥dsA;
步骤三.基于所述系统参数, 生成用户加密私钥deA。
2.根据权利要求1所述的SM2密钥生成法, 其特 征在于, 所述 步骤一包括如下步骤:
S11.用户和密钥生成中心KGC共享SM2算法的椭圆曲线E(Fq)参数G和n, 其中, E(Fq)为
定义在有限域Fq上的椭圆曲线, G表示所述椭圆曲线E(Fq)上阶为 n的基点, n 为素数;
S12.由所述密钥生成中心KGC生成系统主私钥ms和系统主公钥PPub, 其中, 系统主公钥
PPub=[ms]×G, 方括号[ ]的含义代表所述椭圆曲线E(Fq)上的倍点运算, 所述系统主公钥
PPub是所述椭 圆曲线E(Fq)上的点, 后面各计算式中的方括号[ ]的含义均代表所述椭圆曲
线E(Fq)上的倍 点运算;
S13.由所述密钥生成中心KGC随机选择第一私钥生成符kid0∈[1,n‑1]和第二私钥生成
符kid1∈[1,n‑1], 并且k id0和kid1不相等;
S14.所述密钥生成中心KGC公开所述系统主公钥PPub、 第一私钥生成符kid0和第二私钥
生成符kid1。
3.根据权利要求2所述的SM2密钥生成法, 其特 征在于, 所述 步骤二包括如下步骤:
S21.所述用户产生第一随机数rA∈[1,n‑1], 计算UA=[rA]×G;
S22.所述用户将所述UA和所述用户的可辨别标识IDA提交给所述密钥生成中心KGC; ;
S23.所述密钥 生成中心KGC使用所述系统主私钥ms计算第一部分密钥 值tA和第一公钥
恢复数据WA, 并将所述第一部 分密钥值tA和第一公钥恢复数据WA发送给所述用户, 并向所述
用户返回第一密文Cipher1或第二密文Cipher2;
S24.所述用户收到所述第一密文Cipher1或第二密文Cipher2, 解密后得到所述第一部
分密钥值tA和所述第一公钥恢复数据WA, 计算HA=H256(ENTLA‖IDA‖xPub‖yPub)和hA=H256(xW‖
yW‖HA), 计算所述用户签名私钥dsA=(hA×tA+rA)mod n, 保存用户签名私钥dsA和第一公钥
恢复数据WA, 其中, H256为输出为256比特的杂 凑函数; ENTLA为2个字节表示的所述可辨别标
识IDA的字节长度; ‖表示字节串的拼接; xPub, yPub为所述系统主公钥PPub的坐标; xW, yW为所述
第一公钥恢复数据WA的坐标; x mod y代表x对y的求余运算。
4.根据权利要求3所述的SM2密钥生成法, 其特 征在于,
所述步骤S23中, 所述计算包括如下步骤:
A1.计算所述HA=H256(ENTLA‖ IDA‖xPub‖ yPub), 并转换为字节串;
A2.生成第二随机数w∈[1, n ‑1];
A3.计算所述第一公钥恢复数据WA=[w]×G+UA+[kid0]×Ppub;
A4.计算所述hA=H256(xW‖ yW‖ HA), 并转换为字节串;
A5.将所述hA转换为整数, 如果 转换为整数后为0, 则转至所述 步骤A2;
A6.计算所述第一部分密钥值tA=(hA‑1×(w+kid0×ms)+kid0×ms)mod n, 然后所述密
钥生成中心KGC将所述第一部分密钥值tA和所述第一公钥恢复数据WA发送给所述用户, 其
中, 包括发送方法B或发送方法C,
所述发送方法B包括如下步骤:权 利 要 求 书 1/5 页
2
CN 115549905 A
2B1.计算K=[ms] ×UA, 第一密钥k=KDF(xK||yK, 128), 其中, xK, yK为K的坐标, KDF是密钥
派生函数, 所述第一密钥k是通过 所述密钥派生 函数生成的128比特的字节串;
B2.将所述第一部分密钥值tA和第一公钥恢复数据WA的坐标xW、 yW按照转换为字节串;
B3.使用所述第一密钥k和SM4密码算法对明文tA||xW||yW进行加密得到所述第一密文
Cipher1=SM4_ENC(k, tA||xW||yW), 并将所述第一密文Cipher1发送给所述用户, 其中, SM4_
ENC(k, tA||xW||yW)表示使用SM4加密算法和128比特的所述第一密钥k, 对所述明文tA||xW||
yW进行加密计算并输出密文;
所述发送方法C包括如下步骤:
C1.将所述第一部分密钥值tA和第一公钥恢复数据WA的坐标xW、 yW转换为字节串;
C2.使用所述UA作为第三公钥, 并使用SM2加密算 法对明文tA||xW||yW进行加密后得到所
述第二密文Cipher2=SM2_ENC(UA, tA||xW||yW), 并将所述第二密文Cipher2发送给所述用
户, 其中, SM2 _ENC(UA, tA||xW||yW)表示使用SM2加密算法和所述第三公钥UA, 对所述明文tA|
|xW||yW进行加密计算并输出密文, 所述 步骤S24中, 在进行 所述解密时,
若所述步骤S23中使用所述发送方法B, 则解密方法为方法D, 所述方法D包括如下步骤:
D1.计算K ’=[rA]×PPub, 第二密钥k ’=KDF(xK’||yK’, 128), 其中, xK’, yK’为K’的坐标, 所
述第二密钥k ’是通过所述密钥派生 函数生成的128比特的字节串;
D2.使用所述第二密钥k ’和SM4密码算法对所述第一密文Cipher1进行解密得到明文:
tA||xW||yW=SM4_DE C(k’, Cipher1),
其中, SM4_DEC(k ’, Cipher1)表示使用所述SM4解密算法和128比特的所述第 二密钥k’,
对所述第一密文Cipher1进行解密计算并输出明文;
D3.将所述第一部分密钥值tA和第一公钥恢复数据WA的坐标xW、 yW转换为整数, 从而 解密
得到所述第一部分密钥值tA和所述第一公钥恢复数据WA;
若所述步骤S23中使用所述发送方法C, 则解密方法为方法E, 所述方法E包括如下步骤:
E1.使用所述第一随机数rA作为第一私钥, 并使用SM2解密算法对所述第二密文Cip her2
进行解密后得到明文:
tA||xW||yW=SM2_DE C(rA, Cipher2);
其中, SM2_DEC(rA, Cipher2)表示使用所述SM2解密 算法和第一私钥rA, 对所述第二密文
Cipher2进行解密计算并输出明文;
E2.将所述第一部分密钥值tA和第一公钥恢复数据WA的坐标xW、 yW转换为整数, 从而 解密
得到所述第一部分密钥值tA和所述第一公钥恢复数据WA。
5.根据权利要求 4所述的SM2密钥生成法, 其特 征在于, 所述 步骤三包括如下步骤:
S31.所述用户产生 一个第三随机数r rA∈[1,n‑1], 计算U UA=[rrA]×G;
S32.所述用户将所述U UA和所述用户的可辨别标识IDA提交给所述密钥生成中心KGC;
S33.所述密钥生成中心KGC使用所述系统主私钥ms计算第二部分签名密钥值ttA和第二
公钥恢复数据WWA, 并将所述第二部分签名密钥值ttA和第二公钥恢复数据WWA发送给所述用
户, 并向所述用户返回第三密文Cipher3或第四密文Cipher4;
S34.用户收到所述第三密文Cipher3或第四密文Cipher4, 解密后得到所述第二部分签
名密钥值ttA和第二公钥恢复数据WWA, 计算hhA=H256(xWW‖ yWW‖HA), 再计算所述用户加密私钥
deA=(hhA×ttA+rrA)mod n, 并保存所述用户加密私钥deA和第二公钥恢复数据WWA, 其中,权 利 要 求 书 2/5 页
3
CN 115549905 A
3
专利 SM2密钥生成法及相关方法、计算机设备和存储介质
文档预览
中文文档
18 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 04:03:38上传分享