(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211023910.2
(22)申请日 2022.08.24
(71)申请人 武汉大学
地址 430072 湖北省武汉市武昌区珞珈山
街道八一路2 99号
(72)发明人 陈鑫 彭聪 包子健 罗敏 冯琦
曾祥勇 何德彪
(74)专利代理 机构 武汉科皓知识产权代理事务
所(特殊普通 合伙) 42222
专利代理师 罗飞
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种抗恶意敌手的SM2两方适配器签名生成
方法及装置
(57)摘要
本发明公开了一种抗恶意敌手的SM2两方适
配器签名生成方法及装置, 允许两个参与方共同
完成签名过程, 在保证签名正确性和公平性的同
时, 考虑到半诚实协议无法抵抗恶意参与方的攻
击, 引入零知识证明和承诺技术设计方案, 达到
恶意敌手模 型下的安全性。 本发 明旨在两方在不
泄漏自己的签名密钥并无法获得完整的签名密
钥的情况下完成对消息的签名。 本发 明实现了两
方协同签名在恶意敌手模型下的安全性, 能够更
好地适用于安全需求更强的应用场景, 如区块链
支付通道, 原子交换等。
权利要求书2页 说明书8页 附图4页
CN 115473635 A
2022.12.13
CN 115473635 A
1.一种抗恶意敌手的SM2两方适配 器签名生成方法, 其特 征在于, 包括:
S1: 基于零知识证明和承诺技术, 两个参与方根据各自持有的部分签名密钥份额共 同
生成完整公钥, 部分签名密钥份 额包括参与方P0的部分私钥和部分 公钥, 参与方P1的部分私
钥和部分公钥;
S2: 两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配 器预签名;
S3: 根据系统参数、 离 散对数实例、 待验证的消息对生成的SM2适配 器预签名进行验证;
S4: 根据系统参数、 SM2适配 器预签名和离 散对数实例证据, 生成完整签名;
S5: 根据系统参数、 SM2适配器预签名、 完整签名和离散对数实例, 提取出离散对数实例
证据。
2.如权利要求1所述的抗恶意敌手的SM2两方适配器签名生成方法, 其特征在于, 步骤
S1包括:
参与方P0选择随机数
作为部分私钥, 计算第一部分公钥D0,
生成
第一离散对数证明π0, π0用于向验证者证明D0关于G的离散对数为
同时生成D0和 π0的第
一承诺c0, 并将c0和参与方P0的身份ID0发送给参与方P1,
为由整数1,2, …,q‑1组成的整
数集合, q为循环群
的阶, G为循环群
的一个生成元;
参与方P1选择随机数
作为部分私钥, 计算第二部分公钥D1,
生成
第二离散对数证明π1, π1用于向验证者证明D1关于G的离 散对数为
并将D1, π1发送给参与
方P0;
如果参与方P0证明π1有效, 则打开第一承诺c0并将其值发送给参与方P1, 其值为第一承
诺的值, 即D0、 π0以及生成c0时的随机数;
参与方P0计算完整公钥PPUB,
如果参与方P1证明π0有效, 则计算完整公钥
3.如权利要求1所述的抗恶意敌手的SM2两方适配器签名生成方法, 其特征在于, 步骤
S2包括:
参与方P0计算e=H(Z||m), 选 择随机数
计算R0=[k0]G和
生成第三
离散对数证明π2和第四离散对 数证明π3, π2用于向验证者证明R0关于G的离散对 数为k0, π3用
于向验证者证明Q0关于Y的离散对数为
同时生成R0和 π2的第二承诺c1, 并将e, π3,c1发送
给参与方P1, H为密码杂凑函数,
Z为输入的共同信息, m为待签名的消息值, R0、
Q0为椭圆曲线上的倍 点, Y关于G的离 散对数为y;
参与方P1选择随机数
计算R1=[k1]G, 生成第五离散对数证明π4, 用于向验证者
证明R1关于G的离 散对数为 k1, 并将R1, π4发送给参与方P0, R1为椭圆曲线上的倍 点;
如果参与方P0证明π4有效, 则打开第二承诺c1并将其值发送给参与方P1, 第二承诺c1的
值为R0、 π2和生成该承诺的随机数;
如果参与方P1证明π2, π3均有效, 则计算
(x1,y1)=R+Q, r
=x1+e mod q和s′=d1r+k1 mod q, 生成零知识证明π5=PY((D1,Q),d1), π5用于向验证者证权 利 要 求 书 1/2 页
2
CN 115473635 A
2明存在一个
满足
且
并将(r,s ′,Q, π5)发送给
参与方P0, 其中, R、 Q为椭圆曲线上的倍点, (x1,y1)为点R+Q对 应的坐标表示, r、
分别为为 预
签名值
的组成部分, s ′为计算
的中间值; PY表示生成与Y相关的零知识证明;
参与方P0计算
输出预签名值
4.如权利要求1所述的抗恶意敌手的SM2两方适配器签名生成方法, 其特征在于, 步骤
S3包括:
计算
和r′=x′1+H(Z||m)mod q,
其中, r、
分别为签名生成阶段的预签名值
的组成部分, PPUB为完整公钥, r ′为验证阶
段计算的签名组成部分的值;
检查r′=r是否成立, 若成立, 则 br=true; 否则, br=false, br为判断输出的结果;
验证零知识证明b=PY((D1,Q), π ), PY表示生成与Y相关 的零知识证明, D1为参与方P1计
算的第二部分公钥, Q 为椭圆曲线上的倍 点;
如果br和b均为t rue, 则签名有效 并输出true; 否则, 签名无效输出false。
5.如权利要求1所述的抗恶意敌手的SM2两方适配器签名生成方法, 其特征在于, 步骤
S4包括:
输入系统参数、 预签名值
和离散对数实例关系证据y, 计算完整的签名值σ =(r,s), 其
中
和r从预签名值
中得到, q为循环群
的阶。
6.如权利要求1所述的抗恶意敌手的SM2两方适配器签名生成方法, 其特征在于, 步骤
S5包括:
输入系统参数PP、 预签名值
签名值σ和离散对数实例IY, 计算
验证
(Y,y)是否为 一个正确的离 散对数实例, 如果是, 则提取成功并输出y ′; 否则, 提取失败。
7.一种抗恶意敌手的SM2两方适配 器签名生成装置, 其特 征在于, 包括:
密钥生成模块, 用于基于零知识证明和承诺技术, 两个参与方根据各自持有的部分签
名密钥份额共同生成完整公钥, 部分签名密钥份额包括参与方P0的部分私钥和部分公钥,
参与方P1的部分私钥和部分公钥;
预签名生成模块, 用于两个参与方利用各自的部分私钥协同生成关于消息m的SM2适配
器预签名;
预签名验证模块, 用于根据系统参数、 离散对数实例、 待验证的消息对生成的SM2适配
器预签名进行验证;
适配模块, 用于根据系统参数、 SM2适配 器预签名和离 散对数实例证据, 生成完整签名;
提取模块, 用于根据系统参数、 SM2适配器预签名、 完整签名和离散对数实例, 提取出离
散对数实例证据。
8.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 该程序被处理器执
行时实现如权利要求1至 6任一项所述的方法。
9.一种计算机设备, 包括存储器、 处理器及存储在存储器上并可在处理器上运行的计
算机程序, 其特征在于, 所述处理器执行所述程序时实现如权利要求1至6任一项所述的方
法。权 利 要 求 书 2/2 页
3
CN 115473635 A
3
专利 一种抗恶意敌手的SM2两方适配器签名生成方法及装置
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:16:16上传分享