行业标准网
(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

PDF文档 专利 一种多个节点链式协作签名的方法

文档预览
中文文档 11 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种多个节点链式协作签名的方法 第 1 页 专利 一种多个节点链式协作签名的方法 第 2 页 专利 一种多个节点链式协作签名的方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-03-03 12:05:03上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。