一种敏捷的数字签名验签方法及系统技术方案

技术编号:35460009 阅读:33 留言:0更新日期:2022-11-03 12:26
本申请提出一种敏捷的数字签名验签方法及系统。具体的,该数字签名验签方法通过通过接收单元对发送单元发送的消息Mess以及关于消息Mess的验证码MAC进行文件验证,确定消息Mess的完整性和真实性,防止消息Mess被篡改;同时,基于发送单元与量子CA共享的一次性身份OTID以及对消息Mess进行哈希运算的哈希值一H1(Mess)生成三方签名文件Sign,并通过接收单元和量子CA共同对三方签名文件Sign进行签名验证;一方面,每次签名采用一次一变的一次性身份OTID,提升签名验签的安全性;另一方面,量子CA基于定长的哈希值一H1(Mess)进行签名验证,既能确保消息Mess的不可抵赖性,又能避免消息Mess内容过大导致量子CA内存被大量占用的问题,降低量子CA的存储负担,提升签名验签的敏捷性。的敏捷性。的敏捷性。

【技术实现步骤摘要】
一种敏捷的数字签名验签方法及系统


[0001]本申请涉及网络信息安全
,具体涉及一种敏捷的数字签名验签方法及系统。

技术介绍

[0002]数字签名是加密技术与数字摘要技术的综合应用。简单地说,数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人伪造。它是对电子形式的消息进行签名的一种方法,只有信息的发送者才能产生别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息完整性的一个有效证明。通过数字签名技术能够验证消息文件在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
[0003]目前,数字签名技术主要包括基于非对称密钥加密体制的数字签名与验证和基于哈希算法的数字签名与验证。如图1所示,基于非对称密钥加密体制的数字签名与验证的过程一般为:发送方首先将消息用自己的私钥进行加密得到数字签名,然后将数字签名和消息一起发送至接收单元。接收单元用发送方的公钥对数字签名进行解密,并将解密结果与接收的消息进行对比,如果相等,则签名验证成功。
[0004]如图2所示,基于哈希算法的数字签名与验证的过程一般为:发送方在发送消息时,通过哈希函数生成固定长度的消息摘要,然后用发送方的私钥对这个消息摘要进行加密作为消息的数字签名和消息一起发送给接收单元。接收单元首先用与发送方一样的哈希函数从接收到的原始消息中计算出消息摘要,接着再用公钥对数字签名进行解密,并将解密结果与计算获得的消息摘要进行对比,如果相等,则接收单元就能确认该消息是发送方的。
[0005]而上述两种数字签名方式其本质上都依赖于非对称密码体制,其安全性基于未证明的数学计算难题。如基于大整数因子分解问题的RSA算法以及基于椭圆曲线上离散对数计算问题(ECDLP)的ECC算法。随着经典计算力的快速提升以及量子算法的爆炸式发展,上述签密算法正逐渐被破解。
[0006]为了解决这一问题,名称为:一种量子密钥协商方法、系统、量子数字签名方法、系统,公开号为:CN114244500A的中国专利文献提出了一种量子数字签名方法,其内容主要为:发送方A将消息和数字签名发送给接收方B,接收方B将收到的来自发送方A的消息和数字签名连同自己的密钥S1一并发送给验证方C;验证方C在接收到接收方B的消息后,将密钥S2发给接收方B,通过接收方B和验证方C共同进行签名验证。该方法不依赖于非对称密码体制,且通过接收方B和验证方C共同进行验证,大大提高了签名验签完整性、真实性以及不可抵赖性等,确保签名验签的安全。
[0007]但是,在上述量子数字签名方法中,接收方B在获取发送方A发送的消息和数字签名后需要将消息发送至验证方C,而验证方C除了验签之外本身并不需要消息,因此验证方C
接收消息不仅会导致其内存资源被大量消耗,增加验证方C的存储负担,还会导致验证方C的验签效率降低。

技术实现思路

[0008]基于此,有必要针对上述技术问题,提供一种敏捷的数字签名验签方法及系统。
[0009]第一方面,提供一种敏捷的数字签名验签方法,包括:
[0010]发送单元生成消息Mess;
[0011]发送单元基于消息Mess生成哈希值一H1(Mess),并基于该哈希值一H1(Mess)生成关于消息Mess的验证码MAC,然后将消息Mess以及验证码MAC发送至接收单元;
[0012]接收单元接收消息和验证码,分别记为消息Mess

和验证码MAC

,然后进行文件验证;
[0013]发送单元与量子CA共享一次性身份OTID;
[0014]发送单元基于一次性身份OTID和哈希值一H1(Mess)生成三方签名文件Sign,并基于三方签名文件Sign生成哈希值二H2(Sign),然后基于该哈希值二H2(Sign)生成关于三方签名文件Sign的签名摘要Abstr,并将三方签名文件Sign以及加密的签名摘要Abstr发送至接收单元;
[0015]接收单元接收三方签名文件和加密的签名摘要,分别记为三方签名文件Sign

