(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211115672.8
(22)申请日 2022.09.14
(71)申请人 中国科学院大学
地址 100049 北京市石景山区玉泉路19号
(甲)
(72)发明人 王平建 荆继武 王跃武 王鹏
雷灵光 刘丽敏 孙思维 寇春静
(74)专利代理 机构 北京君尚知识产权代理有限
公司 11200
专利代理师 司立彬
(51)Int.Cl.
H04L 9/32(2006.01)
H04L 9/40(2022.01)
H04L 9/08(2006.01)
(54)发明名称
一种多个节点链式协作签名的方法
(57)摘要
本发明公开了一种多个节点链式协作签名
的方法, 其步骤包括: 根据参与链式协作签名中
各节点的签名顺序生成一节点链; 执行第一个签
名的节点为根节点, 执行最后一个签名的节点为
用户节点; 前一节点为后一节点的父节点; 密钥
生成阶段, 由根节点开始沿着节 点链依次生成各
节点的公私钥对; 签名计算阶段, 由用户节点开
始, 每个子节 点生成随机数并根据该随机数和父
节点的公钥生成签名参数发送给其父节点; 根节
点根据子节 点的签名参数生 成自己的签名参数,
然后根据自己的签名参数和私钥对待签名消息
进行签名, 并将所生成签名发送给其子节点, 每
一子节点收到其父节点的签名后, 结合自己的私
钥和随机 数计算得到新签名, 将用户节点计算得
到的签名为 最终签名。
权利要求书2页 说明书5页 附图3页
CN 115499134 A
2022.12.20
CN 115499134 A
1.一种多个节点链式协作签名的方法, 其 步骤包括:
根据参与链式协作签名中各节点的签名顺序生成一节点链; 其中执行第 一个签名的节
点称为所述节点链的根节点, 执行最后一个签名的节点称为所述节点链的用户节点; 所述
节点链中前一节点 为后一节点的父节点、 后一节点 为前一节点的子节点;
密钥生成阶段, 由所述 根节点开始沿着所述节点链 依次生成各节点的公私钥对;
签名计算阶段, 由所述用户节点开始, 每个子节点生成自 己的随机数并根据该随机数
和父节点的公钥生成签名参数发送给其父节点; 所述根节点根据其子节点发来的签名参数
生成自己的签名参数, 然后根据自己的签名参数和私钥对待签名 消息进行签名, 并将所生
成签名发送给其子节点, 每一子节点收到其父节点的签名后, 结合自己的私钥和己生成的
随机数计算得到新签名, 将所述用户节点计算得到的签名为所述待签名消息的最终签名。
2.根据权利要求1所述的方法, 其特征在于, 生成各节点的公私钥对的方法为: 所述根
节点首先生成自己的公私钥对并将公钥发送 给其子节点, 每一子节点随机产生自己的私钥
并根据自己的私钥和父节点的公钥生成自己的公钥; 所述用户节点根据自己所生成的公钥
生成一用户公钥, 所述用户公钥用于验证所述 最终签名。
3.根据权利要 求1或2所述的方法, 其特征在于, 所述节点链为N1,N2,…,NA, 第i个节点Ni
的密钥对记为(di,Pi), di为节点Ni的私钥, Pi为节点Ni的公钥, 1≤i≤A, A为参与链式协作签
名中的节点总数。
4.根据权利要求3所述的方法, 其特 征在于, 生成各节点的公私钥对的方法为:
21)根节点N1随机生成自己的私钥d1, 然后根据私钥d1计算得到自己的公钥P1并将其发
送给其子节点;
22)子节点Nj随机生成自己的私钥dj; 然后根据私钥dj和公钥Pj‑1生成自己的公钥Pj; 其
中, Pj‑1为子节点 Nj的父节点 Nj‑1的公钥; 1<j<A;
23)用户节点NA随机生成自己的私钥dA; 然后根据私钥dA和PA‑1生成自己的公钥PA, 以及
根据公钥PA生成用户公钥Puser; 其中, PA‑1为用户节点 NA的父节点 NA‑1的公钥。
5.根据权利要求4所述的方法, 其特征在于, 根节点N1根据P1=d1[*]G计算得到自己的
公钥P1; 子节点Nj根据Pj=dj[*]Pj‑1计算生成自己的公钥Pj; 用户节点NA根据PA=dA[*]PA‑1生
成自己的公钥PA, 用户公钥Puser=PA[‑]G; 其中, G为椭圆曲线基点, [*]为椭圆 曲线上的点乘
操作, [‑]为椭圆曲线上的减法操作。
6.根据权利要求 4所述的方法, 其特 征在于, 生成所述 最终签名的方法为:
31)用户节点NA生成随机数kA, 然后根据kA、 PA‑1计算签名参数QA并将其发送给父节点
NA‑1;
32)节点Nl收到其子节点Nl+1发来的签名参数Ql+1后, 生成随机数kl; 然后根据Ql+1、 kl计
算签名参数Ql并将其发送给 父节点Nl‑1; 其中, A‑1≥l>1;
33)根节点N1收到子节点N2发来的签名参数Q2后, 生成随机数k1; 然后根据Q2、 k1计算得
到签名参数Q1;
34)根节点N1计算r=e+x1 mod n, s1=d1‑1(k1+r)mod n, 将(r,s1)发送给子节点N2; 其
中, 签名参数Q1为椭圆曲线点; x1为椭圆曲线点Q1的x坐标值, e为待签名消息M的摘要, d1为
根节点N1的私钥, n 为基点G的阶;
35)子节点Nj收到父节点发来的(r,sj‑1)后, 计算sj=dj‑1(kj+sj‑1)mod n, 将(r,sj)发送权 利 要 求 书 1/2 页
2
CN 115499134 A
2给子节点 Nj+1; 1<j<A;
36)用户节点NA收到父节点NA‑1发来的(r,sA‑1)后, 计算s=dA‑1(kA+sA‑1)‑r mod n, 得到
所述最终签名为(r,s)。
7.根据权利要求6所述的方法, 其特征在于, 用户节点NA根据QA=kA[*]PA‑1计算得到签
名参数QA; 节点Nl根据Ql=kl[*]Pl‑1[+]Ql+1计算得到签名参数Ql; 根节点N1根据Q1=k1[*]G
[+]Q2计算得到签名参数Q1。
8.根据权利要求1或2所述的方法, 其特征在于, 所述根节点的公钥由其私钥和椭圆曲
线基点G生成, 其 他节点的公钥由其私钥和父节点的公钥生成。
9.根据权利要求1所述的方法, 其特征在于, 所述随机数的取值范围为[1,n ‑1], 其中, n
为椭圆曲线基点G的阶。
10.根据权利要求1所述的方法, 其特征在于, 所述根节点拥 有多个子节点, 从而构 成一
个由一个根节点、 多个中间节点和多个用户节点组成的树形节点链; 所述根节点与所述用
户节点之间的节点 为中间节点。权 利 要 求 书 2/2 页
3
CN 115499134 A
3
专利 一种多个节点链式协作签名的方法
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:05:03上传分享