基于SM9算法的协同签名方法、装置、介质.pdf

上传人:奻奴 文档编号:11213646 上传时间:2021-09-12 格式:PDF 页数:25 大小:1.04MB
收藏 版权申诉 举报 下载
基于SM9算法的协同签名方法、装置、介质.pdf_第1页
第1页 / 共25页
基于SM9算法的协同签名方法、装置、介质.pdf_第2页
第2页 / 共25页
基于SM9算法的协同签名方法、装置、介质.pdf_第3页
第3页 / 共25页
文档描述:

《基于SM9算法的协同签名方法、装置、介质.pdf》由会员分享,可在线阅读,更多相关《基于SM9算法的协同签名方法、装置、介质.pdf(25页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911286092.3 (22)申请日 2019.12.13 (71)申请人 北京海泰方圆科技股份有限公司 地址 100094 北京市海淀区东北旺西路8号 中关村软件园9号楼国际软件大厦E座 一层、 二层 (72)发明人 王学进李鹏坤蒋红宇 (74)专利代理机构 北京同达信恒知识产权代理 有限公司 11291 代理人 王英 (51)Int.Cl. H04L 9/32(2006.01) H04L 9/30(2006.01) (54)发明名称 一种基于SM9算法的协同签名方法、。

2、 装置、 介 质 (57)摘要 本申请公开了一种基于SM9算法的协同签名 方法、 装置、 介质, 涉及信息安全技术领域。 该方 法中, 包括签名密钥生成设备、 签名密钥因子的 第一管理设备以及签名密钥因子的第二管理设 备, 所述签名密钥生成设备用于将基于SM9算法 生成签名密钥时的t2在有限域FN上分解为第一 签名密钥因子和第二签名密钥因子, 并将所述第 一签名密钥因子发送给所述第一管理设备, 将所 述第二签名密钥因子发送给第二管理设备, 所述 第一签名密钥因子和所述第二签名密钥因子的 加和为所述t2。 这样, 签名密钥因子的不同管理 设备通过一次数据交互实现协同签名, 提供了一 种计算简单且。

3、更具安全性的签名方法。 权利要求书3页 说明书14页 附图7页 CN 111314080 A 2020.06.19 CN 111314080 A 1.一种基于SM9算法的协同签名方法, 其特征在于, 应用于签名密钥生成设备, 所述方 法包括: 获取基于SM9算法生成签名密钥时的t2; 所述t2为生成所述签名密钥时的变量; 将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所述第一签名密 钥因子和所述第二签名密钥因子的加和为所述t2; 其中所述两个签名密钥因子为非零数; 并将所述第一签名密钥因子发送给所述第一管理设备, 并将所述第二签名密钥因子发 送给第二管理设备。 2.根据权利。

4、要求1所述的方法, 其特征在于, 所述第一签名密钥因子为d1、 所述第二签名 密钥因子为d2; 其中d1、 d2为非零数; 将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所述第一签名密 钥因子和所述第二签名密钥因子的加和为所述t2, 包括: 根据以下公式分解所述t2: t2(d1+d2)mod N 其中, mod N为模N运算。 3.一种基于SM9算法的协同签名方法, 其特征在于, 应用于签名密钥因子的第一管理设 备, 所述方法包括: 接收签名密钥生成设备发送的第一签名密钥因子; 其中所述第一签名密钥因子是所述 签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限。

5、域FN上分解得到的, 并且 与签名密钥因子的第二管理设备接收的第二签名密钥因子的加和为t2; 根据所述第一签名密钥因子与所述第二管理设备协同完成签名。 4.根据权利要求3所述的方法, 其特征在于, 所述第一签名密钥因子为d1; 协同签名时, 所述方法还包括: 根据以下公式确定群GT中的双线性对g值; 其中, 所述群GT为一个阶为素数N的乘法循环 群; ge(P1,Ppub-s) 其中, 所述P1为群G1的生成元, 为一公开常数; 所述群G1为一个阶为素数N的加法循环 群; 所述Ppub-s为签名主公钥, SM9签名系统参数之一, 为一个公开常数; 生成随机数r1; 其中, 所述随机数r11,N。

6、-1; 并, 根据所述随机数r1和所述双线性对g值确定所述群GT中的元素w1; 所述元素w1根据以下 公式生成: 根据所述随机数r1和所述P1确定第一临时密钥D1; 其中, 所述第一临时密钥D1根据以下 公式生成: D1r1P1 将所述双线性对g值、 所述元素w1以及所述第一临时密钥D1发送给所述第二管理设备, 以使所述第二管理设备协同完成签名。 5.根据权利要求4所述的方法, 其特征在于, 所述方法还包括: 接收所述第二管理设备发送的第一签名因子h、 群点Q、 第二临时密钥Q2; 权利要求书 1/3 页 2 CN 111314080 A 2 根据所述第一签名密钥因子d1、 所述群点Q以及所述。

7、第二临时密钥Q2确定协同签名中的 第二签名因子S; 其中, 所述S根据以下公式生成: Sd1Q+Q2 根据所述第一签名因子h和所述第二签名因子S得到协同签名(h, S)。 6.一种基于SM9算法的协同签名方法, 其特征在于, 应用于签名密钥因子的第二管理设 备, 所述方法包括: 接收签名密钥生成设备发送的第二签名密钥因子; 其中所述第二签名密钥因子是所述 签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域FN上分解得到的, 并且 与签名密钥因子的第一管理设备接收的第一签名密钥因子的加和为t2; 根据所述第二签名密钥因子与所述第一管理设备协同完成签名。 7.根据权利要求6所述的方法。

8、, 其特征在于, 所述第二签名密钥因子为d2; 协同签名时, 所述方法还包括: 接收所述第一管理设备发送的双线性对g值、 元素w1以及第一临时密钥D1; 生成随机数r2; 其中, 所述随机数r21, N-1; 并, 根据所述随机数r2和所述双线性对g值确定群GT中的元素w2; 其中所述群GT为一个阶为 素数N的乘法循环群, 所述元素w2根据以下公式生成: 根据以下公式确定所述群GT中的元素w: ww1*w2 根据所述元素w确定第一签名因子h; 其中, H2()为已知的密码杂凑函数, M是待签名消 息的比特串, 所述第一签名因子h根据以下公式生成: hH2(M|w,N) 根据所述第一临时密钥D1。

9、、 所述随机数r2以及所述第一签名因子h确定群点Q; 其中, 所 述群点Q根据以下公式生成: QD1+r2-hP1 根据所述群点Q和所述第二签名密钥因子d2确定第二临时密钥Q2; 其中, 所述第二临时 密钥Q2根据以下公式生成: Q2d2Q 将所述第一签名因子h、 群点Q、 第二临时密钥Q2发送给所述第一管理设备, 以使所述第 一管理设备协同完成签名。 8.一种基于SM9算法的协同签名系统, 其特征在于, 包括: 签名密钥生成设备、 第一管理 设备以及第二管理设备, 其中: 所述签名密钥生成设备用于将基于SM9算法生成签名密钥时的t2在有限域FN上分解为 第一签名密钥因子和第二签名密钥因子, 。

10、并将所述第一签名密钥因子发送给所述第一管理 设备, 将所述第二签名密钥因子发送给第二管理设备, 所述第一签名密钥因子和所述第二 签名密钥因子的加和为所述t2; 所述第一管理设备用于接收所述签名密钥生成设备发送的所述第一签名密钥因子, 根 据所述第一签名密钥因子与所述第二管理设备协同完成签名; 所述第二管理设备用于接收所述签名密钥生成设备发送的所述第二签名密钥因子, 根 权利要求书 2/3 页 3 CN 111314080 A 3 据所述第二签名密钥因子与所述第一管理设备协同完成签名。 9.一种签名密钥生成设备, 其特征在于, 包括: 获取模块, 用于获取基于SM9算法生成签名密钥时的t2; 所。

11、述t2为生成所述签名密钥时 的变量; 分解模块, 用于将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所 述第一签名密钥因子和所述第二签名密钥因子的加和为所述t2; 其中所述两个签名密钥因 子为非零数; 发送模块, 用于将所述第一签名密钥因子发送给所述第一管理设备, 并将所述第二签 名密钥因子发送给第二管理设备。 10.一种签名密钥因子的第一管理设备, 其特征在于, 包括: 第一接收模块, 用于接收签名密钥生成设备发送的第一签名密钥因子; 其中所述第一 签名密钥因子是所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域 FN上分解得到的, 并且与签名密钥因子的。

12、第二管理设备接收的第二签名密钥因子的加和为 t2; 第一签名模块, 用于根据所述第一签名密钥因子与所述第二管理设备协同完成签名。 11.一种签名密钥因子的第二管理设备, 其特征在于, 包括: 第二接收模块, 用于接收签名密钥生成设备发送的第二签名密钥因子; 其中所述第二 签名密钥因子是所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域 FN上分解得到的, 并且与签名密钥因子的第一管理设备接收的第一签名密钥因子的加和为 t2; 第二签名模块, 用于根据所述第二签名密钥因子与所述第一管理设备协同完成签名。 12.一种计算机可读介质, 存储有计算机可执行指令, 其特征在于, 所述计。

13、算机可执行 指令用于执行如权利要求1-7中任一权利要求所述的方法。 13.一种计算装置, 其特征在于, 包括: 至少一个处理器; 以及与所述至少一个处理器通信连接的存储器; 其中, 所述存储器存 储有可被所述至少一个处理器执行的指令, 所述指令被所述至少一个处理器执行, 以使所 述至少一个处理器能够执行如权利要求1-7中任一权利要求所述的方法。 权利要求书 3/3 页 4 CN 111314080 A 4 一种基于SM9算法的协同签名方法、 装置、 介质 技术领域 0001 本申请涉及信息安全技术领域, 尤其涉及一种基于SM9算法的协同签名方法、 装 置、 介质。 背景技术 0002 在公钥密。

14、码体制中, 签名密钥需秘密保护, 尤其当签名者为一个单位、 一个组织、 一个机构, 乃至一个家庭等时, 密钥如果仅由一个人单独保管, 签名仅由一个人完成, 权限 过于集中, 缺乏监督, 容易出现安全问题或引起纠纷。 因此, 如何解决相关技术中关于签名 的安全问题是业界重点关注的问题。 发明内容 0003 本申请实施例提供一种基于SM9算法的协同签名方法、 装置、 介质, 用于解决相关 技术中, 关于签名的安全问题。 0004 第一方面, 本申请实施例提供一种基于SM9算法的协同签名方法, 应用于签名密钥 生成设备, 该方法包括: 0005 获取基于SM9算法生成签名密钥时的t2; 所述t2为生。

15、成所述签名密钥时的变量; 0006 将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所述第一签 名密钥因子和所述第二签名密钥因子的加和为所述t2; 其中所述两个签名密钥因子为非零 数; 0007 并将所述第一签名密钥因子发送给所述第一管理设备, 并将所述第二签名密钥因 子发送给第二管理设备。 0008 在一个实施例中, 所述第一签名密钥因子为d1、 所述第二签名密钥因子为d2; 其中 d1、 d2为非零数; 0009 将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所述第一签 名密钥因子和所述第二签名密钥因子的加和为所述t2, 包括: 0010 根据以下公式。

16、分解所述t2: 0011 t2(d1+d2)mod N 0012 其中, mod N为模N运算。 0013 第二方面, 本申请实施例提供一种基于SM9算法的协同签名方法, 应用于签名密钥 因子的第一管理设备, 所述方法包括: 0014 接收签名密钥生成设备发送的第一签名密钥因子; 其中所述第一签名密钥因子是 所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域FN上分解得到的, 并且与签名密钥因子的第二管理设备接收的第二签名密钥因子的加和为t2; 0015 根据所述第一签名密钥因子与所述第二管理设备协同完成签名。 0016 在一个实施例中, 所述第一签名密钥因子为d1; 协同签。

17、名时, 所述方法还包括: 0017 根据以下公式确定群GT中的双线性对g值; 其中, 所述群GT为一个阶为素数N的乘法 说明书 1/14 页 5 CN 111314080 A 5 循环群; 0018 ge(P1,Ppub-s) 0019 其中, 所述P1为群G1的生成元, 为一公开常数; 所述群G1为一个阶为素数N的加法循 环群; 所述Ppub-s为签名主公钥, SM9签名系统参数之一, 为一个公开常数; 0020 生成随机数r1; 其中, 所述随机数r11,N-1; 并, 0021 根据所述随机数r1和所述双线性对g值确定所述群GT中的元素w1; 所述元素w1根据 以下公式生成: 0022 。

18、0023 根据所述随机数r1和所述P1确定第一临时密钥D1; 其中, 所述第一临时密钥D1根据 以下公式生成: 0024 D1r1P1 0025 将所述双线性对g值、 所述元素w1以及所述第一临时密钥D1发送给所述第二管理设 备, 以使所述第二管理设备协同完成签名。 0026 在一个实施例中, 所述方法还包括: 0027 接收所述第二管理设备发送的第一签名因子h、 群点Q、 第二临时密钥Q2; 0028 根据所述第一签名密钥因子d1、 所述群点Q以及所述第二临时密钥Q2确定协同签名 中的第二签名因子S; 其中, 所述S根据以下公式生成: 0029 Sd1Q+Q2 0030 根据所述第一签名因子。

19、h和所述第二签名因子S得到协同签名(h, S)。 0031 第三方面, 本申请实施例提供一种基于SM9算法的协同签名方法, 应用于签名密钥 因子的第二管理设备, 所述方法包括: 0032 接收签名密钥生成设备发送的第二签名密钥因子; 其中所述第二签名密钥因子是 所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域FN上分解得到的, 并且与签名密钥因子的第一管理设备接收的第一签名密钥因子的加和为t2; 0033 根据所述第二签名密钥因子与所述第一管理设备协同完成签名。 0034 在一个实施例中, 所述第二签名密钥因子为d2; 协同签名时, 所述方法还包括: 0035 接收所述第一。

20、管理设备发送的双线性对g值、 元素w1以及第一临时密钥D1; 0036 生成随机数r2; 其中, 所述随机数r21, N-1; 并, 0037 根据所述随机数r2和所述双线性对g值确定群GT中的元素w2; 其中所述群GT为一个 阶为素数N的乘法循环群, 所述元素w2根据以下公式生成: 0038 0039 根据以下公式确定所述群GT中的元素w: 0040 ww1*w2 0041 根据所述元素w确定第一签名因子h; 其中, H2()为已知的密码杂凑函数, M是待签 名消息的比特串, 所述第一签名因子h根据以下公式生成: 0042 hH2(M|w,N) 0043 根据所述第一临时密钥D1、 所述随机。

21、数r2以及所述第一签名因子h确定群点Q; 其 中, 所述群点Q根据以下公式生成: 说明书 2/14 页 6 CN 111314080 A 6 0044 QD1+r2-hP1 0045 根据所述群点Q和所述第二签名密钥因子d2确定第二临时密钥Q2; 其中, 所述第二 临时密钥Q2根据以下公式生成: 0046 Q2d2Q 0047 将所述第一签名因子h、 群点Q、 第二临时密钥Q2发送给所述第一管理设备, 以使所 述第一管理设备协同完成签名。 0048 第四方面, 本申请实施例提供一种基于SM9算法的协同签名系统, 该系统包括: 签 名密钥生成设备、 第一管理设备以及第二管理设备, 其中: 004。

22、9 所述签名密钥生成设备用于将基于SM9算法生成签名密钥时的t2在有限域FN上分 解为第一签名密钥因子和第二签名密钥因子, 并将所述第一签名密钥因子发送给所述第一 管理设备, 将所述第二签名密钥因子发送给第二管理设备, 所述第一签名密钥因子和所述 第二签名密钥因子的加和为所述t2; 0050 所述第一管理设备用于接收所述签名密钥生成设备发送的所述第一签名密钥因 子, 根据所述第一签名密钥因子与所述第二管理设备协同完成签名; 0051 所述第二管理设备用于接收所述签名密钥生成设备发送的所述第二签名密钥因 子, 根据所述第二签名密钥因子与所述第一管理设备协同完成签名。 0052 第五方面, 本申请。

23、实施例还提供一种签名密钥生成设备, 该设备包括: 0053 获取模块, 用于获取基于SM9算法生成签名密钥时的t2; 所述t2为生成所述签名密 钥时的变量; 0054 分解模块, 用于将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因 子, 所述第一签名密钥因子和所述第二签名密钥因子的加和为所述t2; 其中所述两个签名 密钥因子为非零数; 0055 发送模块, 用于将所述第一签名密钥因子发送给所述第一管理设备, 并将所述第 二签名密钥因子发送给第二管理设备。 0056 在一个实施例中, 所述第一签名密钥因子为d1、 所述第二签名密钥因子为d2; 其中 d1、 d2为非零数; 0057。

24、 所述分解模块, 用于将所述t2在有限域FN上分解第一签名密钥因子和第二签名密 钥因子, 所述第一签名密钥因子和所述第二签名密钥因子的加和为所述t2, 包括: 0058 根据以下公式分解所述t2: 0059 t2(d1+d2)mod N 0060 其中, mod N为模N运算。 0061 第六方面, 本申请实施例提供一种签名密钥因子的第一管理设备, 该设备包括: 0062 第一接收模块, 用于接收签名密钥生成设备发送的第一签名密钥因子; 其中所述 第一签名密钥因子是所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有 限域FN上分解得到的, 并且与签名密钥因子的第二管理设备接收的第。

25、二签名密钥因子的加 和为t2; 0063 第一签名模块, 用于根据所述第一签名密钥因子与所述第二管理设备协同完成签 名。 0064 在一个实施例中, 所述第一签名密钥因子为d1; 所述设备还包括: 说明书 3/14 页 7 CN 111314080 A 7 0065 第一确定模块, 用于根据以下公式确定群GT中的双线性对g值; 其中, 所述群GT为一 个阶为素数N的乘法循环群; 0066 ge(P1,Ppub-s) 0067 其中, 所述P1为群G1的生成元, 为一公开常数; 所述群G1为一个阶为素数N的加法循 环群; 所述Ppub-s为签名主公钥, SM9签名系统参数之一, 为一个公开常数;。

26、 0068 第一生成模块, 用于协同签名时, 生成随机数r1; 其中, 所述随机数r11,N-1; 并, 0069 第二确定模块, 用于协同签名时, 根据所述随机数r1和所述双线性对g值确定所述 群GT中的元素w1; 所述元素w1根据以下公式生成: 0070 0071 第三确定模块, 用于协同签名时, 根据所述随机数r1和所述P1确定第一临时密钥 D1; 其中, 所述第一临时密钥D1根据以下公式生成: 0072 D1r1P1 0073 第一发送模块, 用于协同签名时, 将所述双线性对g值、 所述元素w1以及所述第一 临时密钥D1发送给所述第二管理设备, 以使所述第二管理设备协同完成签名。 00。

27、74 在一个实施例中, 所述设备还包括: 0075 接收模块, 用于接收所述第二管理设备发送的第一签名因子h、 群点Q、 第二临时密 钥Q2; 0076 生成模块, 用于根据所述第一签名密钥因子d1、 所述群点Q以及所述第二临时密钥 Q2确定协同签名中的第二签名因子S; 其中, 所述S根据以下公式生成: 0077 Sd1Q+Q2 0078 签名模块, 用于根据所述第一签名因子h和所述第二签名因子S得到协同签名(h, S)。 0079 第七方面, 本申请实施例提供一种签名密钥因子的第二管理设备, 该设备包括: 0080 第二接收模块, 用于接收签名密钥生成设备发送的第二签名密钥因子; 其中所述 。

28、第二签名密钥因子是所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有 限域FN上分解得到的, 并且与签名密钥因子的第一管理设备接收的第一签名密钥因子的加 和为t2; 0081 第二签名模块, 用于根据所述第二签名密钥因子与所述第一管理设备协同完成签 名。 0082 在一个实施例中, 所述第二签名密钥因子为d2; 所述设备还包括: 0083 第三接收模块, 用于协同签名时, 接收所述第一管理设备发送的双线性对g值、 元 素w1以及第一临时密钥D1; 0084 第二生成模块, 用于协同签名时, 生成随机数r2; 其中, 所述随机数r21, N-1; 并, 0085 第四确定模块, 用。

29、于协同签名时, 根据所述随机数r2和所述双线性对g值确定群GT 中的元素w2; 其中所述群GT为一个阶为素数N的乘法循环群, 所述元素w2根据以下公式生成: 0086 说明书 4/14 页 8 CN 111314080 A 8 0087 第五确定模块, 用于协同签名时, 根据以下公式确定所述群GT中的元素w: 0088 ww1*w2 0089 第六确定模块, 用于协同签名时, 根据所述元素w确定第一签名因子h; 其中, H2() 为已知的密码杂凑函数, M是待签名消息的比特串, 所述第一签名因子h根据以下公式生成: 0090 hH2(M|w,N) 0091 第七确定模块, 用于协同签名时, 根。

30、据所述第一临时密钥D1、 所述随机数r2以及所 述第一签名因子h确定群点Q; 其中, 所述群点Q根据以下公式生成: 0092 QD1+r2-hP1 0093 第八确定模块, 用于协同签名时, 根据所述群点Q和所述第二签名密钥因子d2确定 第二临时密钥Q2; 其中, 所述第二临时密钥Q2根据以下公式生成: 0094 Q2d2Q 0095 第二发送模块, 用于协同签名时, 将所述第一签名因子h、 群点Q、 第二临时密钥Q2 发送给所述第一管理设备, 以使所述第一管理设备协同完成签名。 0096 本申请另一实施例还提供了一种计算装置, 包括至少一个处理器; 以及与所述至 少一个处理器通信连接的存储器。

31、; 其中, 所述存储器存储有可被所述至少一个处理器执行 的指令, 所述指令被所述至少一个处理器执行, 以使所述至少一个处理器能够执行本申请 实施例提供的任一基于SM9算法的协同签名方法。 0097 本申请另一实施例还提供了一种计算机存储介质, 其中, 所述计算机存储介质存 储有计算机可执行指令, 所述计算机可执行指令用于使计算机执行本申请实施例中的任一 基于SM9算法的协同签名方法。 0098 本申请实施例提供的基于SM9算法的协同签名方法、 装置、 介质, 该方法中, 包括签 名密钥生成设备、 签名密钥因子的第一管理设备以及签名密钥因子的第二管理设备, 其中, 签名密钥生成设备获取基于SM9。

32、算法生成签名密钥时的t2; 所述t2为生成所述签名密钥时的 变量; 将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所述第一签名密 钥因子和所述第二签名密钥因子的加和为所述t2; 其中所述两个签名密钥因子为非零数; 并将所述第一签名密钥因子发送给所述第一管理设备, 并将所述第二签名密钥因子发送给 第二管理设备。 这样, 签名密钥因子的不同管理设备通过一次数据交互实现协同签名, 提供 了一种计算简单且更具安全性的签名方法。 0099 本申请的其它特征和优点将在随后的说明书中阐述, 并且, 部分地从说明书中变 得显而易见, 或者通过实施本申请而了解。 本申请的目的和其他优点可通过。

33、在所写的说明 书、 权利要求书、 以及附图中所特别指出的结构来实现和获得。 附图说明 0100 此处所说明的附图用来提供对本申请的进一步理解, 构成本申请的一部分, 本申 请的示意性实施例及其说明用于解释本申请, 并不构成对本申请的不当限定。 在附图中: 0101 图1为本申请实施例中的国密标准SM9数字签名生成方法的流程示意图; 0102 图2为本申请实施例提供的一种基于SM9算法的协同签名方法应用于签名密钥生 成设备的流程示意图; 0103 图3为本申请实施例提供的一种基于SM9算法的协同签名方法应用于签名密钥因 说明书 5/14 页 9 CN 111314080 A 9 子的第一管理设备。

34、的流程示意图; 0104 图4为本申请实施例提供的一种基于SM9算法的协同签名方法应用于签名密钥因 子的第二管理设备的流程示意图; 0105 图5为本申请实施例提供的一种基于SM9算法的协同签名方法的时序图; 0106 图6为本申请实施例提供的一种签名密钥因子的第一管理设备生成协同签名的相 关数据的流程示意图; 0107 图7为本申请实施例提供的一种签名密钥因子的第二管理设备生成协同签名的相 关数据的流程示意图; 0108 图8为本申请实施例提供的一种签名密钥因子的第一管理设备生成协同签名的流 程示意图; 0109 图9为本申请实施例提供的一种签名密钥生成设备的结构示意图; 0110 图10为。

35、本申请实施例提供的一种签名密钥因子的第一管理设备的结构示意图; 0111 图11为本申请实施例提供的一种签名密钥因子的第二管理设备的结构示意图; 0112 图12为根据本申请实施方式的计算装置的结构示意图。 具体实施方式 0113 为了使本领域普通人员更好地理解本申请的技术方案, 下面将结合附图, 对本申 请实施例中的技术方案进行清楚、 完整地描述。 0114 需要说明的是, 本申请的说明书和权利要求书及上述附图中的术语 “第一” 、“第 二” 等是用于区别类似的对象, 而不必用于描述特定的顺序或先后次序。 应理解这样的描述 在适当情况下可以互换, 以便本申请的实施例能够以除了本申请的图示或描。

36、述的内容以外 的顺序实施。 以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施 方式。 相反, 它们仅是与所附权利要求书中所详述的、 本申请的一些方面相一致的装置和方 法的例子。 0115 为了签名密钥的安全, 本申请实施例中提供一种SM9算法的协同签名方法、 装置、 介质。 为了更好的理解本申请实施例提供的技术方案, 这里对该方案的部分符号和基本原 理做一下简单说明: 0116 (一)、 部分符号说明(基于国密SM9标准, 标准号为GM/T 0044.2-2016): 0117 (1)N: 公开常数, 为一固定素数。 0118 (2)GT: 阶为素数N的乘法循环群。 0119。

37、 (3)G1: 阶为素数N的加法循环群。 0120 (4)P1: 群G1的生成元, 为一公开常数。 0121 (5)H1()、 H2(): 均为已知的密码杂凑函数, 或称摘要算法。 0122 (6)hid: 签名私钥函数标识符, 为一公开常数。 0123 (7)uP: 群G1中元素P的u倍点运算。 0124 (8)Ppub-s: 签名主公钥, SM9签名系统参数之一, 在一个确定的SM9签名系统中, 签名 主公钥是一个公开常数。 0125 (9)ks: 签名主私钥, SM9签名系统参数之一, 在一个确定的SM9签名系统中, 签名主 私钥为一秘密常数, 由KGC秘密保存。 说明书 6/14 页 。

38、10 CN 111314080 A 10 0126 (10)KGC: 密钥生成中心。 0127 (二)、 用户签名密钥的产生 0128 假设用户的标识是ID, 为产生用户的签名密钥D, 密钥生成中心KGC在包含N个元素 的有限域FN上计算t1H1(ID|hid,N)+ks, 如果t10, 则由KGC重新生成签名主私钥, 并重 新计算t1-1; 否则计算t2ks*t1-1, 其中t1-1表示t1的逆元, 然后计算Dt2*P1, D便是用户 的签名密钥。 0129 (三)、 SM9签名生成算法 0130 假设用户的签名密钥是D, 并假设待签名的消息为比特串M, 为了获取消息M的数字 签名(h,S)。

39、, 作为签名者的用户应实现以下运算步骤: 参阅图1, 为本申请实施例中的国密标 准SM9数字签名生成方法的流程示意图, 包括: 0131 步骤101: 计算群GT中的双线性对g值e(P1, Ppub-s); 0132 步骤102: 产生随机数r1,N-1; 0133 步骤103: 计算群GT中的元素wgr; 0134 步骤104: 计算第一签名因子hH2(M|w,N); 0135 步骤105: 计算整数l(r-h)mod N, 并判断l; 0136 其中, 若l为0则返回步骤102; 否则继续执行步骤106; 0137 步骤106: 计算群G1中的第二签名因子SlD; 0138 步骤107: 。

40、得到消息M的签名为(h,S)。 0139 相关技术中, 在公钥密码体制中, 签名密钥需秘密保护, 尤其当签名者为一个单 位、 一个组织、 一个机构, 乃至一个家庭等时, 密钥如果仅由一个人单独保管, 签名仅由一个 人完成, 权限过于集中, 缺乏监督, 容易出现安全问题或引起纠纷。 因此, 如何解决相关技术 中关于签名的安全问题是业界重点关注的问题。 0140 有鉴于此, 本申请实施例提供的一种基于SM9算法的协同签名方法, 参阅图2, 为本 申请实施例提供的一种基于SM9算法的协同签名方法应用于签名密钥生成设备的流程示意 图, 包括: 0141 步骤201: 获取基于SM9算法生成签名密钥时的。

41、t2; 所述t2为生成所述签名密钥时的 变量; 0142 其中, 假设用户的标识是ID, 密钥生成中心KGC在包含N个元素的有限域FN上计算t1 H1(ID|hid,N)+ks, 计算t2ks*t1-1, 其中t1-1表示t1的逆元。 0143 步骤202: 将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥因子, 所 述第一签名密钥因子和所述第二签名密钥因子的加和为所述t2; 其中所述两个签名密钥因 子为非零数; 所述t2为生成所述签名密钥时的变量; 0144 在一个实施例中, 假设第一签名密钥因子为d1, 第二签名密钥因子为d2, 将t2分解 为d1和d2的加和, 可根据以下公式进。

42、行分解: 0145 t2(d1+d2)mod N 0146 其中, mod N为模N运算。 0147 步骤203: 并将所述第一签名密钥因子发送给所述第一管理设备, 并将所述第二签 名密钥因子发送给第二管理设备。 0148 参阅图3, 为本申请实施例提供的一种基于SM9算法的协同签名方法应用于签名密 说明书 7/14 页 11 CN 111314080 A 11 钥因子的第一管理设备的流程示意图, 包括: 0149 步骤301: 接收签名密钥生成设备发送的第一签名密钥因子; 其中所述第一签名密 钥因子是所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域FN上分 解得到的, 并。

43、且与签名密钥因子的第二管理设备接收的第二签名密钥因子的加和为t2; 0150 步骤302: 根据所述第一签名密钥因子与所述第二管理设备协同完成签名。 0151 参阅图4, 为本申请实施例提供的一种基于SM9算法的协同签名方法应用于签名密 钥因子的第二管理设备的流程示意图, 包括: 0152 步骤401: 接收签名密钥生成设备发送的第二签名密钥因子; 其中所述第二签名密 钥因子是所述签名密钥生成设备将基于SM9算法生成签名密钥时的变量t2在有限域FN上分 解得到的, 并且与签名密钥因子的第一管理设备接收的第一签名密钥因子的加和为t2; 0153 步骤402: 根据所述第二签名密钥因子与所述第一管。

44、理设备协同完成签名。 0154 在一个实施例中, 参阅图5, 为本申请实施例提供的一种基于SM9算法的协同签名 方法的时序图, 包括签名密钥生成设备、 签名密钥因子的第一管理设备以及签名密钥因子 的第二管理设备, 三者之间的交互过程, 包括: 0155 步骤501A: 签名密钥设备发送第一密钥因子给签名密钥因子的第一管理设备。 0156 步骤501B: 签名密钥设备发送第二密钥因子给签名密钥因子的第二管理设备。 0157 其中, 步骤501A和步骤501B不限定执行顺序。 0158 步骤502: 签名密钥因子的第一管理设备发送双线性对g值、 元素w1以及第一临时 密钥D1给签名密钥因子的第二管。

45、理设备。 0159 在一个实施例中, 参阅图6, 为本申请实施例提供的一种签名密钥因子的第一管理 设备生成协同签名的相关数据的流程示意图, 包括: 0160 步骤5021: 根据以下公式确定群GT中的双线性对g值; 0161 ge(P1,Ppub-s) 0162 步骤5022: 生成随机数r1; 其中, 所述随机数r11,N-1; 0163 步骤5023: 根据所述随机数r1和所述双线性对g值确定所述群GT中的元素w1; 所述 元素w1根据以下公式生成: 0164 0165 步骤5024: 根据所述随机数r1和所述P1确定第一临时密钥D1; 其中, 所述第一临时 密钥D1根据以下公式生成: 0。

46、166 D1r1P1 0167 步骤5025: 将所述双线性对g值、 所述元素w1以及所述第一临时密钥D1发送给所述 第二管理设备, 以使所述第二管理设备协同完成签名。 0168 步骤503: 签名密钥因子的第二管理设备发送第一签名因子h、 群点Q以及第二临时 密钥Q2给签名密钥因子的第一管理设备。 0169 在一个实施例中, 参阅图7, 为本申请实施例提供的一种签名密钥因子的第二管理 设备生成协同签名的相关数据的流程示意图, 包括: 0170 步骤5031: 接收所述第一管理设备发送的双线性对g值、 元素w1以及第一临时密钥 D1; 0171 步骤5032: 生成随机数r2; 其中, 所述随。

47、机数r21, N-1; 并, 说明书 8/14 页 12 CN 111314080 A 12 0172 步骤5033: 根据所述随机数r2和所述双线性对g值确定群GT中的元素w2; 所述元素 w2根据以下公式生成: 0173 0174 步骤5034: 根据以下公式确定所述群GT中的元素w: 0175 ww1*w2 0176 步骤5035: 根据所述元素w确定第一签名因子h; 其中, 所述第一签名因子h根据以 下公式生成: 0177 hH2(M|w,N) 0178 步骤5036: 根据所述第一临时密钥D1、 所述随机数r2以及所述第一签名因子h确定 群点Q; 其中, 所述群点Q根据以下公式生成:。

48、 0179 QD1+r2-hP1 0180 步骤5037: 根据所述群点Q和所述第二签名密钥因子d2确定第二临时密钥Q2; 其中, 所述第二临时密钥Q2根据以下公式生成: 0181 Q2d2Q 0182 步骤5038: 将所述第一签名因子h、 群点Q、 第二临时密钥Q2发送给所述第一管理设 备, 以使所述第一管理设备协同完成签名。 0183 步骤504: 签名密钥因子的第一管理设备得到协同签名(h, S)。 0184 在一个实施例中, 参阅图8, 为本申请实施例提供的一种签名密钥因子的第一管理 设备生成协同签名的流程示意图, 包括: 0185 步骤5041: 接收所述第二管理设备发送的第一签名。

49、因子h、 群点Q、 第二临时密钥 Q2; 0186 步骤5042: 根据所述第一签名密钥因子d1、 所述群点Q以及所述第二临时密钥Q2确 定协同签名中的第二签名因子S; 其中, 所述S根据以下公式生成: 0187 Sd1Q+Q2 0188 步骤5043: 根据所述第一签名因子h和所述第二签名因子S得到协同签名(h, S)。 0189 通过本申请提供的方法, 签名密钥生成设备将生成签名密钥时的t2在有限域上分 解为两个非零数的签名密钥因子的加和, 并由两个管理设备分别接收两个签名密钥因子。 然后, 通过两个管理设备分别产生的一个随机数, 并通过一次数据的交互传输完成协同签 名。 通过该方法, 两。

50、个管理设备生成的协同签名等同于由单方采用相应的完整签名密钥完 成的数字签名, 但是两个管理设备各自的签名密钥因子和随机数均不为对方所知, 故此保 障了签名的安全性。 此外, 一次数据交互的计算量简单, 这使得协同签名更加便捷。 0190 基于相同的发明构思, 参阅图9, 为本申请实施例提供的一种签名密钥生成设备的 结构示意图。 该设备包括: 0191 获取模块901, 用于获取基于SM9算法生成签名密钥时的t2; 所述t2为生成所述签名 密钥时的变量; 0192 分解模块902, 用于将所述t2在有限域FN上分解第一签名密钥因子和第二签名密钥 因子, 所述第一签名密钥因子和所述第二签名密钥因子。

展开阅读全文
内容关键字: 基于 SM9 算法 协同 签名 方法 装置 介质
关于本文
本文标题:基于SM9算法的协同签名方法、装置、介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/11213646.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1