(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211123658.2
(22)申请日 2022.09.15
(71)申请人 北京中科研究院
地址 100049 北京市石景山区玉泉路乙19
号甲中国科 学技术大学综合楼
(72)发明人 林璟锵 温舒尚 刘振亚
(74)专利代理 机构 北京凯特来知识产权代理有
限公司 1 1260
专利代理师 郑立明 韩珂
(51)Int.Cl.
H04L 9/32(2006.01)
H04L 9/40(2022.01)
H04L 67/01(2022.01)
(54)发明名称
结合ECDH协议的协作式数字签名的计算方
法及系统
(57)摘要
本发明公开了一种结合ECDH协议的协作式
数字签名的计算方法及系统, 通信双方利用ECDH
协议, 来回发送/接收数据, 使 通信双方可以获得
双方共享的秘密W, 并可作为变化因子, 使得攻击
者不能从网络中监听数据得到变化因子, 因此,
即便攻击者窃取某一次子私钥, 也无法掌握子私
钥的变化情况; 此外, 将ECDH协议与协作式数字
签名紧密结合, 不仅可以确保攻击者无法从网络
中监听数据得到的变化因子, 还能够有效地减少
计算量和通信量。
权利要求书3页 说明书7页 附图1页
CN 115459931 A
2022.12.09
CN 115459931 A
1.一种结合E CDH协议的协作式数字签名的计算方法, 其特 征在于, 包括:
第一通信方生成E CDH的第一条消息并发送给第二 通信方;
所述第二通信方负责生成ECDH的第二条消息以及计算中间签名结果, 并将生成的ECDH
的第二条消息以及计算的中间签名结果发送给第一通信方; 其中, 所述第二通信方结合所
述第一条消息生成ECD H的第二条消息, 或者将 计算中间签名结果产生的中间信息作为ECD H
的第二条消息; 所述第二通信方结合所述第一条消息与第二条消息确定通信双方共享的变
化因子, 利用所述通信 双方共享的变化因子和自身前一时刻的子私钥确定自身的当前子私
钥, 再结合自身的当前子私钥计算中间签名结果;
所述第一通信方结合所述第 一条消息与第 二条消息确定通信双方共享的变化因子, 利
用所述通信双方共享的变化因子和自身前一时刻的子私钥确定自身的当前子私钥, 并结合
所述中间签名结果, 计算 最终签名结果。
2.根据权利要求1所述的一种结合ECDH协议的协作式数字签名的计算方法, 其特征在
于, 第一通信方生 成ECDH的第一条消息、 第二通信方生 成ECDH的第二条消息, 以及通信双方
共享的变化因子包括如下情况中的任一种:
第一种情况: 第一通信方生成ECDH 的第一条消息为: Q1=[k3]G, 第二通信方结合第一
条消息生成ECDH的第二条消息: Q2=[k4]Q1, 或者将计算中间签名结果产生的中间信息
[k5]G作为ECDH的第二条消息, 通信双方共享的变化因子W=[k3*k4]G, 或者W=[k3*k5]G;
其中, G表示椭圆曲线的基点, k3表示第一通信方生成 的第一随机数, k3∈(1,n ‑1), k4表示
第二通信方生成的第一随机数, k4∈(1,n ‑1), k5表示第二通信 方生成的第二随机数, k5∈
(1,n‑1), n表示椭圆曲线的阶;
第二种情况: 第一通信方生成ECD H的第一条消息为: Q1=[k1]P2, P2 =[D2’‑1]G, 第二通
信方将计算中间签名结果产生的中间信息[k2]G作为ECDH的第二条消息, 通信双方共享的
变化因子W=[ k1*k2*D2‑1]G, 其中, P2为椭圆曲线的基点G的D2 ’‑1倍点运算结果, D2 ’表示第
二通信方上一 时刻的子私钥, D2 ’‑1表示D2’模n的逆元, k1表示第一通信方生成的第二随机
数, k1∈(1,n ‑1), k2表示第二 通信方生成的第三随机数, k2∈(1,n ‑1);
第三种情况: 第一通信方生成ECDH的第一条消息为: Q1=[k3](G+P), 第二通信方将计
算中间签名结果产生的中间信息[k5](G+P)作为ECDH的第二条消息, 通信双方共享的变化
因子W=[k3*k5](G+P), 其中, P表示公钥。
3.根据权利要求2所述的一种结合ECDH协议的协作式数字签名的计算方法, 其特征在
于, 所述第二 通信方计算中间签名结果的方式包括:
对于第一种情况, 第二 通信方使用如下任一种计算方式:
第一种计算方式:
Q2=[k4]Q1
(x,y)=[k5] G+Q2
r=(e+x)mod n
S’=D2*(r+k5)mod n
S”=D2*k4 modn
其中, (x,y)表示椭圆曲线的点的坐标, r表示最终签名结果的第一分量, S ’与S”共同作
为中间签名结果, D2表 示第二通信方自身的当前子私钥, mod n表示模n运算; e为杂凑值, 表权 利 要 求 书 1/3 页
2
CN 115459931 A
2示为: e=Hash(m), m=Z||M, Hash(.)表示杂凑函数, ||表示比特串或字节串的拼接, Z表示
基于椭圆曲线公钥密码算法标准的第一通信方和第二通信方的身份标识的杂凑值, M表示
当前待签名信息; 使用第一种计算方式时, 将Q2作为ECD H的第二条消息, 或者将 计算中间签
名结果产生的中间信息[k5] G作为ECDH的第二条消息;
第二种计算方式:
Q2=[D2‑1]Q1
(x,y)=[k5] G+Q2
r=(e+x)mod n
S’=D2*(r+k5)mod n
其中, S’为中间签名结果; 使用第二种计算方式时, 将计算中间签名结果产生的中间信
息[k5]G作为ECDH的第二条消息 。
4.根据权利要求3所述的一种结合ECDH协议的协作式数字签名的计算方法, 第一通信
方计算最终签名结果的方式包括:
当使用第一种计算方式时, 第一 通信方计算:
S=D1*S’+D1*k3*S” –r mod n
当使用第二种计算方式时, 第一 通信方计算:
S=D1*(k3+S ’)‑r mod n
其中, D1表示第一通信方自身 的当前子私钥, S表示最终签名结果的第一分量, 最终签
名结果为(r,S)。
5.根据权利要求2所述的一种结合ECDH协议的协作式数字签名的计算方法, 其特征在
于, 所述第二 通信方计算中间签名结果的方式包括:
对于第二种情况, 第二 通信方使用如下计算方式:
Q2=[k2] G
(x,y)=Q1+Q2
r=(e+x)mod n
S’=D2*(r+k2)mod n
其中, (x,y)表示椭圆曲线的点的坐标, r表示最终签名结果的第一分量, S ’为中间签名
结果, D2表示第二通信方自身的当前子私钥, mod n表示模n运算; e为杂凑值, 表示为: e=
Hash(m), m=Z||M, Hash(.)表示杂凑函数, ||表示比特串或字节串的拼接, Z表示基于椭圆
曲线公钥密码算法标准的第一通信方和第二通信方 的身份标识的杂凑值, M表示当前待签
名信息。
6.根据权利要求5所述的一种结合ECDH协议的协作式数字签名的计算方法, 其特征在
于, 第一通信方计算 最终签名结果的过程表示 为:
S=D1*(k1+S2) ‑r mod n
其中, D1表示第一通信方自身 的当前子私钥, S表示最终签名结果的第一分量, 最终签
名结果为(r,S)。
7.根据权利要求2所述的一种结合ECDH协议的协作式数字签名的计算方法, 其特征在
于, 所述第二 通信方计算中间签名结果的方式包括:
对于第三种情况, 第二 通信方使用如下计算方式:权 利 要 求 书 2/3 页
3
CN 115459931 A
3
专利 结合ECDH协议的协作式数字签名的计算方法及系统
文档预览
中文文档
12 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共12页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:05:03上传分享