【技术实现步骤摘要】
一种敏捷的数字签名验签方法及系统
[0001]本申请涉及网络信息安全
,具体涉及一种敏捷的数字签名验签方法及系统。
技术介绍
[0002]数字签名是加密技术与数字摘要技术的综合应用。简单地说,数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人伪造。它是对电子形式的消息进行签名的一种方法,只有信息的发送者才能产生别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息完整性的一个有效证明。通过数字签名技术能够验证消息文件在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
[0003]目前,数字签名技术主要包括基于非对称密钥加密体制的数字签名与验证和基于哈希算法的数字签名与验证。如图1所示,基于非对称密钥加密体制的数字签名与验证的过程一般为:发送方首先将消息用自己的私钥进行加密得到数字签名,然后将数字签名和消息一起发送至接收单元。接收单元用发送方的公钥对数字签名进行解密,并将解密结果与接收的消息进行对比,如果相等,则签名验证成功。
[0004]如图2所示,基于哈希算法的数字签名与验证的过程一般为:发送方在发送消息时,通过哈希函数生成固定长度的消息摘要,然后用发送方的私钥对这个消息摘要进行加密作为消息的数字签名和消息一起发送给接收单元。接收单元首先用与发送方一样的哈希函数从接收到的原始消息中计算出消息摘要,接着再用公钥对数字签名进行解密,并将解密结果与计算获得的 ...
【技术保护点】
【技术特征摘要】
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,所述三方...
【专利技术属性】
技术研发人员:赵呈洋,傅波海,付晓满,杨鸽,张能伟,
申请(专利权)人:矩阵时光数字科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。