(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210480842.6
(22)申请日 2022.05.05
(71)申请人 北京电子科技学院
地址 100080 北京市丰台区富丰路7号
(72)发明人 许盛伟 刘昌赫 吕姗霖 甘楠
邓烨 和羽辛
(74)专利代理 机构 北京科迪生专利代理有限责
任公司 1 1251
专利代理师 金怡
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/30(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种基于SM2算法的协同签名方法及系统
(57)摘要
本发明涉及一种基于SM2算法的协同签名方
法及系统, 其方法包括: 步骤S1: 签名方A和B各自
生成参数(dA, PA, PB, t’A)和(dB, PA, PB, t’B); S2:
签名方A与B共同生成会话密钥sk; 签名方A与B分
别选择随机数kA和kB, 分别计算RA和RB, 并利用sk
加密后计算参数M1与M2; S3: 签名A和B分别对M2、
M1进行解密并计算参数α与β; 签名方A验证α
与β是否相等; 如果不等, 则转至S1, 否则, 签名
方A计算参数r, 并将β发给签名方B; 签名方B验
证α与β是否相等; 如果不等, 则转至步骤S1, 否
则, 签名方B计算参数r; S4: 签名方B计算SigB, 发
给A, 签名方A计算SigA, 并基于SigA、 SigB和r计
算得到参数s, 最终得到签名结果(r, s)。 本发明
提供的方法即保证签名的正确性, 又能保证签名
密钥的安全性。
权利要求书3页 说明书5页 附图2页
CN 114978488 A
2022.08.30
CN 114978488 A
1.一种基于SM2算法的协同签名方法, 其特 征在于, 包括:
步骤S1: 签名方A和B各自生成其私钥dA和dB; 二者分别计算对应的公钥PA和PB发给对方,
分别计算 参数t′A、 t′B, 签名方A保存参数(dA, PA, PB, t′A), 签名方B保存参数(dB, PA, PB, t′B);
步骤S2: 签名方A与B共同生成会话密钥sk; 签名方A与B分别选择随机数kA和kB, 分别计
算其SM2椭圆曲线点RA和RB, 并利用sk加密后计算参数M1与M2, 其中, M1, M2代表所传输的密
文;
步骤S3: 签名方B收到M1后对其解密计算, 得到RA和α, 将(M2, α )发送给签名方A; 签名方A
收到M2后对其解密计算, 得到RB和β; 签名方A验证α与β 是否相等; 如果不等, 则转至步骤S1,
否则, 签名方A计算参数r, 并将β 发给签名方B; 签名方B验证α与β 是否相等; 如果不等, 则转
至步骤S1, 否则, 签名方B计算 参数r; 其中, α 与β 代 表杂凑值;
步骤S4: 签名方A与B分别计算参数t ″A和t″B, 签名方B基于t ′B、 t″B和r计算B方签名SigB,
将其加密后得到M3发送给签名方A, 签名方A对M3解密后得到SigB, 其中, M3代表所传输的密
文, 并基于t ′A、 t″A和r计算A方签名SigA; 签名方A基于SigA、 SigB和r计 算得到参数s, 最终得
到签名结果(r, s)。
2.根据权利 要求1所述的基于SM2算法的协同签名方法, 其特征在于, 所述步骤S1: 签名
方A和B各自生成其私钥dA和dB; 二者分别计算对应的公钥PA和PB发给对方, 分别计算参数t
′A、 t′B, 签名方A保存参数(dA, PA, PB, t′A), 签名方B保存参数(dB, PA, PB, t′B), 具体包括:
步骤S11: 签名方A随机生成一个大整数dA∈Zn作为私钥, 计算公钥PA=[dA]*G, 并将PA发
送给签名方B; 其中, G为椭圆曲线上的基点, Zn为模大整数n的剩余类; n是素数的因子, 作为
基点G的阶;
步骤S12: 签名方B随机生成一个大整数dB∈Zn作为私钥, 计算公钥PB=[dB]*G, 并将PB
发给A;
步骤S13: 签名方A和签名方B输入
和
运行πm, 分别得到输出值t ′A和t′B, 其中, t′A与
t′B是模n大整数; πm为预设的基于不经意传输协议的乘法器, 满足条件: 由两个参与 方A和B
运行, A和B对πm输入分别为大整数a∈Zn和b∈Zn, πm分别返回大整数tA和tB给A和B, 满足
其中,
为大整数a∈Zn模n的逆, 即
为大整数b∈Zn模n的逆;
步骤S14: A保存参数(dA, PA, PB, t′A), B保存参数(dB, PA, PB, t′B)。
3.根据权利 要求1所述的基于SM2算法的协同签名方法, 其特征在于, 所述步骤S2: 签名
方A与B共同生成会话密钥sk; 签名方A与B分别选择随机数kA和kB, 分别计算其SM2椭圆曲线
点RA和RB, 并利用sk加密后计算 参数M1与M2, 其中, M1, M2代表所传输的密文, 具体包括:
步骤S21: 签名方A与B共同生成会话密钥sk;
步骤S22: 签名方A选择一个随机数kA∈Zn, 计算RA=[kA]*G, 并基于sk对RA进行加密计算
得到M1=Encsk(RA); 将M1发送给签名方B;
步骤S23: 签名方B选择一个随机数kB∈Zn, 计算RB=[kB]*G, 并基于sk对RB进行加密计算
得到记M2=Encsk(RB)。
4.根据权利 要求1所述的基于SM2算法的协同签名方法, 其特征在于, 所述步骤S3: 签名
方B收到M1后对其解密计算, 得到RA和α, 将(M2, α )发送给签名方A; 签名方A收到M2后对其解权 利 要 求 书 1/3 页
2
CN 114978488 A
2密计算, 得到RB和β; 签名方A验证α与β 是否相等; 如果不等, 则转至步骤S1, 否则, 签名方A计
算参数r, 并将β 发给签名方B; 签名方B验证α与β 是否相等; 如果不等, 则转至步骤S1, 否则,
签名方B计算 参数r, 其中, α 与β 代 表杂凑值; 具体包括:
步骤S31: 签名方B收到M1后对其解密计算得到RA=Decsk(M1); 对RA, RB, sk进行哈希计算,
得到α =H(RA, RB, sk), 其中, H()为哈希函数; 签名方B将(M2, α )发送给签名方A;
步骤S32: 签名方A收到M2后对其解密计算得到RB=Decsk(M2); 对RA, RB, sk进行哈希计算,
得到β =H(RA, RB, sk);
步骤S33: 签名方A验证α与β 是否相等; 如果不等, 则转至步骤S1, 重新计算, 否则, 签名
方A计算参数: e=H(M)、 [x ′1, y′1]←[kA]*RB和r=e+x ′1, 其中, M为待签名的消息, e为M的杂
凑值, [x′1, y′1]←[kA]*RB: 在椭圆曲线[kA]*RB点上的横纵坐 标x′1和y′1; 同时签名方A将β 发
给签名方B;
步骤S34: 签名方B验证α与β 是否相等; 如果不等, 则转至步骤S1, 重新计算, 否则, 签名
方B计算e=H(M)、 [x ′1, y′1]←[kA]*RB和r=e+x ′1。
5.根据权利 要求1所述的基于SM2算法的协同签名方法, 其特征在于, 所述步骤S4: 签名
方A与B分别计算参数t ″A和t″B, 签名方B 基于t′B、 t″B和r计算B方签名S igB, 将其加密后得到
M3发送给签名方A, 签名方A对M3解密后, 得到SigB, 其中, M3代表所传输的密文, 并基于t ′A、
t″A和r计算A方签名SigA; 签名方A基于SigA、 SigB和r计算得到参数s, 最终得到签名结果
(r, s), 具体包括:
步骤S41: 签名方A与B分别以输入
和
共同运行πm, 分别得到参数t ″A和t″B, 满足条件:
步骤S42: 签名方B计算B方签名: SigB=t ″B+r*t′B; 将SigB加密后得到M3=Encsk(SigB),
并发送M3给签名方A;
步骤S43: 签名方A对M3基于sk进行解密, 得到SigB=Decsk(M3), 并计算A方签名SigA=
t″A+r*t′A和参数s=SigA+SigB ‑r; 获得最终签名结果(r, s)。
6.一种基于SM2算法的协同签名系统, 其特 征在于, 包括下述模块:
初始化模块, 用于签名方A和B各自生成其私钥dA和dB; 二者分别计算对应的公钥PA和PB
发给对方, 分别计算参数t ′A、 t′B, 签名方A保存参数(dA, PA, PB, t′A), 签名方B保存参数(dB,
PA, PB, t′B);
加密模块, 用于签名方A与B共同生成会话密钥 sk; 签名方A与B分别选择随机数kA和kB,
分别计算其SM2椭圆 曲线点RA和RB, 并利用sk加密后计算参数M1与M2, 其中, M1, M2代表所传输
的密文;
校验模块, 用于签名方B收到M1后对其解密计算, 得到RA和α, 将(M2, α )发送给签名方A;
签名方A收到M2后对其解密计算, 得到RB和β; 签名方A验证α与β 是否相等; 如果不等, 则转至
步骤S1, 否则, 签名方A计算参数r, 并将β 发给签名方B; 签名方B验证α与β 是否相等; 如果不
等, 则转至步骤S1, 否则, 签名方B计算 参数r; 其中, α 与β 代 表杂凑值;
签名模块, 用于
专利 一种基于SM2算法的协同签名方法及系统
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 08:14:03上传分享