一种基于SM2的批量验证方法及系统技术方案

技术编号:26653235 阅读:53 留言:0更新日期:2020-12-09 00:56
本发明专利技术公开了一种基于SM2的批量验证方法及系统,其中的方法由验证者B首先针对不同签名者A

【技术实现步骤摘要】
一种基于SM2的批量验证方法及系统
本专利技术涉及计算机网络安全和密码协议
,具体涉及一种基于SM2的批量验证方法及系统。
技术介绍
电子现金在近年来广泛使用,商家或消费者需要大量的验证银行签署的电子货币,确保签署信息的安全性与正确性。当大量的电子现金进行数字签名的时候,会大大降低整个系统的效率,因此,现有技术中的方法存在验签效率低的技术问题。
技术实现思路
本专利技术提出一种基于SM2的批量验证方法及系统,可以加速不同签名者验证数字签名的速度,针对不同签名者实现SM2一次批量验证多个数字签名,尤其当签名数据量非常大的时刻,批量验证显得尤为重要,能够满足系统的安全性和高效的需求。本专利技术提供了一种基于SM2的批量验证方法,应用于验证者B和不同的签名者Ai,该方法包括:S1:验证者B接收签名者发送的签名后的消息其中,表示待签名的消息,表示签名者Ai的第一随机计算结果和第二随机计算结果,表示签名者Ai产生的签名消息;S2:验证者B根据签名后的消息生成中间结果(d,R,w),其中,d表示根据待签名的消息计算出的哈希结果,R表示根据不同签名者的第一随机计算结果得出的结果,w表示根据不同签名者的第二随机计算结果得出的结果;S3:验证者B根据第一随机计算结果和第二随机计算结果,获得验签参数;S4:验证者B基于签名者的公钥、w和验签参数计算数字签名批量验证值R';S5:验证者B将签名批量验证值R'与根据不同签名者的第一随机计算结果得出的结果R进行比较,如果若R=R',数字签名批验证成功,否则验证不成功。在一种实施方式中,S2具体包括:S2.1:验证者B采用密码杂凑函数获得不同签名者Ai的杂凑值并与拼接得到其中表示不同签名者Ai具有长度为比特的可辨别标识;是由整数转换而成的两个字节;a、b为椭圆曲线方程y2=x2+ax+b的参数;xG、yG表示G的坐标;G=(x,y)表示E上n阶的基点,表示公钥的坐标;S2.2:验证者B针对不同签名者得到的拼接结果进行哈希运算,得到哈希值Hv表示消息摘要长度为v比特的哈希函数;S2.3:验证者B对计算得出所有哈希值进行累加运算,得到S2.4:验证者B对不同签名者Ai发送的进行累加运算,得到S2.5:验证者B对不同签名者Ai发送的进行累加运算,得到在一种实施方式中,S3具体包括:验证者B对不同签名者Ai发送的进行加法运算,得到验签参数n表示一个随机数。在一种实施方式中,在S3之后,所述方法还包括:判断验签参数是否为0,如果为0,则验证不通过。在一种实施方式中,S4具体包括:S4.1:验证者B根据签名者的公钥、w、验签参数以及G计算椭圆曲线上新的点:其中,G=(x,y),是E上n阶的基点,为验签参数、为签名者的公钥;S4.2:验证者B计算数字签名批量验证值R',R'=(d+x)modn,n表示基点G的阶,为一个随机数。基于同样的专利技术构思,本专利技术第二方面提供了一种基于SM2的批量验证系统,应用于验证者B和不同的签名者Ai,该系统包括:接收模块,用于接收签名者发送的签名后的消息其中,表示待签名的消息,表示签名者Ai的第一随机计算结果和第二随机计算结果,表示签名者Ai产生的签名消息;中间结果生成模块,用于根据签名后的消息生成中间结果(d,R,w),其中,d表示根据待签名的消息计算出的哈希结果,R表示根据不同签名者的第一随机计算结果得出的结果,w表示根据不同签名者的第二随机计算结果得出的结果;验签参数计算模块,用于根据第一随机计算结果和第二随机计算结果,获得验签参数;数字签名批量验证值计算模块,用于基于签名者的公钥、w和验签参数计算数字签名批量验证值R';验证模块,用于将签名批量验证值R'与根据不同签名者的第一随机计算结果得出的结果R进行比较,如果若R=R',数字签名批验证成功,否则验证不成功。本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:本专利技术提供的一种基于SM2的批量验证方法,验证者在接收到不同签名者发送的签名后的消息后,会根据签名后的消息中内容生成对应的中间结果,其中中间结果包括根据待签名的消息计算出的哈希结果d、根据不同签名者的第一随机计算结果得出的结果R以及根据不同签名者的第二随机计算结果得出的结果w;然后根据第一随机计算结果和第二随机计算结果来计算得到验签参数,再根据签名者的公钥、根据不同签名者的第二随机计算结果得出的结果w和验签参数来计算数字签名批量验证值,由于在计算数字签名批量验证值时,w是根据不同签名者的第二随机计算结果计算得出的,验签参数也是根据不同签名者的第一随机计算结果和第二随机计算结果来计算得到的,那么对于多个不同的签名者,仅需要计算一次,则可以实现对多个签名者的批量验证,相比于现有的方法,需要逐个针对每一个签名者进行计算来说,大大减少了计算量,提高了验证效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术提供的一种基于SM2的批量验证方法的具体流程图。具体实施方式本专利技术针对现有技术中验证签名的效率较低的问题,提出了一种基于SM2的批量验证方法及系统。本专利技术的主要构思如下:首先,验证者B针对不同签名者Ai(i=1,2,···,l)生成的分别进行累加运算,得到相对应的值(d,R,w)。然后,验证者B通过使用签名者的公钥计算数字签名批量验证值R'。最后,验证者B批量验证签名对于不同签名者Ai(i=1,2,···,l)生成的与验证者B计算得到的R'进行比较。若R=R',数字签名批验证成功,否则验证不成功。为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。实施例一本专利技术实施例提供了一种基于SM2的批量验证方法,应用于验证者B和不同的签名者Ai,i表示签名者的编号,该方法包括:S1:验证者B接收签名者发送的签名后的消息其中,表示待签名的消息,表示签名者Ai的第一随机计算结果和第二随机计算结果,表示签名者Ai产生的签名消息;S2:验证者B根据签名后的消息生成中间结果(d,R,w),其中,d表示根据待签名的消息计算出的哈希结果,R表示根据不同签名者的第一随机计算结果得出的结果,w表示根据不同签名者的第二随机计算结果得出的结果;S3:验证者B根据第一随机计算结果和第二随机计算结果,获得验签参数;S4:验证者B基于签名者的公钥、w和验签参数计算数字签名批量验证值R';S5:验证者B将签名本文档来自技高网...