和加密的签名摘要Abstr

,然后与量子CA共同进行签名验证,如果量子CA和接收单元的签名验证均通过,则接收单元接受签名并存储接收的消息Mess


[0016]在进一步的实施例中,所述发送单元基于消息Mess生成哈希值一H1(Mess),并基于该哈希值一H1(Mess)生成关于消息Mess的验证码MAC,然后将消息Mess以及验证码MAC发送至接收单元的过程包括:
[0017]发送单元与接收单元共享n位的二进制随机数S1和2n位的二进制随机数T1,其中n为大于0的正整数;
[0018]发送单元本地生成n位的二进制随机数P1,并基于该随机数P1生成不可约多项式P1(x),然后将随机数S1作为输入随机数与不可约多项式P1(x)共同生成基于线性移位寄存器的哈希函数Hash1;
[0019]发送单元通过哈希函数Hash1对消息Mess进行哈希运算获取哈希值一H1(Mess),并基于该哈希值一H1(Mess)生成关于消息Mess的文件摘要DIG,所述文件摘要DIG表示为:DIG=[H1(Mess),P1];
[0020]发送单元利用随机数T1对文件摘要DIG进行异或加密得到消息Mess的验证码MAC,验证码MAC表示为:然后将消息Mess和验证码MAC发送至接收单元。
[0021]通过采用上述技术方案:基于不可约多项式以及输入随机数生成的哈希函数实现对验证码MAC的安全性保证,在生成关于消息Mess的验证码MAC之前,接收方不会提前获知,从而避免了采用其他算法导致验证码MAC容易被获知的风险,使得消息Mess的完整性得以保证,防止消息Mess被篡改、植入。
[0022]在进一步的实施例中,所述接收单元接收消息和验证码,分别记为消息Mess

和验证码MAC

,然后进行文件验证的过程包括:
[0023]接收单元接收消息和验证码,分别记为消息Mess

和验证码MAC


[0024]接收单元利用其共享的随机数T1对验证码MAC

进行异或解密获得文件摘要DIG

,进而获得哈希值一H
′1(Mess)和随机数P
′1;
[0025]接收单元基于随机数P
′1生成不可约多项式P
′1(x),然后基于不可约多项式P
′1(x)和随机数S1生成新的基于线性移位寄存器的哈希函数Hash
′1;
[0026]接收单元利用新的哈希函数Hash
′1对消息Mess

进行哈希运算获得新的哈希值一H
′1(Mess

),如果新的哈本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种敏捷的数字签名验签方法,其特征在于,包括:发送单元生成消息Mess;发送单元基于消息Mess生成哈希值一H1(Mess),并基于该哈希值一H1(Mess)生成关于消息Mess的验证码MAC,然后将消息Mess以及验证码MAC发送至接收单元;接收单元接收消息和验证码,分别记为消息Mess

和验证码MAC

,然后进行文件验证;发送单元与量子CA共享一次性身份OTID;发送单元基于一次性身份OTID和哈希值一H1(Mess)生成三方签名文件Sign,并基于三方签名文件Sign生成哈希值二H2(Sign),然后基于该哈希值二H2(Sign)生成关于三方签名文件Sign的签名摘要Abstr,并将三方签名文件Sign以及加密的签名摘要Abstr发送至接收单元;接收单元接收三方签名文件和加密的签名摘要,分别记为三方签名文件Sign

和加密的签名摘要Abstr

,然后与量子CA共同进行签名验证,如果量子CA和接收单元的签名验证均通过,则接收单元接受签名并存储接收的消息Mess

。2.根据权利要求1所述的敏捷的数字签名验签方法,其特征在于,所述消息Mess包括:消息文件Doc以及用户公开证书CA。3.根据权利要求1所述的敏捷的数字签名验签方法,其特征在于,所述发送单元基于消息Mess生成哈希值一H1(Mess),并基于该哈希值一H1(Mess)生成关于消息Mess的验证码MAC,然后将消息Mess以及验证码MAC发送至接收单元的过程包括:发送单元与接收单元共享n位的二进制随机数S1和2n位的二进制随机数T1,其中n为大于0的正整数;发送单元本地生成n位的二进制随机数P1,并基于该随机数P1生成不可约多项式P1(x),然后将随机数S1作为输入随机数与不可约多项式P1(x)共同生成基于线性移位寄存器的哈希函数Hash1;发送单元通过哈希函数Hash1对消息Mess进行哈希运算获取哈希值一H1(Mess),并基于该哈希值一H1(Mess)生成关于消息Mess的文件摘要DIG,所述文件摘要DIG表示为:DIG=[H1(Mess),P1];发送单元利用随机数T1对文件摘要DIG进行异或加密得到消息Mess的验证码MAC,验证码MAC表示为:MAC=DIG

