CN111478772B - 一种流水线友好的签名和验签方法、设备及存储介质 - Google Patents
一种流水线友好的签名和验签方法、设备及存储介质 Download PDFInfo
- Publication number
- CN111478772B CN111478772B CN202010574911.0A CN202010574911A CN111478772B CN 111478772 B CN111478772 B CN 111478772B CN 202010574911 A CN202010574911 A CN 202010574911A CN 111478772 B CN111478772 B CN 111478772B
- Authority
- CN
- China
- Prior art keywords
- node
- signature
- witness
- correct
- leader
- 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
Images
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/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
-
- 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/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/3255—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 group based signatures, e.g. ring or threshold signatures
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种流水线友好的签名和验签方法、设备及存储介质,属于数据加密技术领域。包括所述Witness节点通过基础签名算法生成公私钥对:私钥x和公钥X,将公钥X发送到其他Witness节点;所述Witness节点选择随机数v,将V发送给Leader节点;接收Leader节点发来的C;根据C和公钥X,通过基础签名算法和消息散列算法,计算消息摘要h,进而计算ps,将ps发给Leader节点;将线性验签结构的签名算法构建为聚合签名;具有门限签名的特点;对流水线机制友好,不会因为协议某个步骤的失败而打断流水线过程;显著降低验签压力。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及一种流水线友好的签名和验签方法、设备及存储介质。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,存储的信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块的节点上,任何节点可见,从而保证其不可伪造和篡改。联盟区块链与普通区块链(现有的区块链也会有涉及隐私保护机制的区块链)的根本区别之一是需要提供隐私保护机制,通常情况下,该机制是通过密码学中的签名加密和验签签名来实现的。目前,区块链事务被打包成块的形式发送给区块链节点,由节点解开块并获取其中的事务,然后对每个事务进行验签并按序执行对应事务的提交过程。由于现有区块链事务的提交是采用顺序化的方式执行,因此,在系统较繁忙且产生事务较多时,事务提交的速度往往滞后于事务产生的速度,降低了事务处理效率,因此采用流水线技术。
流水线技术是指计算机技术中普遍采用的一种并行处理技术,在一个批处理中,将一个流程按时序划分为几部分,然后并行处理各个部分实现加速优化。例如计算机处理器的指令流水线、Hotstuff共识协议的流水线处理等。但是如果某一部分的失败需要变更执行流程,例如某程序某一步骤的失败导致需要重新从头执行该条程序,那么就会破坏流水线过程,流水线友好是指不会导致这样的破坏的一种程序特性。
门限签名方案是指由 n 个成员组成一个签名群体,该群体有一对公钥和私钥,群体内大于等于T个合法且诚实的成员组合可以代表群体用群私钥进行签名,任何人可利用该群体的公钥进行签名验证;这里T是门限值,只有大于等于T个合法成员才能代表群体进行签名,群体中任何T-1个或更少的成员不能代表该群体进行签名,同时任何成员不能假冒其他成员进行签名。采用门限签名方式可以实现权力分配,避免滥用职权。
现有区块链采用的门限签名大部分是通过BLS等需要交互的签名算法构造而来,但是BLS基于双线性对,需要大量的运算,会消耗节点大量的CPU时间从而成为性能瓶颈,从而制约了区块链的进一步应用。例如Facebook公司的区块链产品Libra,使用了Hotstuff的变种共识算法,但是因为快速的Ed25519聚合签名不是流水线友好的,而只能采用BLS或者Ed25519的批量验签,仅从验签上进行优化导致网络通信的量没有减少,不能解决网络负担。如何找到一种流水线友好的高效门限签名方法是联盟区块链更好用于实际生产所要面临的一项挑战。
发明内容
发明要解决的技术问题
为了克服上述技术问题,本发明提供了一种流水线友好的签名和验签方法、设备及存储介质。将线性验签结构的签名算法构建为聚合签名;具有门限签名的特点;对流水线机制友好,不会因为协议某个步骤的失败而打断流水线过程;显著降低验签压力。
技术方案
为解决上述问题,本发明提供的技术方案为:
一种流水线友好的签名方法,适用于Witness节点,所述Witness节点通过基础签名算法生成公私钥对:私钥x和公钥X,将公钥X发送到其他Witness节点;所述Witness节点选择随机数v,将V发送给Leader节点;接收Leader节点发来的C;根据C和公钥X,通过基础签名算法和消息散列算法,计算消息摘要h,进而计算ps,将ps发给Leader节点;其中,V=v*G;ps=h*x+v;所述Leader节点由一个以上的所述Witness节点选出;根据所述基础签名算法的类型确定至少包括生成元G在内的相关参数;在第一约定时间内,若Leader节点没有接收到Witness节点发来的V,则视为对应的Witness节点放弃投票,Leader节点为对应的Witness节点随机生成V;若Leader节点接收到Witness节点发来的V,则视为对应的Witness节点参与投票;对所有V求和相加得到C,发送到Witness节点;在第二约定时间内,若Leader节点没有收到相应Witness节点发来的ps,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;Leader节点验证已经收到的ps是否正确;若ps不正确,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;若ps正确,则视为对应的Witness节点为有效票,位掩码Mask对应标记位处标记为1;计算聚合签名(C,s,Mask),s为N个正确的ps之和,N为ps正确的Witness节点个数,用以验签时与门限值T比对大小。
可选的,所述基础签名算法为Elgmal签名算法及变体、或Schnorr签名算法及变体,或SM2签名验签算法,或ED25519签名验签算法中的一种。
可选的,所述Leader节点验证已经收到的ps是否正确,进一步包括:Leader节点判断ps*G得到的值与h*X+V得到的值是否相等,若相等,则ps正确;若不相等,则ps不正确。
可选的,所述消息散列算法为密码学安全的哈希算法。
可选的,所述的Leader节点为Witness节点,或非Witness节点。
一种流水线友好的签名方法,适用于Leader节点,根据以上任一项所述的一种流水线友好的签名方法,包括:在第一约定时间内,若Leader节点没有接收到Witness节点发来的V,则视为对应的Witness节点放弃投票,Leader节点为对应的Witness节点随机生成V;若Leader节点接收到Witness节点发来的V,则视为对应的Witness节点参与投票;对所有V求和相加得到C,发送到Witness节点;在第二约定时间内,若Leader节点没有收到相应Witness节点发来的ps,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;Leader节点验证已经收到的ps是否正确;若ps不正确,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;若ps正确,则视为对应的Witness节点为有效票,位掩码Mask对应标记位处标记为1;计算聚合签名(C,s,Mask),s为N个正确的ps之和,N为ps正确的Witness节点个数,用以验签时与门限值T比对大小。
可选的,所述的Leader节点为Witness节点,或非Witness节点。
一种验签方法,根据以上任一项所述的一种流水线友好的签名方法,包括:若s*G得到的值与h*AggX+C得到的值相等,且N≥T;则验签通过;否则,验签不通过;其中, s为N个正确的ps之和,N为ps正确的Witness节点个数,T为门限值;AggX为N个ps正确的Witness节点的公钥X之和;C为所有ps正确的Witness节点的V之和;V=v*G。
此外,本发明提供了一种流水线友好的签名和验签的设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。
相应地,本发明提供了一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上任一项所述的方法。
有益效果
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
将线性验签结构的签名算法构建为聚合签名;具有门限签名的特点;对流水线机制友好,不会因为协议某个步骤的失败而打断流水线过程;显著降低验签压力。
附图说明
图1为本发明的一种流水线友好的签名和验签的设备结构示意图。
图2是本发明实施例提供的一种流水线友好的签名方法中各角色和密钥关系图。
图3是本发明实施例提供的一种流水线友好的签名方法流程图。
图4为本发明一实施例提供的一种流水线友好的签名方法流程图。
图5为本发明另一实施例提供的一种流水线友好的签名方法流程图。
图6为本发明一实施例提供的一种验签方法流程图。
图7为本发明一实施例提供的一种流水线友好的签名方法与现有的比对场景示意图。
具体实施方式
为进一步了解本发明的内容,结合附图及实施例对本发明作详细描述。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。本发明中所述的第一、第二等词语,是为了描述本发明的技术方案方便而设置,并没有特定的限定作用,均为泛指,对本发明的技术方案不构成限定作用。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例1
一种流水线友好的签名方法,适用于Witness节点,如图4所示,包括:S101、所述Witness节点通过基础签名算法生成公私钥对:私钥x和公钥X,将公钥X发送到其他Witness节点;S102、所述Witness节点选择随机数v,将V发送给Leader节点;S103、接收Leader节点发来的C,根据C和公钥X,通过基础签名算法和消息散列算法,计算消息摘要h,进而计算ps;S104、将ps发给Leader节点;
其中,V=v*G; ps=h*x+v;所述Leader节点由一个以上的所述Witness节点选出;根据所述基础签名算法的类型确定至少包括生成元G在内的相关参数;在第一约定时间内,若Leader节点没有接收到Witness节点发来的V,则视为对应的Witness节点放弃投票,Leader节点为对应的Witness节点随机生成V;若Leader节点接收到Witness节点发来的V,则视为对应的Witness节点参与投票;对所有V求和相加得到C,发送到Witness节点;在第二约定时间内,若Leader节点没有收到相应Witness节点发来的ps,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;Leader节点验证已经收到的ps是否正确;若ps不正确,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;若ps正确,则视为对应的Witness节点为有效票,位掩码Mask对应标记位处标记为1;计算聚合签名(C,s,Mask),s为N个正确的ps之和,N为ps正确的Witness节点个数,用以验签时与门限值T比对大小。
作为本实施例的可选实施方式,所述基础签名算法为Elgmal签名算法及变体、或者Schnorr签名算法及变体,或SM2签名验签算法,或ED25519签名验签算法中的一种。作为本实施例的可选实施方式,所述消息散列算法为密码学安全的哈希算法,如:SHA512,SM3,或SHA256等。作为本实施例的可选实施方式,所述的Leader节点为Witness节点,或非Witness节点。作为本实施例的可选实施方式,两个所述Witness节点之间交换公钥X,并发送给Leader节点,用以计算AggX,AggX为N个ps正确的Witness节点的公钥X之和。AggX在验证聚合签名的时候充当公钥的作用。作为本实施例的可选实施方式,所述Leader节点验证已经收到的ps是否正确,进一步包括:Leader节点判断ps*G得到的值与h*X+V得到的值是否相等,若相等,则ps正确;若不相等,则ps不正确。
作为本实施例的可选实施方式,所述消息散列算法为密码学安全的哈希算法。作为本实施例的可选实施方式,所述的Leader节点为Witness节点,或非Witness节点。本实施例提供的一种改进的流水线友好的门限签名方法,可以将线性验签结构的签名算法构建为聚合签名、具有门限签名的特点、对流水线机制友好,不会因为协议某个步骤的失败而打断流水线过程、并且显著降低验签压力。
此外,本实施例提出了一种流水线友好的签名方法,如图5所示,适用于Leader节点,根据以上任一项所述的一种流水线友好的签名方法,包括:S201、在第一约定时间内,若Leader节点没有接收到Witness节点发来的V,则视为对应的Witness节点放弃投票,Leader节点为对应的Witness节点随机生成V;若Leader节点接收到Witness节点发来的V,则视为对应的Witness节点参与投票;S202、对所有V求和相加得到C,发送到Witness节点;S203、在第二约定时间内,若Leader节点没有收到相应Witness节点发来的ps,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;S204、Leader节点验证已经收到的ps是否正确;若ps不正确,则S205、视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;若ps正确,则S206、视为对应的Witness节点为有效票,位掩码Mask对应标记位处标记为1;S207、计算聚合签名(C,s,Mask),s为N个正确的ps之和,N为ps正确的Witness节点个数,用以验签时与门限值T比对大小。
作为本实施例的可选实施方式,所述的Leader节点为Witness节点,或非Witness节点。
最后本实施例还提出了一种验签方法,如图6所示,根据以上任一项所述的一种流水线友好的签名方法,包括:S301、若s*G得到的值与h*AggX+C得到的值相等,且N≥T;则302、验签通过;否则,303、验签不通过;其中,s为N个正确的ps之和,N为ps正确的Witness节点个数,T为门限值;AggX为N个ps正确的Witness节点的公钥X之和;C为所有ps正确的Witness节点的V之和;V=v*G。通过统计位掩码Mask中标记位处值为1的个数之和可得N。
对应所采用的技术方案如下:
第一方面,本发明实施例提供一种改进的流水线友好的门限签名方法,应用于区块链网络技术中,包括:将线性验签结构的签名算法构建为聚合签名,具有门限签名的特点;对HotStuff的流水线机制友好,不会因为协议某个步骤的失败而打断HotStuff的流水线过程;可以显著降低验签服务的性能压力,提高处理验签的速度。
可选的实施方式是,将线性验签结构的签名算法构建为聚合签名,经过如下的步骤完成签名过程:
S1:初始阶段,首先需要若干身份称为Witness(Witness节点的简称,下同)的签名者推选出一个Leader(Leader节点的简称,下同),Leader并不限定必须是Witness之一,也不限定必须不是Witness之一,一个Witness可以同时也是Leader;
S2:所有参与者选择出基础签名算法和协商好的消息散列算法,对于基础签名算法,Elgmal签名算法或者该算法的任何变体都可以,例如ED25519签名算法或者Schnorr签名算法等,该种算法的相关参数应该具有一个作为公共参数的循环群,称生成元为G;
S3:所有Witness生成该算法的公私钥对x和X,并互相交换公钥X,如图3所示的两两交换公钥,Leader计算AggX,AggX为N个ps正确的Witness节点的公钥X之和;
S4:签名阶段,每个Witness选择随机数v,计算V=vG,vG表示v个G相加,发送V给Leader;
S5:Leader计算全部的V的和,称为C,将C返回给全部Witness;如图3所示;
S6:Witness接受到C后计算部分签名ps,具体方法依赖选择的基础签名算法,例如为ED25519,首先利用C、X、待签名的消息和共同选择的消息摘要算法计算消息摘要h,然后计算ps=hx+v,将ps发送给Leader;
S7:Leader根据收到的ps计算最终的聚合签名(C,s),s是对ps的求和。
可选的实施方案是,本实施例还具有门限签名的特点,在一次有N 个Witness的签名流程中,如果设置了门限为T(T≤N),则Leader只有在收齐N个Witness的部分签名才能生成验证成功的合法聚合签名;可选的实施方案是,本实施例还具有对流水线友好的特点,具体表现为,协议中的任何一步发生错误,都不需要从头执行协议,而总能达到最终步骤,产生一个合法的或者不合法的签名;可选的实施方案是,本实施例还具有高效的验签方法,对于N个Witness的部分签名聚合而来的聚合签名,只需要一次验签就可以完成验证,相比较于选择的基础签名算法效率提高N倍,具体的验签方法取决于选择何种基础签名算法。
结合图2和3,Witness1和Witness2是Witness节点中的任意2个,本实施例可选的另一实施方案为:有两种角色,分别为Leader和Witness。本实施例假设使用Ed25519签名方法作为选择的基础签名算法,但是本实施例不限于该种选择,任何具有Elgmal签名算法的变体都可以作为被选择的基础算法。
首先各参与者生成ed25519公私钥对,私钥记为x,公钥记为X,满足关系X=xG。参与者互相交换公钥,需要确保公钥来自对应私钥的持有者,例如可以通过提供签名来完成证明。因为任何人都拥有其他人的公钥,因此任何人都可以计算聚合公钥aggX,aggX是所有X的求和。
可选的实施方式是,每个Witness选择随机数v,并计算对应的V=vG,然后将V传送给Leader。如图3所示,Witness1选择随机数v1,计算V1=v1G;Witness2选择随机数v2,计算V2=v2G。本步骤称为commit。可选的实施方式是,Leader节点聚合V得到C,C是V的求和,并将c发送给Witness,如图3所示,C=V1+V2,本步骤称为challenge。可选的实施方式是,Witness得到C后,计算部分签名ps=hx+v,如图3所示,ps1=hx+v1,ps2=hx+ v2,其中h是对C和待签名消息等的消息摘要值。将ps1,ps2发送给Leader,本步骤称为response。最后,Leader求和ps1,ps2得到s,得到签名(C,s)。
如图7所示,本申请实施例的技术方案在第一约定时间内完成commit,在第二约定时间内完成challenge,即使若干节点没有回应,若分别超过第一约定时间和第二约定时间,则重新发起签名流程;所以本实施例所述的签名方法与现有的相比,对流水线机制友好,不会因为协议某个步骤的失败而打断流水线过程,并且显著降低验签压力。
实施例2
本实施例提供了一种流水线友好的签名和验签的设备,所述设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如以上所述的方法。
此外,本实施例提供了一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上实施例1所述的方法。
图1为本发明一实施例提供的一种流水线友好的签名和验签的设备的结构示意图。
如图1所示,作为另一方面,本实施例还提供了一种流水线友好的签名和验签的设备,包括一个或多个中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有设备操作所需的各种程序和数据。CPU501、ROM502以及RAM503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本申请公开的实施例,上述任一实施例描述的方法可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述任一实施例描述的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
作为又一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本申请的方法。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种流水线友好的签名方法,适用于Witness节点,其特征在于:
所述Witness节点通过基础签名算法生成公私钥对:私钥x和公钥X,将公钥X发送到其他Witness节点;
所述Witness节点选择随机数v,将V发送给Leader节点;
接收Leader节点发来的C;
根据C和公钥X,通过基础签名算法和消息散列算法,计算消息摘要h,进而计算ps,将ps发给Leader节点;
其中,V=v*G; ps=h*x+v;所述Leader节点由一个以上的所述Witness节点选出;根据所述基础签名算法的类型确定至少包括生成元G在内的相关参数;
在第一约定时间内,若Leader节点没有接收到Witness节点发来的V,则视为对应的Witness节点放弃投票,Leader节点为对应的Witness节点随机生成V;
若Leader节点接收到Witness节点发来的V,则视为对应的Witness节点参与投票;
对所有V求和相加得到C,发送到Witness节点;
在第二约定时间内,若Leader节点没有收到相应Witness节点发来的ps,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;
Leader节点验证已经收到的ps是否正确;
若ps不正确,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;
若ps正确,则视为对应的Witness节点为有效票,位掩码Mask对应标记位处标记为1;
计算聚合签名(C,s,Mask),s为N个正确的ps之和,N为ps正确的Witness节点个数,用以验签时与门限值T比对大小。
2.根据权利要求1所述的一种流水线友好的签名方法,其特征在于:
所述基础签名算法为Elgmal签名算法及变体、或Schnorr签名算法及变体,或SM2签名验签算法,或ED25519签名验签算法中的一种。
3.根据权利要求1所述的一种流水线友好的签名方法,其特征在于:
所述Leader节点验证已经收到的ps是否正确,进一步包括:Leader节点判断ps*G得到的值与h*X+V得到的值是否相等,若相等,则ps正确;若不相等,则ps不正确。
4.根据权利要求1所述的一种流水线友好的签名方法,其特征在于:
所述消息散列算法为密码学安全的哈希算法。
5.根据权利要求1-4任一项所述的一种流水线友好的签名方法,其特征在于:
所述的Leader节点为Witness节点,或非Witness节点。
6.一种流水线友好的签名方法,适用于Leader节点,其特征在于:根据权利要求1-5任一项所述的一种流水线友好的签名方法,包括:
在第一约定时间内,若Leader节点没有接收到Witness节点发来的V,则视为对应的Witness节点放弃投票,Leader节点为对应的Witness节点随机生成V;
若Leader节点接收到Witness节点发来的V,则视为对应的Witness节点参与投票;
对所有V求和相加得到C,发送到Witness节点;
在第二约定时间内,若Leader节点没有收到相应Witness节点发来的ps,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;
Leader节点验证已经收到的ps是否正确;
若ps不正确,则视为对应的Witness节点为无效票,位掩码Mask对应标记位处标记为0;
若ps正确,则视为对应的Witness节点为有效票,位掩码Mask对应标记位处标记为1;
计算聚合签名(C,s,Mask),s为N个正确的ps之和,N为ps正确的Witness节点个数,用以验签时与门限值T比对大小。
7.根据权利要求6所述的一种流水线友好的签名方法,其特征在于:
所述的Leader节点为Witness节点,或非Witness节点。
8.一种验签方法,其特征在于:根据权利要求1-7任一项所述的一种流水线友好的签名方法
若s*G得到的值与h*AggX+C得到的值相等,且N≥T;则验签通过;否则,验签不通过;
其中,s为N个正确的ps之和,N为ps正确的Witness节点个数,T为门限值;AggX为N个ps正确的Witness节点的公钥X之和;C为所有ps正确的Witness节点的V之和;V=v*G。
9.一种流水线友好的签名和验签的设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-8中任一项所述的方法。
10.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010574911.0A CN111478772B (zh) | 2020-06-22 | 2020-06-22 | 一种流水线友好的签名和验签方法、设备及存储介质 |
PCT/CN2020/113766 WO2021258549A1 (zh) | 2020-06-22 | 2020-09-07 | 一种流水线友好的签名和验签方法、设备及存储介质 |
JP2022524668A JP7407925B2 (ja) | 2020-06-22 | 2020-09-07 | フローラインフレンドリーな署名と署名検証方法、設備および記憶媒体 |
US17/962,821 US20230033216A1 (en) | 2020-06-22 | 2022-10-10 | Pipeline-friendly signature and verification method, device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010574911.0A CN111478772B (zh) | 2020-06-22 | 2020-06-22 | 一种流水线友好的签名和验签方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111478772A CN111478772A (zh) | 2020-07-31 |
CN111478772B true CN111478772B (zh) | 2020-10-16 |
Family
ID=71765397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010574911.0A Active CN111478772B (zh) | 2020-06-22 | 2020-06-22 | 一种流水线友好的签名和验签方法、设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230033216A1 (zh) |
JP (1) | JP7407925B2 (zh) |
CN (1) | CN111478772B (zh) |
WO (1) | WO2021258549A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111478772B (zh) * | 2020-06-22 | 2020-10-16 | 杭州趣链科技有限公司 | 一种流水线友好的签名和验签方法、设备及存储介质 |
CN114124396B (zh) * | 2020-09-01 | 2023-12-01 | 中国电信股份有限公司 | 信息传输方法、系统和存储介质 |
CN112636915B (zh) * | 2020-11-27 | 2024-03-22 | 杭州趣链科技有限公司 | 基于国密sm2算法的批量签名验证方法、装置、设备及介质 |
CN114826684B (zh) * | 2022-03-31 | 2023-06-16 | 西安电子科技大学 | 支持高效隐私保护的去中心化众包方法、系统及终端 |
CN117220884B (zh) * | 2023-09-05 | 2024-09-13 | 上海雷龙信息科技有限公司 | 一种数字签名交互验证方法、设备和介质 |
CN117499039B (zh) * | 2023-10-09 | 2024-03-26 | 贵州大学 | 基于椭圆曲线公钥密码算法的区块链签名方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
CN111221639A (zh) * | 2020-01-09 | 2020-06-02 | 杭州趣链科技有限公司 | 一种区块链平台的区块流水线执行方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3338088B2 (ja) * | 1992-09-10 | 2002-10-28 | 株式会社東芝 | 電子署名装置及び電子署名システム |
JPH10153956A (ja) * | 1996-09-27 | 1998-06-09 | Toshiba Corp | 電子署名方法、電子署名システム及び、記録媒体 |
EP4148642A1 (en) * | 2014-05-09 | 2023-03-15 | Veritaseum, Inc. | Devices, systems, and methods for facilitating low trust and zero trust value transfers |
CN117611331A (zh) * | 2016-02-23 | 2024-02-27 | 区块链控股有限公司 | 用于使用区块链在点对点分布式账簿上有效转移实体的方法及系统 |
CN108711212B (zh) * | 2018-05-21 | 2021-03-09 | 中国联合网络通信集团有限公司 | 投票存证方法、装置及系统 |
CN110943838A (zh) * | 2018-09-21 | 2020-03-31 | 上海派链信息科技有限公司 | 区块链网络中确定区块的共识的方法、设备和存储介质 |
IT201800011129A1 (it) * | 2018-12-14 | 2020-06-14 | Toi Srl | Sistema, dispositivo e metodo per trasferire in maniera sicura informazioni da un apparecchio a una blockchain |
CN110322246A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市网心科技有限公司 | 一种区块链交易信息的优化方法及相关设备 |
CN110505064A (zh) * | 2019-07-26 | 2019-11-26 | 深圳市网心科技有限公司 | 基于EC-Schnoor签名算法的门限投票方法、系统及相关设备 |
CN111478772B (zh) * | 2020-06-22 | 2020-10-16 | 杭州趣链科技有限公司 | 一种流水线友好的签名和验签方法、设备及存储介质 |
-
2020
- 2020-06-22 CN CN202010574911.0A patent/CN111478772B/zh active Active
- 2020-09-07 WO PCT/CN2020/113766 patent/WO2021258549A1/zh active Application Filing
- 2020-09-07 JP JP2022524668A patent/JP7407925B2/ja active Active
-
2022
- 2022-10-10 US US17/962,821 patent/US20230033216A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107968708A (zh) * | 2017-11-10 | 2018-04-27 | 财付通支付科技有限公司 | 生成签名的方法、装置、终端及服务器 |
CN111221639A (zh) * | 2020-01-09 | 2020-06-02 | 杭州趣链科技有限公司 | 一种区块链平台的区块流水线执行方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021258549A1 (zh) | 2021-12-30 |
CN111478772A (zh) | 2020-07-31 |
US20230033216A1 (en) | 2023-02-02 |
JP2022553995A (ja) | 2022-12-27 |
JP7407925B2 (ja) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111478772B (zh) | 一种流水线友好的签名和验签方法、设备及存储介质 | |
US20230370253A1 (en) | System and method for securely sharing cryptographic material | |
Xu et al. | CSP-E2: An abuse-free contract signing protocol with low-storage TTP for energy-efficient electronic transaction ecosystems | |
US11349648B2 (en) | Pre-calculation device, method, computer-readable recording medium, vector multiplication device, and method | |
CN111478775B (zh) | 一种交互式聚合签名方法、设备及存储介质 | |
CN112417489B (zh) | 数字签名的生成方法、装置和服务器 | |
CN111385096A (zh) | 一种区块链网络、签名处理方法、终端及存储介质 | |
CN111740821B (zh) | 建立共享密钥的方法及装置 | |
CN112380287B (zh) | 一种分布式可信声明生成方法和系统、设备及存储介质 | |
Lin et al. | Efficient vehicle ownership identification scheme based on triple-trapdoor chameleon hash function | |
CN116033414B (zh) | 一种VANETs隐私保护方法和设备 | |
Lai et al. | Blockchain for achieving accountable outsourcing computations in edge computing | |
CN107947944B (zh) | 一种基于格的增量签名方法 | |
WO2023159849A1 (zh) | 一种数字签名方法、计算机设备及介质 | |
CN114389822B (zh) | 基于区块链的签名生成方法、装置、设备和存储介质 | |
US20220075668A1 (en) | Distributed computing system and method of operation thereof | |
CN113489690A (zh) | 强抗密钥暴露的在线/离线外包数据完整性审计方法 | |
Shi et al. | Identity-based undetachable digital signature for mobile agents in electronic commerce | |
CN116861390B (zh) | 基于聚合签名的跨区块链批量交易认证方法和装置 | |
Jiang et al. | Enhancing Copyright Protection Through Blockchain and Ring Signature Algorithm From Lattice | |
CN118537017B (zh) | 一种基于指定验证方非交互零知识证明的交易验证方法 | |
CN118381660B (zh) | 一种区域现金中心行为零信任体系构建方法与系统 | |
CN118555077B (zh) | 适配器签名生成方法和设备 | |
CN117278213B (zh) | 基于多项式承诺的方法、电子设备及可读存储介质 | |
CN114978545B (zh) | 面向异构联盟链的跨链原语生成方法以及相关装置 |
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 |