【技术保护点】
1.一种基于SM2的批量验证方法,其特征在于,应用于验证者B和不同的签名者A

【技术特征摘要】
1.一种基于SM2的批量验证方法,其特征在于,应用于验证者B和不同的签名者Ai,该方法包括:
S1:验证者B接收签名者发送的签名后的消息其中,表示待签名的消息,表示签名者Ai的第一随机计算结果和第二随机计算结果,表示签名者Ai产生的签名消息;
S2:验证者B根据签名后的消息生成中间结果(d,R,w),其中,d表示根据待签名的消息计算出的哈希结果,R表示根据不同签名者的第一随机计算结果得出的结果,w表示根据不同签名者的第二随机计算结果得出的结果;
S3:验证者B根据第一随机计算结果和第二随机计算结果,获得验签参数;
S4:验证者B基于签名者的公钥、w和验签参数计算数字签名批量验证值R';
S5:验证者B将签名批量验证值R'与根据不同签名者的第一随机计算结果得出的结果R进行比较,如果若R=R',数字签名批验证成功,否则验证不成功。


2.如权利要求1所述的批量验证方法,其特征在于,S2具体包括:
S2.1:验证者B采用密码杂凑函数获得不同签名者Ai的杂凑值并与拼接得到其中表示不同签名者Ai具有长度为比特的可辨别标识;是由整数转换而成的两个字节;a、b为椭圆曲线方程y2=x2+ax+b的参数;xG、yG表示G的坐标;G=(x,y)表示E上n阶的基点,表示公钥的坐标;
S2.2:验证者B针对不同签名者得到的拼接结果进行哈希运算,得到哈希值Hv表示消息摘要长度为v比特的哈希函数;
S2.3:验证者B对计算得出所有哈希值进行累加运算,得到
S2.4:验证者B对不同签名者Ai发送的进行累加运算,得到
S2.5:验证者B对不同签名者Ai发送的进行累加运算,得到


...

【专利技术属性】
技术研发人员:阮鸥陈吉晨周靖曾建强秦姗姗
申请(专利权)人:湖北工业大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1