CN116938475B - 一种环签名方法、装置、设备及存储介质 - Google Patents
一种环签名方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116938475B CN116938475B CN202311159761.7A CN202311159761A CN116938475B CN 116938475 B CN116938475 B CN 116938475B CN 202311159761 A CN202311159761 A CN 202311159761A CN 116938475 B CN116938475 B CN 116938475B
- Authority
- CN
- China
- Prior art keywords
- signature
- ring
- component
- random number
- public key
- 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 56
- 238000004364 calculation method Methods 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 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/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/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
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)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种环签名方法、装置、设备及存储介质。在本申请的一些实施例中,获取环签名对应曲线的基点值;确定环成员集群中各环成员分别对应的公钥值;当环成员集群中任一签名成员有签名需求时,基于第一随机数和基点值,确定签名成员的第一签名分量;基于第二随机数、第三随机数计算环成员集群中除签名成员外的环成员的第二签名分量;基于第一签名分量、第二签名分量和待签名信息执行环签名任务。第一签名分量和第二签名分量在计算的时候不需要待签名信息参与,可以提前准备好第一签名分量和第二签名分量。若接收到待签名信息,再执行签名任务。能够有效节约或者避免在执行签名任务时所耗费的签名随机数准备的时间。
Description
技术领域
本申请签名技术领域,尤其涉及一种环签名方法、装置、设备及存储介质。
背景技术
在密码学中,环形签名是一种数字签名,可以由一组用户中的任何成员执行,每个用户都有密钥。因此,一个带有环签名的消息是由特定人群中的某个人背书的。环签名的安全特性之一是,不能通过计算确定哪个组成员生成了该签名。
然而,传统的环签名方案中,有签名需求的环成员执行签名任务。在执行签名任务过程中,通常是在明确待签名文件后才能实际启动签名工作。在执行签名任务过程中所涉及到参数较多,计算过程繁琐,计算效率低。
发明内容
本申请的多个方面提供一种环签名方法、装置及存储介质,用以为提前计算与待签名信息无关的相关参数,从而提高数据处理效率。
第一方面,本申请实施例提供一种环签名方法,所述方法包括:
获取环签名对应曲线的基点值;
确定环成员集群中各环成员分别对应的公钥值;
当环成员集群中任一签名成员有签名需求时,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量;
基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
可选地,确定环成员集群中各环成员分别对应的公钥值之后,还包括:
根据签名需求,从环成员集群中选择用于参与所述环签名任务的多个所述环成员;
基于多个所述环成员对应的公钥值组成集合。
可选地,基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量之后,还包括:
将所述环成员分别对应的公钥值或所述集合、所述第一签名分量和所述第二签名分量存储在所述签名成员对应的存储空间。
可选地,所述基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务,包括:
当环成员集群中任一签名成员有签名需求时,确定所述签名成员对应的所述存储空间;
若接收到所述待签名信息,则从所述存储空间中获取预先存储的所述环成员分别对应的公钥值、所述第一签名分量和所述第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
可选地,所述基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量,包括:
基于所述第二随机数和所述基点值确定第一临时公钥;
基于所述第三随机数和所述公钥值确定第二临时公钥;
根据所述第一临时公钥和所述第二临时公钥的差值,确定各所述环成员的所述第二签名分量。
可选地,所述曲线为SM2曲线。
可选地,所述基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务,包括:
基于所述待签名信息和第一签名分量、第二签名分量计算得到所述环成员对应的哈希值;
基于所述哈希值与第三随机数ci计算得到所述签名成员的第一签名子数值和第二签名子数值;
基于所述第一签名子数值、所述第二签名子数值和第二签名分量计算得到环签名。
第二方面,本申请实施例提供一种环签名装置,应用于服务端,所述装置包括:
获取模块,用于获取环签名对应曲线的基点值;
第一确定模块,用于确定环成员集群中各环成员分别对应的公钥值;
第二确定模块,用于当环成员集群中任一签名成员有签名需求时,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量;
计算模块,用于基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量;
签名模块,用于基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
第三方面,在本申请的一个实施例中,提供了一种电子设备,包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现第一方面所述的方法。
第四方面,在本申请的一个实施例中,提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面所述的方法。
在本申请的一些实施例中,环签名集群中有很多环成员,在执行签名任务的时候,每次有一个成员作为签名成员执行对待签名信息的签名任务,但是同时需要其他环成员参与。因此,在执行对待签名信息的签名任务之前,可以预先计算所需参数。具体来说,在确定环签名对应曲线的基点值之后,进一步收集环成员集群中各个环成员的公钥值。进而,基于第一随机数和基点值计算得到执行当前签名任务的第一签名分量;基于第二随机数、第三随机数计算环成员集群中处理签名成员之外的其他环成员的第二签名分量。第一签名分量和第二签名分量在计算的时候不需要待签名信息参与,因此,可以提前准备好第一签名分量和第二签名分量。在准备好之后,若接收到待签名信息,则可以直接执行相应的签名任务。能够有效节约或者避免在执行签名任务时所耗费的签名随机数准备的时间,尤其是当环成员集群中较多成员参与签名的情况下,能够有效提高签名效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的一种环签名方法的流程示意图;
图2为本申请实施例提供的第二签名分量计算方法的流程示意图;
图3为本申请实施例提供的执行环签名任务的方法流程示意图;
图4为本申请实施例提供的一种环签名装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
在执行签名任务的时候,由环成员集群中任意一个签名成员执行签名任务。具体来说,在签名成员执行签名任务的时候,利用签名成员自己的私钥以及环成员群组中其他环成员的公钥共同对待签名信息进行签名。可知,在执行环签名的时候所涉及的成员较多,签名计算的工作量较大,尤其是当环成员集群中所包含的参与签名任务的环成员数量较多的情况下,接收到待签名信息之后,开始执行签名任务,先利用待签名信息和随机数计算哈希值,进而再计算签名。由于涉及到环签名集群中多个环成员,计算过程相对复杂,计算工作量大,严重影响计算效率,签名效率低。因此,需要一种能够有效提高环签名任务执行效率的方案。
术语解释:
环签名(ring signature)是一种数字签名方案,环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。
SM2:SM2密码算法是国产密码算法标准,是一种基于椭圆曲线密码(ECC,EllipticCurve Cryptography)的公钥密码,椭圆曲线密码是非对称密码的一种,具有更高的安全性与更低的计算复杂性。SM2密码算法实际上是在ECC的基础上制定的一套密码系统标准。且相比于RSA算法、DSA算法等具有更高的密钥强度,因此在信息安全领域具有广泛的应用。
为了使得环签名过程工作效率提高,特提出本申请技术方案。以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种环签名方法的流程示意图。本方法主要应用于服务端,这里所说的服务端可以是本地服务端也可以是云服务器等,在本申请技术方案中并不做具体限制。本申请环签名方法具体包括如下步骤:
101:获取环签名对应曲线的基点值。
102:确定环成员集群中各环成员分别对应的公钥值。
103:当环成员集群中任一签名成员有签名需求时,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量。
104:基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量。
105:基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
在实际应用中,在确定环签名成员对应的曲线,以及该曲线上的基点值G后,可以预先计算与待签名信息不直接相关参数,在相关参数准备齐全之后,再执行针对待签名信息的签名任务。具体来说,
签名者选择一个公钥集合,该公钥集合中一般来说包含环成员集合中所有环成员的公钥的集合,当然,也可以从环成员集合中选择部分环成员参与到本次签名任务中。公钥是可以对外公开的,但是各个环成员的私钥则不对外公开,分别由各个环成员自己保存。比如,得到的公钥的集合为。
准备好公钥集合之后,在接收到待签名信息之前,可以先准备签名所需的相关参数。举例来说,
例如,假设环签名对应的椭圆曲线的基点值为G,在环成员集群中有环成员数量为n。其中任意一个环成员i随机的选择一个私钥,其中,/>,/>为整数集合,换言之,/>是从/>中选择的任一整数。进而,计算该环成员i的公钥/>。在完成所有环成员的公钥计算任务后,可以得到该环成员集合对应的公钥集合。
接下来,利用已经得到的基点值G和公钥集合进一步计算第一签名分量和第二签名分量。
第一签名分量计算过程如下:从整数中选择一个第一随机数rs,。进而,基于第一随机数rs和基点值G计算得到第一签名分量RS,公式如下:。
通过上述技术方案可知,上述计算过程并不需要待签名信息参与其中,因此,可以提前计算出第一签名分量。这里所说的提前计算,可以理解为在接收到待签名信息之前或者开始执行针对待签名信息的签名任务之前,不会占用签名任务的时间,从而能够有效提高执行复杂环签名任务的时候的工作效率。
第二签名分量计算过程比第一签名分量计算过程复杂,下面具体举例说明。如图2为本申请实施例提供的第二签名分量计算方法的流程示意图。从图2中可以看到具体包括如下步骤:
201:基于所述第二随机数和所述基点值确定第一临时公钥。
202:基于所述第三随机数和所述公钥值确定第二临时公钥。
203:根据所述第一临时公钥和所述第二临时公钥的差值,确定各所述环成员的所述第二签名分量。
先选择第二随机数zi,其中,,/>为整数集合,换言之,zi是从中选择的任一整数。进而,由于基点值G为已知值,可以直接计算第一临时公钥/>。
选择第三随机数ci,其中,,/>为整数集合,换言之,ci是从中选择的任一整数。进而,由于对应的公钥值Pi为已知值,可以直接计算第二临时公钥/>。
在得到第一临时公钥和第二临时公钥/>之后,可以进一步计算第二签名分量Ri,具体公式如下:/>。
通过上述技术方案可知,上述计算过程并不需要待签名信息参与其中,因此,可以提前计算出第二签名分量。这里所说的提前计算,可以理解为在接收到针对待签名信息之前或者开始执行针对待签名信息的签名任务之前,不会占用签名任务的时间,从而能够有效提高执行复杂环签名任务的时候的工作效率。
在本申请的一个或者多个实施例中,确定环成员集群中各环成员分别对应的公钥值之后,还包括:
根据签名需求,从环成员集群中选择用于参与所述环签名任务的多个所述环成员;
基于多个所述环成员对应的公钥值组成集合。
在实际应用中,进行环签名的时候,参与环签名的环成员数量越多,安全性越高,同时也意味着计算量越大,计算效率越低,对计算资源和计算能力要求越高。因此,可以根据实际签名需求进行选择。这里所说的签名需求是平衡环签名安全需求和计算资源能力需求。比如,计算能力充足是,可以环成员集合中所有环成员都参与签名任务;又比如,计算能力有限时,可以从环成员集合中选择部分环成员参与签名任务。
在完成对环成员的选择之后,可以将所选择的环成员的公钥值组合到一起得到前文所说的公钥集合。
通过上述方案,合理的选择环成员参与签名任务,能够在满足签名需求的同时尽可能提高签名效率。
在本申请的一个或者多个实施例中,基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量之后,还包括:
将所述环成员分别对应的公钥值或所述集合、所述第一签名分量和所述第二签名分量存储在所述签名成员对应的存储空间。
在实际应用中,环成员集群中有很多环成员,而且每个环成员都有执行签名任务的可能性。因此,通过上述实施例所得到的公钥值、第一签名分量、第二签名分量,都是由各个有签名需求的签名成员自主生成的,可以分别存储自己(包括当前有签名需求的签名成员)的存储空间。当该环成员作为签名成员需要执行签名任务的时候,不需要再准备这些参数,可以直接从自己的存储空间中获取到并快速执行签名任务。
需要说明的是,为了便于区分,各个环成员的存储空间是相互独立的,分别存储各自的公钥值、第一签名分量、第二签名分量。此外,根据前文签名需求可知,若公钥值有很多,可以选择全部公钥值存储,也可以选择部分公钥值组成的集合。
通过上述方案,在执行环签名任务之前预先存储所需的各个参数,方便后续执行签名任务的时候快速获取,从而能够有效提高环签名效率。
在本申请的一个或者多个实施例中,所述基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务,包括:
当环成员集群中任一签名成员有签名需求时,确定所述签名成员对应的所述存储空间;
若接收到所述待签名信息,则从所述存储空间中获取预先存储的所述环成员分别对应的公钥值、所述第一签名分量和所述第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
当环成员集群中任一签名成员有签名需求时,进一步根据成员标识确定签名成员,并查找到该签名成员对应的存储空间。进一步地,在接收到待签名信息之后,会从该存储空间中提取到预先存储的所述环成员分别对应的公钥值、所述第一签名分量和所述第二签名分量,然后再执行对应的签名任务。
当然,也可以不预先存储。当签名成员有签名需求的时候,就立即计算第一签名分量和第二签名分量。在计算完成后等待待签名信息,进而执行签名任务,同样能够有效提高签名效率。
如图3为本申请实施例提供的执行环签名任务的方法流程示意图。从图3中可以看到:
301:基于所述待签名信息和第一签名分量、第二签名分量计算得到所述环成员对应的哈希值。
302:基于所述哈希值与第三随机数计算得到所述签名成员的第一签名子数值和第二签名子数值。
303:基于所述第一签名子数值、所述第二签名子数值和第二签名分量计算得到环签名。
基于待签名信息m和第一签名分量Rs、第二签名分量Ri,计算级联关系,而后计算哈希值,计算公式为:,包含RS。需要说明的是,在计算哈希值的时候,先计算待签名信息m与第一签名分量Rs、第二签名分量Ri之间的级联关系,再计算哈希值c,不需要计算每个环成员的哈希值,能够有效减小计算哈希值的次数。
进而,利用计算得到的哈希值c与所有的第三随机数ci进行异或运算,计算第一签名子数值,以及计算第二签名子数值。需要说明的是,在本方案中,对所有第三随机数ci进行异或运算,而不需要对所有环成员进行哈希计算,能够降低运算工作量,并有效提高计算效率。这里得到的第一签名子数值和第二签名子数值后,可以进一步计算签名,具体公式如下:输出签名{(Ri,zi,ci )|i=1,2…L}。
通过上述方案可知,在执行针对信息m的签名任务之前,已经准备好第一签名分量和第二签名分量,能够有效缩短执行签名任务的工作时间。
这里需要说明的是,所述曲线为SM2曲线。是一种SM2椭圆曲线公钥密码算法。
在完成签名任务之后,进一步签名成员还要验证签名。具体步骤如下:
计算,验证/>是否成立,如果不成立,则报错并退出签名任务。若成立,则继续验证/>是否对所有/>都成立,如果不成立,则报错并退出;若成立,则验证成功。
如图4为本申请实施例提供的一种环签名装置的结构示意图。从图5中可以看到包括如下模块:
获取模块41,用于获取环签名对应曲线的基点值。
第一确定模块42,用于确定环成员集群中各环成员分别对应的公钥值。
第二确定模块43,用于当环成员集群中任一签名成员有签名需求时,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量。
计算模块44,用于基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量。
签名模块45,用于基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
第一确定模块42,用于根据签名需求,从环成员集群中选择用于参与所述环签名任务的多个所述环成员;
基于多个所述环成员对应的公钥值组成集合。
计算模块44,用于将所述环成员分别对应的公钥值或所述集合、所述第一签名分量和所述第二签名分量存储在所述签名成员对应的存储空间。
签名模块45,用于在接收到环成员集群中的任一签名成员的签名请求后,确定所述签名成员对应的所述存储空间;
若接收到所述待签名信息,则从所述存储空间中获取预先存储的所述环成员分别对应的公钥值、所述第一签名分量和所述第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
计算模块44,用于基于所述第二随机数和所述基点值确定第一临时公钥;
基于所述第三随机数和所述公钥值确定第二临时公钥;
根据所述第一临时公钥和所述第二临时公钥的差值,确定各所述环成员的所述第二签名分量。
可选地,所述曲线为SM2曲线。
签名模块45,用于基于所述待签名信息、第二签名分量计算得到所述环成员对应的哈希值;
基于所述哈希值与第三随机数计算得到所述签名成员的第一签名子数值和第二签名子数值;
基于所述第一签名子数值、所述第二签名子数值和第二签名分量计算得到环签名。
本申请一个实施例还提供一种电子设备。该电子设备为计算单元中主节点电子设备。如图5为本申请实施例提供的一种电子设备的结构示意图。该电子设备包括存储器501、处理器502及通信组件503;其中,
所述存储器501,用于存储程序;
所述处理器502,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
获取环签名对应曲线的基点值;
确定环成员集群中各环成员分别对应的公钥值;
当环成员集群中任一签名成员有签名需求时,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量;
基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
处理器502,用于根据签名需求,从环成员集群中选择用于参与所述环签名任务的多个所述环成员;
基于多个所述环成员对应的公钥值组成集合。
处理器502,用于将所述环成员分别对应的公钥值或所述集合、所述第一签名分量和所述第二签名分量存储在所述签名成员对应的存储空间。
处理器502,用于当环成员集群中任一签名成员有签名需求时,确定所述签名成员对应的所述存储空间;
若接收到所述待签名信息,则从所述存储空间中获取预先存储的所述环成员分别对应的公钥值、所述第一签名分量和所述第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
处理器502,用于基于所述第二随机数和所述基点值确定第一临时公钥;
基于所述第三随机数和所述公钥值确定第二临时公钥;
根据所述第一临时公钥和所述第二临时公钥的差值,确定各所述环成员的所述第二签名分量。
可选地,所述曲线为SM2曲线。
处理器502,用于基于所述待签名信息、第二签名分量计算得到所述环成员对应的哈希值;
基于所述哈希值和与第三随机数计算得到所述签名成员的第一签名子数值和第二签名子数值;
基于所述第一签名子数值、所述第二签名子数值和第二签名分量计算得到环签名。
上述存储器501可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
进一步地,本实施例中的所述处理器502可以具体是:可编程交换处理芯片,该可编程交换处理芯片中配置有数据复制引擎,能对接收到的数据进行复制。
上述处理器502在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。进一步,如图5所示,电子设备还包括:电源组件504等其它组件。
本申请实施例还提供一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行图1和图3对应实施例所述的方法。
基于上述实施例可知,环签名集群中有很多环成员,在执行签名任务的时候,每次有一个成员作为签名成员执行对待签名信息的签名任务,但是同时需要其他环成员参与。因此,在执行对待签名信息的签名任务之前,可以预先计算所需参数。具体来说,在确定环签名对应曲线的基点值之后,进一步收集环成员集群中各个环成员的公钥值。进而,基于第一随机数和基点值计算得到执行当前签名任务的第一签名分量;基于第二随机数、第三随机数计算环成员集群中处理签名成员之外的其他环成员的第二签名分量。第一签名分量和第二签名分量在计算的时候不需要待签名信息参与,因此,可以提前准备好第一签名分量和第二签名分量。在准备好之后,若接收到待签名信息,则可以直接执行相应的签名任务。能够有效节约或者避免在执行签名任务时所耗费的签名随机数准备的时间,尤其是当环成员集群中较多成员参与签名的情况下,能够有效提高签名效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中创建的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪存储体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种环签名方法,其特征在于,所述方法包括:
获取环签名对应曲线的基点值;
确定环成员集群中各环成员分别对应的公钥值;
当环成员集群中任一签名成员有签名需求时,在执行环签名任务之前,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量;
基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量;
若接收到环签名任务请求,则基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
2.根据权利要求1所述的方法,其特征在于,确定环成员集群中各环成员分别对应的公钥值之后,还包括:
根据签名需求,从环成员集群中选择用于参与所述环签名任务的多个所述环成员;
基于多个所述环成员对应的公钥值组成集合。
3.根据权利要求2所述的方法,其特征在于,基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量之后,还包括:
将所述环成员分别对应的公钥值或所述集合、所述第一签名分量和所述第二签名分量存储在所述签名成员对应的存储空间。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务,包括:
当环成员集群中任一签名成员有签名需求时,确定所述签名成员对应的所述存储空间;
若接收到所述待签名信息,则从所述存储空间中获取预先存储的所述环成员分别对应的公钥值、所述第一签名分量和所述第二签名分量;
基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
5.根据权利要求1所述的方法,其特征在于,所述基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量,包括:
基于所述第二随机数和所述基点值确定第一临时公钥;
基于所述第三随机数和所述公钥值确定第二临时公钥;
根据所述第一临时公钥和所述第二临时公钥的差值,确定各所述环成员的所述第二签名分量。
6.根据权利要求1所述的方法,其特征在于,所述曲线为SM2曲线。
7.根据权利要求1所述的方法,其特征在于,所述基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务,包括:
基于所述待签名信息和第一签名分量、第二签名分量计算得到所述环成员对应的哈希值;
基于所述哈希值与第三随机数计算得到所述签名成员的第一签名子数值和第二签名子数值;
基于所述第一签名子数值、所述第二签名子数值和第二签名分量计算得到环签名。
8.一种环签名装置,其特征在于,所述装置包括:
获取模块,用于获取环签名对应曲线的基点值;
第一确定模块,用于确定环成员集群中各环成员分别对应的公钥值;
第二确定模块,用于当环成员集群中任一签名成员有签名需求时,在执行环签名任务之前,基于第一随机数和所述基点值,确定所述签名成员的第一签名分量;
计算模块,用于基于第二随机数、第三随机数计算所述环成员集群中除所述签名成员外的所述环成员的第二签名分量;
签名模块,用于若接收到环签名任务请求,则基于所述第一签名分量、所述第二签名分量和待签名信息执行环签名任务。
9.一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至7中任一项所述的方法。
10.一种电子设备,包括存储器及处理器;其中,
所述存储器,用于存储程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现上述权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311159761.7A CN116938475B (zh) | 2023-09-08 | 2023-09-08 | 一种环签名方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311159761.7A CN116938475B (zh) | 2023-09-08 | 2023-09-08 | 一种环签名方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116938475A CN116938475A (zh) | 2023-10-24 |
CN116938475B true CN116938475B (zh) | 2023-12-19 |
Family
ID=88386236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311159761.7A Active CN116938475B (zh) | 2023-09-08 | 2023-09-08 | 一种环签名方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116938475B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258851A1 (zh) * | 2019-06-26 | 2020-12-30 | 创新先进技术有限公司 | 采用环签名的机密区块链交易的实现方法及装置 |
CN115664675A (zh) * | 2022-10-20 | 2023-01-31 | 牛津(海南)区块链研究院有限公司 | 基于sm2算法的可追踪环签名方法、系统、设备及介质 |
CN116566626A (zh) * | 2023-07-11 | 2023-08-08 | 北京信安世纪科技股份有限公司 | 环签名方法和设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7533270B2 (en) * | 2002-04-15 | 2009-05-12 | Ntt Docomo, Inc. | Signature schemes using bilinear mappings |
CN107453865B (zh) * | 2017-07-18 | 2020-09-11 | 众安信息技术服务有限公司 | 一种保护数据发送源隐私的多方数据共享方法及系统 |
-
2023
- 2023-09-08 CN CN202311159761.7A patent/CN116938475B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020258851A1 (zh) * | 2019-06-26 | 2020-12-30 | 创新先进技术有限公司 | 采用环签名的机密区块链交易的实现方法及装置 |
CN115664675A (zh) * | 2022-10-20 | 2023-01-31 | 牛津(海南)区块链研究院有限公司 | 基于sm2算法的可追踪环签名方法、系统、设备及介质 |
CN116566626A (zh) * | 2023-07-11 | 2023-08-08 | 北京信安世纪科技股份有限公司 | 环签名方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116938475A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824996B2 (en) | Parachain data synchronization method, device and storage medium | |
CN109165945B (zh) | 代表节点设备选举方法、装置、计算机设备及存储介质 | |
US10067810B2 (en) | Performing transactions between application containers | |
US11055277B2 (en) | Integrity verification method, apparatus, and system and device for data in a blockchain-type ledger | |
CN110798308A (zh) | 一种区块链的签名方法和系统 | |
WO2020199713A1 (zh) | 数据验证方法、系统、装置及设备 | |
CN113301114B (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN110958249B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN110187831B (zh) | 区块链联盟链的区块数据存储系统及方法 | |
US20230033216A1 (en) | Pipeline-friendly signature and verification method, device, and storage medium | |
CN107423942B (zh) | 一种业务流转的方法及装置 | |
US10790968B2 (en) | Ledger verification method and apparatus, and device | |
CN111640018B (zh) | 一种区块链交易存在性验证方法及装置 | |
CN111401904B (zh) | 联盟链中的共识方法和系统 | |
CN112487091A (zh) | 一种确定区块链共识节点的方法及装置 | |
CN111339551B (zh) | 数据的验证方法及相关装置、设备 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
US8719622B2 (en) | Recording and preventing crash in an appliance | |
CN110460471B (zh) | 一种超级节点竞选方法、装置及存储介质 | |
CN116938475B (zh) | 一种环签名方法、装置、设备及存储介质 | |
US10979233B2 (en) | Monitoring time certificate generation requests | |
CN111143041B (zh) | 一种数据一致性方法、分布式协调器及中央协调器 | |
CN117194756A (zh) | 数据处理方法、装置及存储介质 | |
US20230259930A1 (en) | Cross-chain transaction processing method and apparatus, electronic device, and storage medium | |
CN109389271B (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 |