CN112636915A - 基于国密sm2算法的批量签名验证方法、装置、设备及介质 - Google Patents

基于国密sm2算法的批量签名验证方法、装置、设备及介质 Download PDF

Info

Publication number
CN112636915A
CN112636915A CN202011359638.6A CN202011359638A CN112636915A CN 112636915 A CN112636915 A CN 112636915A CN 202011359638 A CN202011359638 A CN 202011359638A CN 112636915 A CN112636915 A CN 112636915A
Authority
CN
China
Prior art keywords
signature
batch
queue
verified
signature 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.)
Granted
Application number
CN202011359638.6A
Other languages
English (en)
Other versions
CN112636915B (zh
Inventor
邱炜伟
李伟
黄方蕾
张珂杰
胡麦芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Qulian Technology Co Ltd
Original Assignee
Hangzhou Qulian Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Qulian Technology Co Ltd filed Critical Hangzhou Qulian Technology Co Ltd
Priority to CN202011359638.6A priority Critical patent/CN112636915B/zh
Publication of CN112636915A publication Critical patent/CN112636915A/zh
Priority to PCT/CN2021/133336 priority patent/WO2022111608A1/zh
Application granted granted Critical
Publication of CN112636915B publication Critical patent/CN112636915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于国密SM2算法的批量签名验证方法,包括:通过hash队列获取基于国密SM2算法的待验签名并进行预处理;将预处理后的待验签名添加至批量验签通道中的前段队列;通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或第一数值和第二数值;将所述验签批次及其第一数值或者第一数值和第二数值添加至后段队列;通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作。本发明实现了国密SM2算法的批量验签,大大地提高了验签速度,保证了大量交易并发的业务场景下区块链的性能。

Description

基于国密SM2算法的批量签名验证方法、装置、设备及介质
技术领域
本发明涉及信息技术领域,尤其涉及一种基于国密SM2算法的批量签名验证方法、装置、设备及介质。
背景技术
作为区块链的根基技术之一,数字签名可以保证信息的完整性,同时还具有不可否认性。具体地,签名者使用私钥和待签名的消息摘要来生成签名数据,此后任何签名数据的接收方可根据公开的验签算法和公钥来计算出消息摘要,若计算出来的消息摘要与待签名的消息摘要一致时,则可判断私钥所有者已授权该消息,同时该消息在被签名后无法被否认和修改。
批量验签技术用于一次验证多个数字签名,优异的批量验签算法需同时具有高安全性和比多次验签更快的计算速度。1998年Naccache等人提出了基于DSA算法的批量验签算法,主要思路是加入一组较小的随机数来验证多次验签运算叠加后的等式是否成立。这一算法思路随后也被应用于ECDSA算法中。
SM2椭圆曲线公钥密码算法为国内自主定义的商用密码算法,与ECDSA算法相同,它们的安全性都是基于对椭圆曲线离散对数问题的求解。在SM2算法中需要对待签名消息进行预处理,通过串接用户的自身特性来提高签名算法的整体安全性和不可否认性。然而,现有技术中,区块链在使用SM2算法只能进行单次验签,验签速度慢,在大量交易并发的业务场景下无法有效保证区块链的性能。
发明内容
本发明实施例提供了一种基于国密SM2算法的批量签名验证方法、装置、设备及介质,以解决现有国密SM2算法的验签速度慢的问题。
一种基于国密SM2算法的批量签名验证方法,包括:
通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;
将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列;
通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值;
将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列;
通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果;
其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作。
可选地,所述通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名包括:
获取待验签名,所述待验签名包括待验消息;
对所述待验消息进行规范性校验,当所述待验消息符合预设规范时,根据签名类型获取消息摘要;
对所述消息摘要进行基于国密SM2算法的标准性校验;
当所述消息摘要符合基于国密SM2算法的标准时,判断所述消息摘要中是否存在预设标志位;
若所述消息摘要中存在预设标志位时,将所述待验签名添加至批量验证通道;
若所述消息摘要中不存在预设标志位时,将所述待验签名添加至单验签通道。
可选地,所述批量验签通道中包括多个前段队列,所述将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列包括:
对所述批量验签通道中的一个前段队列,判断所述前段队列中的待验签名个数是否小于预设的最小批量数;
当所述前段队列中的待验签名个数小于所述最小批量数时,将基于国密SM2算法的待验签名添加至所述前段队列的末尾,否则对所述批量验签通道中的下一个前段队列中的待验签名个数进行校验;
若所述批量验签通道中的所有前段队列的待验签名个数均大于或等于所述最小批量数时,获取待验签名个数最少的前段队列,将基于国密SM2算法的待验签名添加至所述待验签名个数最少的前段队列。
可选地,所述通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值包括:
当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点;
根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值;或者
通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值和第二数值包括:
当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点;
根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值;
根据每一待验签名对应的随机数、椭圆曲线点,计算所述验签批次对应的批量验签等式的第二数值。
可选地,所述批量验签通道中包括多个后段队列,所述将所述验签任务添加至后段队列包括:
获取验签任务个数最少的后段队列;
将所述验签任务添加至所述验签任务个数最少的后段队列。
可选地,所述通过所述后段队列按照所述验签任务中的第一数值执行验签操作,输出所述验签批次的验签结果包括:
当所述验签任务包括所述验签批次及其第一数值时,计算所述验签批次对应的批量验签等式的第二数值;
比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息;或者
所述通过所述后段队列按照所述验签任务中的第一数值和第二数值执行验签操作,输出所述验签批次的验签结果包括:
比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息。
可选地,所述待验签名包括签名数据(ri,σi)和公钥Qi
所述批量验签等式为:
Figure BDA0002803641990000051
其中,
Figure BDA0002803641990000052
表示批量验签等式的第一数值,Qi表示第i个待验签名对应的公钥,si表示第i个待验签名对应的随机数,ai表示第i个待验签名对应的第一系数,且ai=σi,bi表示第i个待验签名对应的第二系数,且bi=(σi+ri)modq,n表示预设的批量验签数目,G表示椭圆曲线的基点;
Figure BDA0002803641990000053
表示批量验签等式的第二数值,Ri表示第i个待验签名的椭圆曲线点,n表示预设的批量验签数目。
一种基于国密SM2算法的批量签名验证装置,包括:
预处理模块,用于通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;
第一排队模块,用于将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列;
计算模块,用于通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值;
第二排队模块,用于将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列;
验签模块,用于通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果;
其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上所述的基于国密SM2算法的批量签名验证方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的基于国密SM2算法的批量签名验证方法。
本发明实施例优化了国密SM2算法的验签方式,通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;将预处理后的待验签名排入批量验签通道中的前段队列;然后通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者第一数值和第二数值;将所述验签批次及其第一数值排入后段队列;最后通过所述后段队列按照所述验签任务执行验签操作,输出验签批次的验签结果;其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作;从而实现了国密SM2算法的批量验签,大大地提高了验签速度,有效地保证了大量交易并发的业务场景下区块链的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的基于国密SM2算法的批量签名验证方法的一流程图;
图2是本发明一实施例提供的基于国密SM2算法的批量签名验证方法中步骤S101的一流程图;
图3是本发明一实施例提供的基于国密SM2算法的批量签名验证方法中步骤S102的一流程图;
图4是本发明另一实施例提供的基于国密SM2算法的批量签名验证方法的一流程图;
图5是本发明另一实施例提供的基于国密SM2算法的批量签名验证方法的一流程图;
图6是本发明一实施例提供的基于国密SM2算法的批量签名验证方法中步骤S104的一流程图;
图7是本发明一实施例中基于国密SM2算法的批量签名验证装置的一原理框图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决现有技术中区块链在使用国密SM2算法时只能逐次验签,验签速度慢,无法有效保障在大量交易并发的业务场景下的区块链性能,本发明实施例优化了基于国密SM2算法的验签方式,对待验签名进行批量验证,同时使流水线以并行方式工作,有效地提高了基于国密SM2算法的验签速度。以下将对本实施例提供的基于国密算法的批量签名验证方法进行详细的描述,如图1所示,所述基于国密SM2算法的批量签名验证方法包括:
在步骤S101中,通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名。
在本实施例中,hash队列用于从系统总线中获取待验签名,并对所述待验签名进行预处理,以过滤掉不符合规范和国密SM2算法标准的待验签名。
可选地,作为本发明的一个优选示例,如图2所示,所述步骤S101包括:
在步骤S201中,获取待验签名,所述待验签名包括待验消息。
在步骤S202中,对所述待验消息进行规范性校验,当所述待验消息符合预设规范时,根据签名类型获取消息摘要。
在这里,规范性校验是指判断待验签名是否使用符合国家密码管理局发布的椭圆曲线公钥密码算法规范。根据国际共用还是国内专用,椭圆曲线公钥密码算法分为国际标准和国家标准,本发明实施例通过对待验签名中的待验消息进行规范性校验,以判断所述待验签名是否符合国密算法规范。当所述待验消息符合国密算法规范时,则根据签名类型计算对应的消息摘要,即待验消息的哈希值e=H(m')。
在步骤S203中,对所述消息摘要进行基于国密SM2算法的标准性校验。
本发明实施例是对国密SM2算法进行批量校验。因此在本实施例中,标准性校验是指校验算法是否符合SM2算法的标准,以筛选出可进行批量校验的待验签名,便于后续进行标志位判断及提高标志位判断的效率。
在步骤S204中,当所述消息摘要符合基于国密SM2算法的标准时,判断所述消息摘要中是否存在预设标志位。
在这里,本发明实施例通过增加标志位,来区别需要进行批量验签的待验签名和需要进行单次验签的待验签名。当所述消息摘要符合基于国密SM2算法的标准时,继续判断所述消息摘要中是否存在预设的标志位。若所述摘要消息中存在预设标志位,则进入批量验签,执行步骤S205;否则,若所述摘要消息中不存在预设标志位,则进入单次验签,执行步骤S206。
在步骤S205中,若所述消息摘要中存在预设标志位时,将所述待验签名添加至批量验证通道。
在步骤S206中,若所述消息摘要中不存在预设标志位时,将所述待验签名添加至单验签通道。
进一步地,若经过步骤S203之后,所述消息摘要不符合基于国密SM2算法的标准时,则直接进入单次验签,将所述待验签名排入单验签通道。
本发明实施例通过对所述待验签名进行预处理,筛选出使用国密SM2算法的待验签名,作为预处理后的待验签名,为后续进行批量验签做准备,有利于提高批量验签的速度。
在步骤S102中,将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列。
在本发明实施例中,所述批量验签通道包括若干个前段队列,每一个前段队列作为一个线程,用于进行参数预处理以及计算批量验签等式的第一数值。对于所述多个前段队列,本发明实施例通过对所述多个前段队列进行负载均衡,以提高参数预处理以及第一数值计算的速度。可选地,如图3所示,步骤S102还包括:
在步骤S301中,对所述批量验签通道中的一个前段队列,判断所述前段队列中的待验签名个数是否小于预设的最小批量数。
在这里,所述最小批量数是指一个前段队列在一个验签批次至少可同时进行验签的待验签名个数。在通过上述步骤S101得到预处理后的待验签名后,本发明实施例遍历所述批量验签通道中的每一个前段队列,统计前段队列当前正在排队的待验签名,得到前段队列对应的待验签名个数,并将所述待验签名个数与所述最小批量数进行比较,以找出当前较为空闲或者工作量较轻的前段队列。
在步骤S302中,当所述前段队列中的待验签名个数小于所述最小批量数时,将基于国密SM2算法的待验签名添加至所述前段队列的末尾,否则对所述批量验签通道中的下一个前段队列中的待验签名个数进行校验。
在比较过程中,当所述前段队列中的待验签名个数小于所述最小批量数时,表明所述前段队列较为空闲或者工作量较轻,则将预处理后的基于国密SM2算法的待验签名添加至所述前段队列的末尾,并结束遍历。
否则,所述前段队列中的待验签名个数大于或等于所述最小批量数时,则继续获取下一个前段队列,返回步骤S301,按照相同方式对所述下一个前段队列中的待验签名个数进行校验,直至遍历批量验签通道中的所有前段队列。
在步骤S303中,若所述批量验签通道中的所有前段队列的待验签名个数均大于或等于所述最小批量数时,获取待验签名个数最少的前段队列,将基于国密SM2算法的待验签名添加至所述待验签名个数最少的前段队列。
若遍历完所述批量验签通道中的所有前段队列后,所述前段队列中的待验签名个数均大于或等于所述最小批量数时,则比较所述前段队列对应的待验签名个数,从中选择待验签名个数最小值及其对应的前段队列,并将预处理后的基于国密SM2算法的待验签名添加至所述待验签名个数最小值对应的前段队列的末尾。
在这里,本发明实施例通过上述步骤S301至步骤S303对所述批量验签通道中的所有前段队列进行负载均衡,将预处理后的待验签名添加到当前较为空闲或者工作量较轻的前段队列,避免单个前段队列出现过载,有利于每一个前段队列最大程度地发挥作用,提高批量验签的安全性和可靠性。
在步骤S103中,通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值。
在这里,为了实现批量验签过程中各阶段的并行工作,提高批量验签的速度,本发明实施例将批量验签通道划分为前段队列和后段队列。
作为本发明的一个优选示例,所述前段队列用于进行批量验签的预处理以及计算批量验签等式的第一数值。在这里,所述批量验签的预处理包括建立验签批次,计算验签批次中每一个待验签名的各项参数。可选地,作为本发明的一个优选示例,如图4所示,步骤S103包括:
在步骤S103a中,当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点。
在这里,所述批量验签数目是指每一次批量验签时的待验签名个数。每一前段队列会统计本队列中当前正在排队的待验签名个数。当所述前段队列中的待验签名个数达到预设的批量验签数目时,则以队列中的所述待验签名作为一个验签批次,对每一个待验签名进行预处理,得到对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点。
本发明实施例采用基于国密SM2算法对消息进行签名,对于第i个待验签名,所述待验签名包括签名数据(ri,σi)和公钥Qi,其中,ri=(ei+xR,i)modq,σi=(1+xR,i)-1(k-xR,iri)modq,ei表示消息mi的消息摘要,xR,i表示椭圆曲线点的横坐标,k∈[1,q-1],素数q为椭圆曲线E的阶,所述公钥Qi为椭圆曲线E上的点。
在进行参数预处理时,本发明实施例采用64位的随机数si;从待验签名中得到公钥Qi,以及根据待验签名中的签名数据(ri,σi)产生第一系数ai和第二系数bi,其中ai=σi,bi=(σi+ri)modq。根据国密SM2算法,所述第i个待验签名的单次验签等式为(xR,i+ei)modq=ri,等价转换可以得到xR,i=(ri-ei)modq,可见椭圆曲线点为椭圆曲线上横坐标为(ri-ei)modq的点。在这里,对基于国密SM2的待验签名,若该待验签名验证允许批量执行,本发明实施例预先在签名开头划出一预设字节用于表示椭圆曲线点的纵坐标取值正负。因此,在计算椭圆曲线点时,本实施例将xR,i=(ri-ei)modq代入椭圆曲线方程,得到y2,然后根据签名开头的预设字节来设置开方后y的正负,从而得到椭圆曲线点的纵坐标yR,i,最后得到椭圆曲线点Ri的坐标,Ri=(xR,i,yR,i)。
在步骤S103b中,根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值。
在本发明实施例中,基于国密SM2算法的批量验签等式:
Figure BDA0002803641990000131
其中,
Figure BDA0002803641990000132
表示批量验签等式的第一数值。本实施例通过所述批量验签通道中的前段队列根据每一待验签名对应的随机数si、公钥Qi以及批量验签等式的第一系数ai和第二系数bi,按照上述公式中的
Figure BDA0002803641990000133
计算所述验签批次对应的批量验签等式的第一数值,其中,G表示椭圆曲线的基点,n表示预设的批量验签数目,也即所述验签批次包括n个待验签名。
作为本发明的另一个优选示例,所述前段队列用于进行批量验签的预处理以及计算批量验签等式的第一数值和第二数值。在这里,所述批量验签的预处理包括建立验签批次,计算验签批次中每一个待验签名的各项参数。可选地,作为本发明的一个优选示例,如图5所示,步骤S103包括:
在步骤S103A中,当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点。
在步骤S103B中,根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值。
其中,步骤S103A-S103B与图4实施例中所述的步骤S103a-S103b相同,具体请参见上述实施例的叙述,此处不再赘述。在本实施例中,所述步骤S103还包括:
在步骤S103C中,根据每一待验签名对应的随机数、椭圆曲线点,计算所述验签批次对应的批量验签等式的第二数值。
其中,所述第二数值是指基于国密SM2算法的批量验签等式中的等号另一边,即
Figure BDA0002803641990000141
在步骤S104中,将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列。
如前所述,本发明实施例将批量验签通道划分为前段队列和后段队列,所述后段队列用于判断验签批次是否验证通过。在前段队列完成参数预处理,得到每一待验签名对应的随机数si、椭圆曲线点的坐标Ri=(xR,i,yR,i)和第一数值后,本发明实施例进一步将每一待验签名对应的随机数si、椭圆曲线点的坐标Ri=(xR,i,yR,i)和第一数值也通过负载均衡方式传递给后段队列,由所述后段队列执行验证判断,以提高批量验签的速度。
可选地,作为本发明的一个优选示例,如图6所示,所述步骤S104中所述的将所述验签任务添加至后端队列还包括:
在步骤S601中,获取验签任务个数最少的后段队列。
在这里,本发明实施例统计每一个后段队列中当前的排队情况,得到队列中当前正在排队的验签任务个数,然后比较每一后段队列的验签任务个数,得到验签任务个数最小值及其对应的后段队列,即当前较为空闲或者工作量较轻的后段队列。
在步骤S602中,将所述验签任务添加至所述验签任务个数最少的后段队列。
在得到验签任务个数最少的后段队列后,本发明实施例将前段队列计算出来的验签批次中的每一待验签名对应的随机数、椭圆曲线点以及批量验签等式的第一数值组合成一个验签任务,添加至所述验签任务个数最少的后段队列的末尾,从而完成对后段队列的调度。或者,将前段队列计算出的批量验签等式的第一数值和第二数值组成一个验签任务,添加至所述验签任务个数最少的后段队列的末尾,从而完成对后段队列的调度。
在这里,本发明实施例通过上述步骤S501至步骤S502对所述批量验签通道中的所有后段队列进行负载均衡,将验签任务,添加到当前较为空闲或者工作量较轻的后段队列,由所述后段队列执行验证判断,避免单个后段队列出现过载,有利于每一个后段队列最大程度地发挥作用,提高批量验签的安全性和可靠性。
在步骤S105中,通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果。
在本发明实施例中,后段队列按照先进先出原则,根据队列中的每一个验签任务执行验签操作。
作为本发明的一个优选示例,如图4所示,所述步骤S105还包括:
在步骤S105a中,当所述验签任务包括所述验签批次及其第一数值时,计算所述验签批次对应的批量验签等式的第二数值。
在步骤S105b中,比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息。
本发明实施例通过所述后端队列按照验签任务计算该验签批次对应的批量验签等式的第二数值,其中,所述第二数值是指基于国密SM2算法的批量验签等式中的等号另一边,即
Figure BDA0002803641990000161
在得到基于国密SM2算法的批量验签等式的第一数值
Figure BDA0002803641990000162
和第二数值
Figure BDA0002803641990000163
之后,本发明实施例还通过所述后段队列比较所述第一数值
Figure BDA0002803641990000164
和第二数值
Figure BDA0002803641990000165
若两者相同时,则验证通过,该验签批次中所包含的待验签名均验证通过。否则,若所述第一数值
Figure BDA0002803641990000166
和第二数值
Figure BDA0002803641990000167
不相同时,则验证失败,将本验签批次所包含的待验签名依次加入单验签通道。
作为本发明的一个优选示例,如图5所示,所述步骤S105还包括:
在步骤S105A中,比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息。
其中,步骤S105A与上述步骤S105b相同,具体请参见上述实施例的叙述,此处不再赘述。
本发明实施例通过对批量验签流程拆分为多个阶段,包括规范性和标准型校验、参数预处理和第一数值计算、第二数值计算和验证判断,分别通过hash队列、批量验签通道中的前段队列、后段队列执行。其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列则可通过并行方式工作。比如在hash队列完成第i个验签批次的规范性和标准型校验后,所述第i个验签批次对应的待验签名会加入到前段队列,在所述前段队列可以对该第i个验签批次计算待验签名的各项参数和计算批量验签等式的第一数值或者第一数值和第二数值的同时,所述hash队列可以对第i+1个验签批次进行规范性和标准型校验;同理,当所述前段队列完成第i个验签批次的参数、第一数值的计算或者参数、第一数值和第二数值的计算后,所述第i个验签批次对应的参数和第一数值或者参数、第一数值和第二数值会加入到后段队列中,在所述后段队列对所述第i个验签批次进行验证判断的同时,所述前段队列可以对第i+1个验签批次进行参数、第一数值的计算或者参数、第一数值和第二数值的计算;从而实现了批量验签流程中的各个阶段的并行工作方式,有利于进一步提高批量验签的速度。
其中,所述批量验签等式的第二数值可以在前段队列完成计算,也可以在后段队列完成计算。若将所述批量验签等式的第二数值放在后段队列计算,能够有效地协调前段队列和后端队列的耗时,更有利于批量验签流程中的各个阶段的并行工作。
综上所述,本发明实施例优化了国密SM2算法的验签方式,通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;将预处理后的待验签名排入批量验签通道中的前段队列;然后通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者第一数值和第二数值;将所述验签批次及其第一数值排入后段队列;最后通过所述后段队列按照所述验签任务执行对应的验签操作,输出验签批次的验签结果;其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作;从而实现了国密SM2算法的批量验签,大大地提高了验签速度,有效地保证了大量交易并发的业务场景下区块链的性能。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于国密SM2算法的批量签名验证装置,该基于国密SM2算法的批量签名验证装置与上述实施例中基于国密SM2算法的批量签名验证方法一一对应。如图7所示,该基于国密SM2算法的批量签名验证装置包括预处理模块71、第一排队模块72、计算模块73、第二排队模块74、验签模块75。各功能模块详细说明如下:
预处理模块71,用于通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;
第一排队模块72,用于将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列;
计算模块73,用于通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值;
第二排队模块74,用于将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列;
验签模块75,用于通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果;
其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作。
可选地,所述预处理模块71包括:
获取单元,用于获取待验签名,所述待验签名包括待验消息;
第一校验单元,用于对所述待验消息进行规范性校验,当所述待验消息符合预设规范时,根据签名类型获取消息摘要;
第二校验单元,用于对所述消息摘要进行基于国密SM2算法的标准性校验;
标志判断模块,用于当所述消息摘要符合基于国密SM2算法的标准时,判断所述消息摘要中是否存在预设标志位;
添加单元,用于若所述消息摘要中存在预设标志位时,将所述待验签名添加至批量验证通道;若所述消息摘要中不存在预设标志位时,将所述待验签名添加至单验签通道。
可选地,所述批量验签通道中包括多个前段队列,所述第一排队模块72包括:
个数判断单元,用于对所述批量验签通道中的一个前段队列,判断所述前段队列中的待验签名个数是否小于预设的最小批量数;
第一排队单元,用于当所述前段队列中的待验签名个数小于所述最小批量数时,将基于国密SM2算法的待验签名添加至所述前段队列的末尾,否则对所述批量验签通道中的下一个前段队列中的待验签名个数进行校验;
第二排队单元,用于若所述批量验签通道中的所有前段队列的待验签名个数均大于或等于所述最小批量数时,获取待验签名个数最少的前段队列,将基于国密SM2算法的待验签名添加至所述待验签名个数最少的前段队列。
可选地,所述计算模块73包括:
参数计算单元,用于当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点;
第一数值计算单元,用于根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值;或者,
所述计算模块73包括:
参数计算单元,用于当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点;
第一数值计算单元,用于根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值;
第二数值计算单元,用于根据每一待验签名对应的随机数、椭圆曲线点,计算所述验签批次对应的批量验签等式的第二数值。
可选地,所述批量验签通道中包括多个后段队列,第二排队模块74包括:
获取单元,用于获取验签任务个数最少的后段队列;
添加单元,用于将所述验签任务添加至所述验签任务个数最少的后段队列。
可选地,所述验签模块75包括:
第一计算单元,用于当所述验签任务包括所述验签批次及其第一数值时,计算所述验签批次对应的批量验签等式的第二数值;
比较单元,用于比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息;或者
所述验签模块75包括:
比较单元,用于比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息。
可选地,所述待验签名包括签名数据(ri,σi)和公钥Qi
所述批量验签等式为:
Figure BDA0002803641990000211
其中,
Figure BDA0002803641990000212
表示批量验签等式的第一数值,Qi表示第i个待验签名对应的公钥,si表示第i个待验签名对应的随机数,ai表示第i个待验签名对应的第一系数,且ai=σi,bi表示第i个待验签名对应的第二系数,且bi=(σi+ri)modq,n表示预设的批量验签数目,G表示椭圆曲线的基点;
Figure BDA0002803641990000213
表示批量验签等式的第二数值,Ri表示第i个待验签名的椭圆曲线点,n表示预设的批量验签数目。
关于基于国密SM2算法的批量签名验证装置的具体限定可以参见上文中对于基于国密SM2算法的批量签名验证方法的限定,在此不再赘述。上述基于国密SM2算法的批量签名验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于国密SM2算法的批量签名验证方法。
在一个实施例中,提供了一种机器人,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;
将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列;
通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值;
将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列;
通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果;
其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于国密SM2算法的批量签名验证方法,其特征在于,包括:
通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;
将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列;
通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值;
将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列;
通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果;
其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作。
2.如权利要求1所述的基于国密SM2算法的批量签名验证方法,其特征在于,所述通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名包括:
获取待验签名,所述待验签名包括待验消息;
对所述待验消息进行规范性校验,当所述待验消息符合预设规范时,根据签名类型获取消息摘要;
对所述消息摘要进行基于国密SM2算法的标准性校验;
当所述消息摘要符合基于国密SM2算法的标准时,判断所述消息摘要中是否存在预设标志位;
若所述消息摘要中存在预设标志位时,将所述待验签名添加至批量验证通道;
若所述消息摘要中不存在预设标志位时,将所述待验签名添加至单验签通道。
3.如权利要求2所述的基于国密SM2算法的批量签名验证方法,其特征在于,所述批量验签通道中包括多个前段队列,所述将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列包括:
对所述批量验签通道中的一个前段队列,判断所述前段队列中的待验签名个数是否小于预设的最小批量数;
当所述前段队列中的待验签名个数小于所述最小批量数时,将基于国密SM2算法的待验签名添加至所述前段队列的末尾,否则对所述批量验签通道中的下一个前段队列中的待验签名个数进行校验;
若所述批量验签通道中的所有前段队列的待验签名个数均大于或等于所述最小批量数时,获取待验签名个数最少的前段队列,将基于国密SM2算法的待验签名添加至所述待验签名个数最少的前段队列。
4.如权利要求3所述的基于国密SM2算法的批量签名验证方法,其特征在于,所述通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值包括:
当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点;
根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值;或者
所述通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值和第二数值包括:
当所述前段队列中的待验签名个数达到预设的批量验签数目时,以所述批量验签数目的待验签名作为一个验签批次,对所述验签批次的每一待验签名进行预处理,得到每一待验签名对应的随机数、公钥、批量验签等式的第一系数和第二系数、椭圆曲线点;
根据每一待验签名对应的随机数、公钥以及批量验签等式的第一系数和第二系数,计算所述验签批次对应的批量验签等式的第一数值;
根据每一待验签名对应的随机数、椭圆曲线点,计算所述验签批次对应的批量验签等式的第二数值。
5.如权利要求4所述的基于国密SM2算法的批量签名验证方法,其特征在于,所述批量验签通道中包括多个后段队列,所述将所述验签任务添加至后段队列包括:
获取验签任务个数最少的后段队列;
将所述验签任务添加至所述验签任务个数最少的后段队列。
6.如权利要求5所述的基于国密SM2算法的批量签名验证方法,其特征在于,所述通过所述后段队列按照所述验签任务中的第一数值执行验签操作,输出所述验签批次的验签结果包括:
当所述验签任务包括所述验签批次及其第一数值时,计算所述验签批次对应的批量验签等式的第二数值;
比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息;或者
所述通过所述后段队列按照所述验签任务中的第一数值和第二数值执行验签操作,输出所述验签批次的验签结果包括:
比较所述第一数值与所述第二数值,当所述第一数值与所述第二数值相同时,输出验签批次验证通过的信息。
7.如权利要求1至6任一项所述的基于国密SM2算法的批量签名验证方法,其特征在于,所述待验签名包括签名数据(ri,σi)和公钥Qi
所述批量验签等式为:
Figure FDA0002803641980000041
其中,
Figure FDA0002803641980000042
表示批量验签等式的第一数值,Qi表示第i个待验签名对应的公钥,si表示第i个待验签名对应的随机数,ai表示第i个待验签名对应的第一系数,且ai=σi,bi表示第i个待验签名对应的第二系数,且bi=(σi+ri)modq,n表示预设的批量验签数目,G表示椭圆曲线的基点;
Figure FDA0002803641980000043
表示批量验签等式的第二数值,Ri表示第i个待验签名的椭圆曲线点,n表示预设的批量验签数目。
8.一种基于国密SM2算法的批量签名验证装置,其特征在于,所述装置包括:
预处理模块,用于通过hash队列获取待验签名,对所述待验签名进行预处理,得到基于国密SM2算法的待验签名;
第一排队模块,用于将基于国密SM2算法的待验签名添加至批量验签通道中的前段队列;
计算模块,用于通过所述前段队列以队列中的若干个待验签名作为一个验签批次,计算所述验签批次对应的批量验签等式的第一数值或者计算所述验签批次对应的批量验签等式的第一数值和第二数值;
第二排队模块,用于将所述验签批次及其第一数值作为一个验签任务或者将所述验签批次及其第一数值、第二数值作为一个验签任务,将所述验签任务添加至后段队列;
验签模块,用于通过所述后段队列按照所述验签任务中的第一数值或第一数值和第二数值执行验签操作,输出所述验签批次的验签结果;
其中,对于同一验签批次,所述hash队列、前段队列和后段队列以顺行方式工作,对于不同验签批次,所述hash队列、前段队列和后段队列以并行方式工作。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的基于国密SM2算法的批量签名验证方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于国密SM2算法的批量签名验证方法。
CN202011359638.6A 2020-11-27 2020-11-27 基于国密sm2算法的批量签名验证方法、装置、设备及介质 Active CN112636915B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011359638.6A CN112636915B (zh) 2020-11-27 2020-11-27 基于国密sm2算法的批量签名验证方法、装置、设备及介质
PCT/CN2021/133336 WO2022111608A1 (zh) 2020-11-27 2021-11-26 基于国密sm2算法的批量签名验证方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011359638.6A CN112636915B (zh) 2020-11-27 2020-11-27 基于国密sm2算法的批量签名验证方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112636915A true CN112636915A (zh) 2021-04-09
CN112636915B CN112636915B (zh) 2024-03-22

Family

ID=75306634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011359638.6A Active CN112636915B (zh) 2020-11-27 2020-11-27 基于国密sm2算法的批量签名验证方法、装置、设备及介质

Country Status (2)

Country Link
CN (1) CN112636915B (zh)
WO (1) WO2022111608A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022111608A1 (zh) * 2020-11-27 2022-06-02 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080226066A1 (en) * 2007-03-16 2008-09-18 Samsung Electronics Co., Ltd. Apparatus for batch verification and method using the same
US20090112956A1 (en) * 2005-03-31 2009-04-30 Seoul National University Industry Foundation Fast Batch Verification Method And Apparatus There-of
US20150281256A1 (en) * 2014-03-27 2015-10-01 Electronics And Telecommunications Research Institute Batch verification method and apparatus thereof
CN105681045A (zh) * 2016-01-14 2016-06-15 北京航空航天大学 盲签名方法和盲签名系统
CN108063758A (zh) * 2017-11-27 2018-05-22 众安信息技术服务有限公司 用于区块链网络的签名验证方法及区块链网络中的节点
CN108881279A (zh) * 2018-07-11 2018-11-23 陕西师范大学 一种基于无证书双重认证防护聚合签名的移动健康医疗传感器数据隐私保护方法
CN108881225A (zh) * 2018-06-19 2018-11-23 陕西师范大学 一种批量验证签名的车联网条件隐私保护方法
US20190020486A1 (en) * 2017-06-23 2019-01-17 Onboard Security, Inc. Digital Signature Technique
CN109614206A (zh) * 2018-10-25 2019-04-12 深圳壹账通智能科技有限公司 区块链事务处理的装置、方法及存储介质
KR20190041203A (ko) * 2017-10-12 2019-04-22 인하대학교 산학협력단 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
US20190171553A1 (en) * 2017-12-04 2019-06-06 Bank Of America Corporation Intelligent batch job testing
CN110011802A (zh) * 2019-02-27 2019-07-12 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统
CN110138562A (zh) * 2018-02-09 2019-08-16 腾讯科技(北京)有限公司 智能设备的证书签发方法、装置及系统
CN110365481A (zh) * 2019-07-04 2019-10-22 上海交通大学 加速国密sm2算法的优化实现系统及方法
CN111262707A (zh) * 2020-01-16 2020-06-09 余志刚 数字签名方法及验证方法、设备、存储介质
CN111478772A (zh) * 2020-06-22 2020-07-31 杭州趣链科技有限公司 一种流水线友好的签名和验签方法、设备及存储介质
CN111740843A (zh) * 2020-06-18 2020-10-02 成都卫士通信息产业股份有限公司 分布式EdDSA签名方法、装置、设备及存储介质
WO2020224251A1 (zh) * 2019-05-07 2020-11-12 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112636915B (zh) * 2020-11-27 2024-03-22 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质
CN112491560A (zh) * 2020-12-11 2021-03-12 武汉大学 一种支持批验证的sm2数字签名方法及介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090112956A1 (en) * 2005-03-31 2009-04-30 Seoul National University Industry Foundation Fast Batch Verification Method And Apparatus There-of
US20080226066A1 (en) * 2007-03-16 2008-09-18 Samsung Electronics Co., Ltd. Apparatus for batch verification and method using the same
US20150281256A1 (en) * 2014-03-27 2015-10-01 Electronics And Telecommunications Research Institute Batch verification method and apparatus thereof
CN105681045A (zh) * 2016-01-14 2016-06-15 北京航空航天大学 盲签名方法和盲签名系统
US20190020486A1 (en) * 2017-06-23 2019-01-17 Onboard Security, Inc. Digital Signature Technique
KR20190041203A (ko) * 2017-10-12 2019-04-22 인하대학교 산학협력단 내재적 인증서를 사용하는 전자서명에 대한 효율적인 서명 검증 방법
CN108063758A (zh) * 2017-11-27 2018-05-22 众安信息技术服务有限公司 用于区块链网络的签名验证方法及区块链网络中的节点
US20190171553A1 (en) * 2017-12-04 2019-06-06 Bank Of America Corporation Intelligent batch job testing
CN110138562A (zh) * 2018-02-09 2019-08-16 腾讯科技(北京)有限公司 智能设备的证书签发方法、装置及系统
CN108881225A (zh) * 2018-06-19 2018-11-23 陕西师范大学 一种批量验证签名的车联网条件隐私保护方法
CN108881279A (zh) * 2018-07-11 2018-11-23 陕西师范大学 一种基于无证书双重认证防护聚合签名的移动健康医疗传感器数据隐私保护方法
CN109614206A (zh) * 2018-10-25 2019-04-12 深圳壹账通智能科技有限公司 区块链事务处理的装置、方法及存储介质
CN110011802A (zh) * 2019-02-27 2019-07-12 武汉大学 一种高效的sm9两方协同生成数字签名的方法及系统
WO2020224251A1 (zh) * 2019-05-07 2020-11-12 深圳壹账通智能科技有限公司 区块链事务的处理方法、装置、设备及存储介质
CN110365481A (zh) * 2019-07-04 2019-10-22 上海交通大学 加速国密sm2算法的优化实现系统及方法
CN111262707A (zh) * 2020-01-16 2020-06-09 余志刚 数字签名方法及验证方法、设备、存储介质
CN111740843A (zh) * 2020-06-18 2020-10-02 成都卫士通信息产业股份有限公司 分布式EdDSA签名方法、装置、设备及存储介质
CN111478772A (zh) * 2020-06-22 2020-07-31 杭州趣链科技有限公司 一种流水线友好的签名和验签方法、设备及存储介质

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
孙荣燕;蔡昌曙;周洲;赵燕杰;杨金铭;: "国密SM2数字签名算法与ECDSA算法对比分析研究", 网络安全技术与应用, no. 02, pages 62 - 64 *
孙金奇;: "基于安卓系统的国密硬件加密系统设计与实现", 数字技术与应用, no. 10, pages 197 - 199 *
徐国愚;王颖锋;马小飞;王科锋;颜若愚;: "面向分级身份密码批验签的错误签名混合筛选算法", 计算机应用, no. 01, pages 223 - 227 *
赵臻;陈杰;张跃宇;党岚君;: "VANET中高效撤销的批量验证群签名方案", 密码学报, no. 03, pages 86 - 100 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022111608A1 (zh) * 2020-11-27 2022-06-02 杭州趣链科技有限公司 基于国密sm2算法的批量签名验证方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112636915B (zh) 2024-03-22
WO2022111608A1 (zh) 2022-06-02

Similar Documents

Publication Publication Date Title
CN108241968B (zh) 前置机参与区块链共识的方法
CN107657438B (zh) 一种区块链生成方法、数据验证方法、节点及系统
US20170075941A1 (en) Consensus system and method for adding data to a blockchain
CN107729137B (zh) 服务器、区块链验签解密的方法及存储介质
CN108960797B (zh) 区块生成及验证方法、装置、设备和存储介质
CN102136043A (zh) 一种计算机系统及其度量方法
CN110990790B (zh) 一种数据处理方法及设备
CN116455559B (zh) 软硬协同高速密码设备实现方法、装置及电子设备
CN116405929B (zh) 适用于集群通讯的安全访问处理方法及系统
CN112636915A (zh) 基于国密sm2算法的批量签名验证方法、装置、设备及介质
CN113364595B (zh) 电网隐私数据签名聚合方法、装置和计算机设备
CN111970112B (zh) 基于zynq异构计算平台的以太坊部署方法及系统
CN113158176A (zh) 基于sm2签名的公钥解析方法、装置、设备及存储介质
CN115795522A (zh) 多核并发的高速密码引擎数据处理方法及装置
CN115314227A (zh) 一种充电桩接入认证方法、系统和设备
CN112560721B (zh) 无感知模型切换方法、装置、电子设备及存储介质
CN110601834B (zh) 一种共识方法、装置、设备及可读存储介质
CN115296812A (zh) 一种基于区块链的电力数据存储节点高可靠性恢复与校验机制
CN111190831B (zh) 区块链共识算法的鲁棒性分析方法及区块链系统
Tanygin et al. The Method for Reducing Memory Costs for Messages Processing
CN114979166B (zh) 共识节点确定方法、装置及存储介质
CN117132280B (zh) 一种基于Web3技术的分布式交易验证系统
CN115392912B (zh) 随机数生成方法、系统、设备及存储介质
CN111738726B (zh) 基于区块链的资源核验方法、装置和计算机设备
CN117081744B (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