T1,然后将消息Mess和验证码MAC发送至接收单元。4.根据权利要求3所述的敏捷的数字签名验签方法,其特征在于,:所述接收单元接收消息和验证码,分别记为消息Mess

和验证码MAC

,然后进行文件验证的过程包括:接收单元接收消息和验证码,分别记为消息Mess

和验证码MAC

;接收单元利用随机数T1对验证码MAC

进行异或解密获得文件摘要DIG

,进而获得哈希值一H
′1(Mess)和随机数P
′1;接收单元基于随机数P
′1生成不可约多项式P
′1(x),然后基于不可约多项式P
′1(x)和随机数S1生成新的基于线性移位寄存器的哈希函数Hash
′1;接收单元利用新的哈希函数Hash
′1对消息Mess

进行哈希运算获得新的哈希值一H
′1(Mess

),如果新的哈希值一H
′1(Mess

)与哈希值一H
′1(Mess)相等,则文件验证通过,接收单元存储消息Mess

及哈希值一H
′1(Mess);否则,文件验证失败,接收单元放弃消息Mess


5.根据权利要求1所述的敏捷的数字签名验签方法,其特征在于,所述发送单元与量子CA共享一次性身份OTID的过程包括:发送单元与量子CA共享m位的二进制随机数S3和2m位的二进制随机数T3,随机数T3表示为T3=[u,v],其中u和v都是m位的二进制随机数,并且,m为大于0的正整数;发送单元本地生成m位的随机数P3,并基于该随机数P3生成不可约多项式P3(x),然后将随机数S3作为输入随机数与不可约多项式P3(x)共同生成基于线性移位寄存器的哈希函数Hash3;发送单元将从量子CA处获取的隐私身份Pri代入哈希函数Hash3生成关于该隐私身份Pri的哈希值三H3(Pri);发送单元基于哈希值三H3(Pri)生成一次性证书OTCA,所述一次性证书OTCA表示为OTCA=[H3(Pri),P3]

T3,并将一次性证书OTCA发送至量子CA;量子CA接收一次性证书,记为一次性证书OTCA

,并进行身份验证:如果验证通过,则发送单元和量子CA获取相同的一次性身份OTID=H3(Pri)

u;否则,重新执行发送单元与量子CA共享一次性身份OTID的过程。6.根据权利要求5所述的敏捷的数字签名验签方法,其特征在于,所述量子CA接收一次性证书,记为一次性证书OTCA

,并进行身份验证的过程包括:量子CA获得对一次性证书,记为一次性证书OTCA

,并通过随机数T3对一次性证书OTCA

进行异或运算解密,进而获得解密后的哈希值三H3(Pri)

和随机数P

3;量子CA根据随机数P
′3生成不可约多项式P
′3(x),然后基于不可约多项式P
′3(x)和随机数S3生成新的基于线性移位寄存器的哈希函数Hash
′3;量子CA将本地存储的隐私身份Pri代入哈希函数Hash
′3获取关于该隐私身份Pri的新的哈希值三H
′3(Pri);如果新的哈希值三H
′3(Pri)与解密后的哈希值三H3(Pri)

相等,则身份验证通过;否则,身份验证失败。7.根据权利要求3所述的敏捷的数字签名验签方法,其特征在于,所述发送单元基于一次性身份OTID和哈希值一H1(Mess)生成三方签名文件Sign,并基于三方签名文件Sign生成哈希值二H2(Sign),然后基于该哈希值二H2(Sign)生成关于三方签名文件Sign的签名摘要Abstr,并将三方签名文件Sign以及签名摘要Abstr发送至接收单元的过程包括:发送单元与接收单元进行密钥协商,分别获得二进制的共享密钥X
AB
和共享密钥Y
AB
;发送单元和量子CA进行密钥协商,分别获取二进制的共享密钥X
AC
和共享密钥Y
AC
;其中,共享密钥X
AB
和共享密钥X
AC
的字符长度相同,共享密钥Y
AB
和共享密钥Y
AC
的字符长度相同,并且共享密钥Y
AB
的字符长度是共享密钥X
AB
字符长度的两倍;发送单元将共享密钥X
AB
、共享密钥Y
AB
、共享密钥X
AC
以及共享密钥Y
AC
进行异或运算,得到密钥X
A
和密钥Y
A
,异或运算的过程表示为:X
A
=X
AB

X
AC
,Y
A
=Y
AB

Y
AC
;发送单元本地生成二进制随机数P2,并基于该随机数P2生成不可约多项式P2(x),然后将密钥X
A
作为输入随机数与不可约多项式P2(x)共同生成基于线性移位寄存器的哈希函数Hash2;
发送单元基于一次性身份OTID和哈希值一H1(Mess)生成三方签名文件Sign,所述三方...

【专利技术属性】
技术研发人员:赵呈洋傅波海付晓满杨鸽张能伟
申请(专利权)人:矩阵时光数字科技有限公司
类型:发明
国别省市:

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

1