CN117499039B - 基于椭圆曲线公钥密码算法的区块链签名方法 - Google Patents
基于椭圆曲线公钥密码算法的区块链签名方法 Download PDFInfo
- Publication number
- CN117499039B CN117499039B CN202311720296.XA CN202311720296A CN117499039B CN 117499039 B CN117499039 B CN 117499039B CN 202311720296 A CN202311720296 A CN 202311720296A CN 117499039 B CN117499039 B CN 117499039B
- Authority
- CN
- China
- Prior art keywords
- signature
- node
- final
- promise
- verification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 52
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 239000004744 fabric Substances 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000006872 improvement Effects 0.000 abstract description 3
- 238000005516 engineering process Methods 0.000 description 8
- 238000007689 inspection Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 241000764238 Isis Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
- H04L9/3221—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3252—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于椭圆曲线公钥密码算法的区块链签名方法,包括由多个节点组成的树形结构,基于国密SM2生成参数及密钥,当树形结构中的某一个节点提出签名请求的通告时,首先将通告发送给其子节点,子节点进行承诺并向上逐级求和计算得到最终承诺,将最终承诺发给指定的签名节点,每个签名节点收到最终承诺后计算响应值并向上逐级求和计算最终响应值,输出最后的签名。在实现区块链多重签名时,需要考虑到安全性、可扩展性和高效性等问题,因此本发明构建一个更加安全、高效和可靠的多重签名算法,本发明在传统的Fabric事务处理上进行时,采用了基于国密SM2的多重签名方案来代替ECDSA,并增加了一个同步步骤,使Fabric事务处理在改进后运行平稳。
Description
技术领域
本发明属于计算机技术领域,涉及一种区块链的数字签名方法。
背景技术
随着全球经济和信息化程度的提高,各行各业的数据安全问题都在急剧增长。在电子商务和电子政务领域,同一份文件或合同需要多个相关人员的签名能生效。数字签名技术以一种电子签名的方式,将签名对象与签名者互相绑定,以确保签名的真实性。数字签名技术可以保证数据的完整性和不可否认性。但是随着数据量的快速增长,传统的数字签名方案已经无法满足需求,因为它们具有信息传输量大、签名长度过长以及签名和验证效率低的缺点。
多重签名方案可以让一组签名者在同一份消息上共同生成一个联合签名,这个签名可以被任何人验证,从而使得签名更加紧凑。多重签名的验证速度更快,有助于减少带宽、验证和存储成本,而且生成的签名大小和公钥长度都与签名者的数量无关。最近,多重签名得到了广泛关注,因为它的这些优点正是区块链和加密货币所需要的。然而,在传统的多重签名方案中,签名人之间需要进行大量的通信。
区块链技术作为建设信任机制的工具,对人类社会的提供了一种新的模式。我们提出了一种改进的基于国密SM2的多重签名方案,该方案适用于电子商务和电子政务等场景。
目前区块链多重签名技术主要是简单的聚合基于椭圆曲线secp256k1的数字签名。首先,目前广泛使用的多重签名方案中存在恶意密钥攻击和k-sum问题攻击等安全性问题。其次,传统的多重签名技术效率和扩展性低下,用户无法根据具体需求进行自由选择签名者和实时交易。最后,传统的多重签名技术大多使用的是区块链标准的椭圆曲线secp256k1,无法对其保证自主可控。
现有技术的缺点主要表现在以下方面:
(1)传统的区块链多重签名技术存在恶意密钥攻击的威胁。
(2)传统的区块链多重签名技术效率和扩展性低下,用户无法根据具体需求进行自由选择签名者和实时交易。
(3)目前很少有基于国密SM2算法的区块链多重签名方案,很难做到较高的兼容性。
发明内容
本发明的目的:在实现区块链多重签名时,需要考虑到安全性、可扩展性和高效性等问题,因此,基于以上分析及现有技术存在的问题,本发明提出了一种基于椭圆曲线公钥密码算法的区块链签名方法,构建了一个更加安全、高效和可靠的多重签名方法。
本发明的技术方案:
一种基于椭圆曲线公钥密码算法的区块链签名方法,包括由多个节点组成的树形结构,基于国密SM2生成参数及密钥,当树形结构中的某一个节点提出签名请求的通告时,首先将通告发送给其子节点,子节点进行承诺并向上逐级求和计算得到最终承诺,将最终承诺发给指定的签名节点,每个签名节点收到最终承诺后计算响应值并向上逐级求和计算最终响应值,输出最后的签名。
基于国密SM2生成参数及密钥包括:
参数生成Pg(k):设E为有限域上的椭圆曲线,G=(xG,yG)为E上的q阶基点,()为椭圆曲线上基点的坐标。其中|q|=k为输入,采用两个哈希函数,其中H0为单向目
标哈希函数,H1为SM3哈希函数,输出par=(G,q,H0,H1);Pg是param generation 的英文缩
写。
密钥生成Kg(par):各签名者选择一个随机sk∈[1,q-1]为私钥,并计算对应公钥,从q阶正整数群Zq中选取随机数,计算各自权益证明承诺值,权益证明挑战值和权益证明响应值,构造
私钥的权益证明,最后输出最终公钥。符号$是随机的意思,Kg是
key generation的英文缩写。
计算承诺的过程为:节点Si收到通告m后选择随机数,计算wG=(xi,
yi)和ri=(e+xi)modq,其中e=H1(m),()为计算得到的椭圆曲线上的坐标,等待其子节
点Cij的,计算并将发送给其父节点,逐级发送至根节点S0计算最终承
诺。Cij中下标的i和j指树形结构中节点Si的第j个子节点,i从0开始计数,根节点的i=0,Ci
指节点Si的子节点集合。
计算响应的过程为:当收到后,计算响应值,并
等待它子节点的Cij的,收到后 计算并将发送给其父节点直至根节点计算最终响应值,其中,为根节点的响应值,为根节点的子节
点集合,为根节点的子节点的部分响应值。
对于Fabric事务处理,赋予树形结构中的节点不同的角色,假设部分节点作为客户Cl,部分节点作为背书者为Eni,订购者为Or,Pi为背书者Eni的父代,N为背书策略要求的背书者数量,Fabric-CA使用Pg(k)输出par=(G,q,H0,H1),然后每个节点使用Kg(par)生成自己的公私钥对(pk,sk);在每个节点加入Fabric网络之前,Fabric-CA还使用KVf(par,pk)来验证其公钥的有效性; 如果结果为真,Fabric-CA将向该节点颁发证书,以便其成功加入网络;否则,CA将拒绝该节点,这意味着该节点无权加入Fabric网络。
具体步骤包括:
步骤一,交易申请:当客户Cl需要请求交易m时,首先执行签名Sign算法的通告阶段,将m的交易建议发送给指定背书者Eni。
步骤二,同步:背书策略指定的所有背书者Eni作为树形结构中的一个子群工作,同
步块信息,客户Cl执行签名算法的挑战阶段,产生共同挑战作为联合签名的一部分并发送
个每个背书者Eni。
步骤三,背书:当Eni收到来自Cl的签名建议时,使用密钥验证算法KVf检查Cl身份
的有效性,并用自己的私钥和前一个集体挑战签署,最后进行签名算法的响应阶段,计算
部分响应值si。
步骤四,申请响应:所有指定的Eni执行签名算法的响应阶段,Cl从其子背书人j处
收集所有的申请响应,包括模拟交易结果和部分响应值,当接收到所有申请响应时, Cl
检查并计算最终响应值,最后Cl生成一个代表Cl和所有指定Eni的签名。
步骤五,上传交易:Cl将最终挑战和响应值发送给订购者Or。
步骤六,批量交付:Or将来自不同客户的交易信息打包成块并在网络上广播。
步骤七,账本更新:网络上的所有节点都需要使用验证算法来验证交易信息并同步更新。
步骤四中使用密钥验证算法KVf检查Cl身份的有效性包括:给定公钥以及相应的
权益证明,pk=(X,π),π=(a,d),检查是否满足,其中是权益证
明验证值;若不满足则公钥无效,必须丢弃。
步骤七中的验证算法包括:输入聚合公钥,消息和签名,先验证
是否成立,若不成立,则验证不通过;检验是否成立,若不成立,则验证不通过;计
算和,其中,为进行验证的椭圆曲线点
坐标,最后检验是否成立,若不成立,则验证不通过,若成立,则验证通过。
与现有技术相比,本发明的有益效果为:
(1)改进的密钥生成和验证算法,根据零知识证明,引入密钥的权益证明来防止恶意密钥攻击。
(2)引入一种树形结构,赋予该多重签名高扩展性,结合SM2签名算法更短的密钥长度来实现更高的效率性。
(3)与默认的Fabric事务处理相比,采用了基于国密SM2的多重签名方案来代替ECDSA,使Fabric事务处理在改进后运行平稳。
附图说明
图1是签名算法流程图。
图2是区块链交易流程。
实施方式
实施例1:
一种基于椭圆曲线公钥密码算法的区块链签名方法,包括由多个节点组成的树形结构,并基于国密SM2生成参数及密钥,包括:
参数生成:设E为有限域上的椭圆曲线,为E上的q阶基点。
其中为输入,采用两个哈希函数,其中为单向目标哈希函数,为SM3哈希函数,
输出;Pg是param generation 的英文缩写。
密钥生成:各签名者选择一个随机为私钥,并计算对应公钥,从q阶正整数群Zq中选取随机数,计算,,,构造私钥的权益证明,最后输出公钥。
符号$是随机的意思,Kg是key generation的英文缩写。
当树形结构中的某一个节点提出签名请求的通告时,首先将通告发送给其子节
点,子节点进行承诺并向上逐级求和计算得到最终承诺,将最终承诺发给指定的签名节点,
每个签名节点收到最终承诺后计算响应值并向上逐级求和计算最终响应值,输出最后的签
名。图1展示了本算法的具体过程,图中中间的签名节点Si表示树形结构中的签名节点,左
边的子节点 Ci指Si的子节点,右边的父节点 Pi指Si的父节点,括号中的领导者是树形结
构最顶层的根节点。当需要签名时首先时首先时通告阶段,由Pi将消息 m 向下逐级发送给
其子节点Si和Ci。之后是承诺阶段,从最下级的Ci 开始计算和,得到Ci 的承诺ri并作为rij上传给节点S,Si 计算和并将其收到的所有Ci 的承诺rij求和计算得到部分承诺并将发送给其父节点 Pi,按照这个过程逐级向上发送直至根节点S0计
算最终承诺,挑战阶段是指将最终承诺逐级下发给所有子节点Si和Ci。Si和Ci收到后进
入响应阶段,计算响应值,Ci 将其计算得到的si作为发
送给Si,Si计算部分相应并将向上发送,逐级重复这个过程直至根节点计算最终响应值。
实施例2:
签名方案:
本发明的签名算法方案为:实现基于国密SM2的多重签名算法,主要步骤为:
参数生成。设E为有限域上的椭圆曲线,为E上的阶基点。
其中为输入。采用两个哈希函数,其中为单向目标哈希函数,为SM3哈希函数。
输出。
密钥生成。各签名者选择一个随机为私钥,并计算对应公钥选取随机数,计算,,
,构造私钥的权益证明。最后输出公钥。
签名:该签名算法引入了一个树形结构,运行该算法,为
的子节点,为的父节点,为领导者,即树的根。以下是具体过程:
通告:收到消息并自向下发送给子节点。
承诺:对于,选择随机数,计算和
,其中,等待其子节点的,计算并将发送给其父节点,
直到为领导者,即。
挑战:若为领导者,在收到部分承诺后,计算最终承诺。
领导者将自顶向下发给它的孩子节点。
响应:当收到后,计算响应值,并等待它子节
点的的,收到后计算并将发送给其父节点,直到为领导者,即。最后,领导者计算最终响应值,并输出最后的签名。
密钥聚合:给定为所有公钥的集合,将在中签名所涉及的每个
公钥解析为,计算并输出聚合公钥。
密钥验证:给定公钥以及相应的权益证明, ,,检查是否满足,其中。否则,公钥无效,必须丢
弃。
验证:输入聚合公钥,消息和签名,先验证是否
成立,若不成立,则验证不通过;检验是否成立,若不成立,则验证不通过;计算和,其中,最后检验是否成立,若不成立,
则验证不通过,若成立,则验证通过。
本发明以在Hyperledger Fabric上实现为例,选取以国密SM2为标准的椭圆曲线,以Fabric-CA为可信第三方。
实施步骤
假设客户为,背书者为,订购者为。为背书者的父代,为背书策略
要求的背书者数量。Fabric-CA使用输出,然后每个节点使用生成自己的公私钥对。在节点加入Fabric网络之前,Fabric-CA还使用来验证其公钥的有效性。 如果结果为真,Fabric-CA将向该节点颁发证书,以
便其成功加入网络。否则,CA将拒绝该节点,这意味着该节点无权加入Fabric网络。
本发明以在传统的Fabric事务处理上进行为例,采用了基于国密SM2的多重签名方案来代替ECDSA,并增加了一个同步步骤,使Fabric事务处理在改进后运行平稳。以下是具体步骤:
步骤一:交易申请:当客户需要请求交易时,首先执行签名算法的通告阶
段,将的交易建议发送给指定背书者。
步骤二:同步:背书策略指定的所有背书者作为d形结构中的一个子群工作,同
步块信息,实现签名算法的承诺阶段。客户执行签名算法的挑战阶段,产生共同挑战作为联合签名的一部分并发送个每个背书者;
步骤三:背书:当收到来自的提议时,使用密钥验证算法()检查身份
的有效性,并用自己的私钥和前一个集体挑战签署,最后进行签名算法的响应阶段,计算
部分响应值。
步骤四:申请响应:所有指定的执行签名算法的响应阶段。从其子背书人
处收集所有的申请响应,包括模拟交易结果和部分响应值。当接收到所有申请响应时, 检查并计算。最后生成一个代表和所有指定的签名。
步骤五:上传交易:将最终挑战和响应值发送给订购者。
步骤六:批量交付:将来自不同客户的交易信息打包成块并在网络上广播。
步骤七:账本更新:网络上的所有节点都需要使用验证()算法来验证交易信息
并同步更新。
本发明根据零知识证明,引入密钥的权益证明来防止恶意密钥攻击。引入一种树形结构,赋予该多重签名高扩展性,结合SM2签名算法更短的密钥长度来实现更高的效率性。将国密SM2算法引入区块链技术的多重签名方案中,结合两者优势,构造一种安全、高效且自主可控的多重签名方法。
Claims (5)
1.一种基于椭圆曲线公钥密码算法的区块链签名方法,包括由多个节点组成的树形结构,基于国密SM2生成参数及密钥,其特征在于:当树形结构中的某一个节点提出签名请求的通告时,首先将通告发送给其子节点,子节点进行承诺并向上逐级求和计算得到最终承诺,将最终承诺发给指定的签名节点,每个签名节点收到最终承诺后计算响应值并向上逐级求和计算最终响应值,输出最后的签名;基于国密SM2生成参数及密钥包括:
参数生成:输入安全参数k,设E为有限域/>上的椭圆曲线,/>为E上的q阶基点,其中/>为输入,是一个正整数,(/>)为椭圆曲线上基点的坐标;采用两个哈希函数,其中/>为单向目标哈希函数,/>为SM3哈希函数,输出系统参数;
密钥生成:各签名者选择一个随机/>为私钥,并计算对应的部分公钥/>,从q阶正整数群Zq中选取随机数/>,计算各自权益证明承诺值、权益证明挑战值/>和权益证明响应值/>,构造私钥/>的权益证明/>,最后输出最终公钥/>;承诺的过程为:节点/>收到通告/>后选择随机数/>,计算/>和承诺/>,其中,(/>)为/>计算得到的椭圆曲线上的坐标,等待其子节点/>的承诺/>,计算部分承诺/>并将部分承诺/>发送给其父节点,其中,/>为子节点集合,j为/>节点的子节点序号,逐级发送至根节点S0计算最终承诺/>;计算响应的过程为:当/>收到/>后,计算响应值/>,其中/>为/>的私钥,并等待它子节点的/>的响应值/>,收到后计算部分响应值/>并将/>发送给其父节点,直至根节点/>计算最终响应值/>,并输出最后的签名/>,其中,/>为根节点的响应值,/>为根节点的子节点集合,/>为根节点的子节点的部分响应值。
2.根据权利要求1所述基于椭圆曲线公钥密码算法的区块链签名方法,其特征在于:将本签名方法用于Fabric事务处理时,赋予树形结构中的节点不同的角色,假设部分节点作为客户,部分节点作为背书者为/>,订购者为/>,/>为背书者/>的父代,/>为背书策略要求的背书者数量,Fabric的证书颁发机构Fabric-CA使用/>输出/>,然后每个节点使用/>生成自己的公私钥对/>;在每个节点加入Fabric网络之前,Fabric-CA使用/>来验证其公钥的有效性;如果结果为真,Fabric-CA将向该节点颁发证书,以便其成功加入网络;否则CA将拒绝该节点,该节点无权加入Fabric网络。
3.根据权利要求2所述基于椭圆曲线公钥密码算法的区块链签名方法,其特征在于Fabric事务处理的具体步骤包括:
步骤一,交易申请:当客户需要请求交易/>时,将/>的交易建议发送给指定背书者;
步骤二,同步:背书策略指定的所有背书者作为树形结构中的一个子群工作,同步块信息,客户/>产生最终承诺/>作为联合签名的一部分并发送个每个背书者/>;
步骤三,背书:当收到来自/>的签名提议时,使用密钥验证算法/>检查/>身份的有效性,并用自己的私钥和最终承诺/>签署,最后进行签名算法的响应阶段,计算部分响应值/>;
步骤四,申请响应:所有指定的执行签名算法的响应阶段,/>从其子背书人处收集所有的申请响应,包括模拟交易结果和部分响应值/>,当接收到所有申请响应时, />检查并计算最终响应值/>,最后/>生成一个代表/>和所有指定/>的签名;
步骤五,上传交易:将最终挑战和响应值发送给订购者/>;
步骤六,批量交付:将来自不同客户的交易信息打包成块并在网络上广播;
步骤七,账本更新:网络上的所有节点都需要使用验证算法来验证交易信息并同步更新。
4. 根据权利要求3所述基于椭圆曲线公钥密码算法的区块链签名方法,其特征在于步骤四中使用密钥验证算法检查/>身份的有效性包括:给定公钥以及相应的权益证明,,/>,检查是否满足/>,其中/>是权益证明验证值;若不满足则公钥/>无效须丢弃。
5.根据权利要求4所述基于椭圆曲线公钥密码算法的区块链签名方法,其特征在于步骤七中的验证算法包括:输入聚合公钥、消息/>和签名/>,先验证/>是否成立,若不成立,则验证不通过;检验/>是否成立,若不成立,则验证不通过;计算和/>,其中/>,/>为进行验证的椭圆曲线点坐标,为进行验证计算出来的承诺值,最后检验/>是否成立,若不成立,则验证不通过,若成立,则验证通过。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311299368 | 2023-10-09 | ||
CN2023112993688 | 2023-10-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117499039A CN117499039A (zh) | 2024-02-02 |
CN117499039B true CN117499039B (zh) | 2024-03-26 |
Family
ID=89667522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311720296.XA Active CN117499039B (zh) | 2023-10-09 | 2023-12-14 | 基于椭圆曲线公钥密码算法的区块链签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499039B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN110933045A (zh) * | 2019-11-08 | 2020-03-27 | 中国电子科技网络信息安全有限公司 | 一种基于承诺的区块链数字资产隐私保护方法 |
CN111371564A (zh) * | 2020-03-04 | 2020-07-03 | 深圳大学 | 一种数字签名及区块链交易方法、装置及电子设备 |
CN112989436A (zh) * | 2021-03-30 | 2021-06-18 | 广西师范大学 | 一种基于区块链平台的多重签名方法 |
CN114157427A (zh) * | 2021-12-02 | 2022-03-08 | 南京邮电大学 | 基于sm2数字签名的门限签名方法 |
CN114666058A (zh) * | 2022-03-08 | 2022-06-24 | 深圳大学 | 基于多重签名的验证方法、装置、设备及存储介质 |
CN114826607A (zh) * | 2022-04-02 | 2022-07-29 | 中国科学院信息工程研究所 | 基于区块链的边缘计算节点压缩方法及轻量级存储系统 |
CN115883099A (zh) * | 2022-11-25 | 2023-03-31 | 北京邮电大学 | 基于格密码的联盟链多重签名交易方法及装置 |
CN115941205A (zh) * | 2022-12-06 | 2023-04-07 | 华东师范大学 | 一种基于sm2的多重签名方法 |
CN116566660A (zh) * | 2023-04-21 | 2023-08-08 | 石家庄铁道大学 | 基于医疗区块链的身份认证方法 |
CN116827559A (zh) * | 2023-08-17 | 2023-09-29 | 中国科学院软件研究所 | 一种基于bls的高效可验证时间签名方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11074495B2 (en) * | 2013-02-28 | 2021-07-27 | Z Advanced Computing, Inc. (Zac) | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
CN111478772B (zh) * | 2020-06-22 | 2020-10-16 | 杭州趣链科技有限公司 | 一种流水线友好的签名和验签方法、设备及存储介质 |
CN112764887B (zh) * | 2021-01-15 | 2023-10-13 | 北京百度网讯科技有限公司 | 事务请求的构建方法、处理方法、装置、设备和存储介质 |
-
2023
- 2023-12-14 CN CN202311720296.XA patent/CN117499039B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018119670A1 (zh) * | 2016-12-27 | 2018-07-05 | 深圳大学 | 一种无证书部分盲签名方法和装置 |
CN110933045A (zh) * | 2019-11-08 | 2020-03-27 | 中国电子科技网络信息安全有限公司 | 一种基于承诺的区块链数字资产隐私保护方法 |
CN111371564A (zh) * | 2020-03-04 | 2020-07-03 | 深圳大学 | 一种数字签名及区块链交易方法、装置及电子设备 |
CN112989436A (zh) * | 2021-03-30 | 2021-06-18 | 广西师范大学 | 一种基于区块链平台的多重签名方法 |
CN114157427A (zh) * | 2021-12-02 | 2022-03-08 | 南京邮电大学 | 基于sm2数字签名的门限签名方法 |
CN114666058A (zh) * | 2022-03-08 | 2022-06-24 | 深圳大学 | 基于多重签名的验证方法、装置、设备及存储介质 |
CN114826607A (zh) * | 2022-04-02 | 2022-07-29 | 中国科学院信息工程研究所 | 基于区块链的边缘计算节点压缩方法及轻量级存储系统 |
CN115883099A (zh) * | 2022-11-25 | 2023-03-31 | 北京邮电大学 | 基于格密码的联盟链多重签名交易方法及装置 |
CN115941205A (zh) * | 2022-12-06 | 2023-04-07 | 华东师范大学 | 一种基于sm2的多重签名方法 |
CN116566660A (zh) * | 2023-04-21 | 2023-08-08 | 石家庄铁道大学 | 基于医疗区块链的身份认证方法 |
CN116827559A (zh) * | 2023-08-17 | 2023-09-29 | 中国科学院软件研究所 | 一种基于bls的高效可验证时间签名方法及系统 |
Non-Patent Citations (3)
Title |
---|
Yaling Zhang ; Hongyun Wang ; Yichuan Wang ; Wenjiang Ji ; Lei Zhu.Signature Scheme Based on The SM2 Algorithm in Fabric.IEEE.2021,全文. * |
基于区块链的多重签名研究;徐朝东;中国优秀硕士学位论文全文数据库;20220331;全文 * |
基于改进国密算法与区块链的数据登记系统;邓建球;方轶;丛林虎;李海君;;兵器装备工程学报;20190925(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117499039A (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809658B (zh) | 一种基于sm2的身份基的数字签名方法与系统 | |
CN109474422B (zh) | 一种多方协同产生sm2数字签名的方法 | |
CN108551392B (zh) | 一种基于sm9数字签名的盲签名生成方法及系统 | |
CN110912708B (zh) | 一种基于sm9数字签名算法的环签名生成方法 | |
CN109714153B (zh) | 一种高效的聚合签名方法 | |
CN108667626A (zh) | 安全的两方协作sm2签名方法 | |
CN108650097B (zh) | 一种高效的聚合数字签名方法 | |
Lee et al. | Forgery attacks on Kang et al.’s identity-based strong designated verifier signature scheme and its improvement with security proof | |
CN106487786B (zh) | 一种基于生物特征的云数据完整性验证方法及系统 | |
CN113300856B (zh) | 一种可证安全的异构混合签密方法 | |
TWI608722B (zh) | Public key certificate method | |
CN111245625B (zh) | 无证书聚合的数字签名方法 | |
CN107171788B (zh) | 一种基于身份且签名长度恒定的在线离线聚合签名方法 | |
CN115834056A (zh) | 一种无证书有序聚合签名方法、系统及相关装置 | |
Islam et al. | Certificateless strong designated verifier multisignature scheme using bilinear pairings | |
EP1571778A1 (en) | Method for generating fair blind signatures | |
Ren et al. | Cryptographic accumulator and its application: A survey | |
CN112989436B (zh) | 一种基于区块链平台的多重签名方法 | |
CN113179153B (zh) | 一种基于无证书的用户认证和密钥协商方法 | |
CN117499039B (zh) | 基于椭圆曲线公钥密码算法的区块链签名方法 | |
Shuang et al. | A new identity based blind signature scheme and its application | |
CN114065233A (zh) | 一种面向大数据和区块链应用的数字签名聚合方法 | |
CN112217629B (zh) | 一种云存储公开审计方法 | |
CN110492993B (zh) | 一种新的基于无证书群签名方法 | |
CN110932866B (zh) | 一种基于sm2数字签名算法的环签名生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |