CN115378611A - 一种量子安全的数字签名验签方法及系统 - Google Patents

一种量子安全的数字签名验签方法及系统 Download PDF

Info

Publication number
CN115378611A
CN115378611A CN202211012703.7A CN202211012703A CN115378611A CN 115378611 A CN115378611 A CN 115378611A CN 202211012703 A CN202211012703 A CN 202211012703A CN 115378611 A CN115378611 A CN 115378611A
Authority
CN
China
Prior art keywords
identity
quantum
mess
hash
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.)
Pending
Application number
CN202211012703.7A
Other languages
English (en)
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.)
Matrix Time Digital Technology Co Ltd
Original Assignee
Matrix Time Digital 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 Matrix Time Digital Technology Co Ltd filed Critical Matrix Time Digital Technology Co Ltd
Priority to CN202211012703.7A priority Critical patent/CN115378611A/zh
Publication of CN115378611A publication Critical patent/CN115378611A/zh
Pending legal-status Critical Current

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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0414Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden during transmission, i.e. party's identity is protected against eavesdropping, e.g. by using temporary identifiers, but is known to the other party or parties involved in the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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

Abstract

本申请涉及网络信息安全技术领域,具体涉及一种量子安全的数字签名验签方法及系统。具体的,该数字签名验签方法通过引入与用户单元的隐私身份标识关联的一次性身份标识,从而在每次签名时增加新的变量,再通过基于线性移位寄存器的哈希函数进行一次一密的签名,进一步通过依赖于第一量子随机数的不可约多项式和第二量子随机数来共同确保签名的安全性,从而使数字签名过程的安全性达到量子安全级别,能够抵御日益强大的经典计算攻击和未来颠覆性的量子计算攻击。而在验签环节,一方面,基于线性移位寄存器的哈希函数对业务信息进行完整性验证;另一方面,基于一次性身份标识进行关联性和合法性验证,确保用户对数字签名的不可抵赖性。

Description

一种量子安全的数字签名验签方法及系统
技术领域
本申请涉及网络信息安全技术领域,具体涉及一种量子安全的数字签名验签方法及系统。
背景技术
随着网络技术的飞速发展,网络安全问题日益重要,而信息加密技术则是网络安全技术中的核心技术。数字签名(Digital Signatures)是众多信息加密技术中使用较为广泛的技术,它是保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性的一种有效的解决方案,是网络信息安全的重要部分。
简单地说,数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源,防止发送者否认签名,无法抵赖;同时,保证数据单元的完整性,保护数据,防止篡改和植入。
现阶段,数字签名主要采用非对称密码体制(公钥密码体制),即发送者使用私钥加密数据,接收者使用对应的公钥解密数据。而公钥密码体制根据其所依据的难题一般分为三类:大素数分解问题类、离散对数问题类、椭圆曲线类。第六届国际密码学会议对应用于公钥密码系统的加密算法推荐了两种:基于大整数因子分解问题(IFP)的RSA算法和基于椭圆曲线上离散对数计算问题(ECDLP)的ECC算法。其中,RSA算法的数学原理简单,在工程应用中比较易于实现,但它的单位安全强度相对较低。用国际上公认的对于RSA算法最有效的攻击方法——一般数域筛(NFS)方法去破译和攻击RSA算法,它的破译或求解难度是亚指数级的。而ECC算法的数学原理则较为复杂,在工程应用中比较难于实现,其单位安全强度相对较高。用国际上公认的对于ECC算法最有效的攻击方法——Pollard rho方法去破译和攻击ECC算法,它的破译或求解难度是指数级的。
依赖于公钥密码体制的数字签名,其安全性基于未证明的数学计算难题。随着经典计算力的快速提升以及量子算法的爆炸式发展,各种签密算法正逐渐被破解。例如,1994年PeterShor提出量子Shor算法,能够快速破解基于质因数分解和离散对数问题的公钥算法。而基于大数因数分解的RSA算法RSA512于1999年被破解,RSA768于2009年被破解,RSA795于2019年被破解。以上这些都在不断警示我们,现阶段的经典数字签名方案将不再绝对安全。
为了解决这一问题,本申请人先前提交一件名称为:一种量子密钥协商方法、系统、量子数字签名方法、系统,公开号为:CN114244500A的中国专利申请,该专利文献提出了一种量子数字签名方法:发送方A将消息和数字签名发送给接收方B,接收方B将收到的来自发送方A的消息和数字签名连同自己的密钥S1一并发送给验证方C;验证方C在接收到接收方B的消息后,将密钥S2发给接收方B,通过接收方B和验证方C共同进行签名验证。该方法不依赖于非对称密码体制,且通过接收方B和验证方C共同进行验证,大大提高了签名验签完整性、真实性以及不可抵赖性等,确保签名验签的安全。
但是,上述量子数字签名方法中,接收方B需要将消息和签名发送至验证方C,而验证方C每次验签时都要接收较大的消息数据,这会导致验证方C的内存资源被大量消耗,不仅增加验证方C的存储负担,还会导致验证方C的验签效率降低。
发明内容
基于此,有必要针对上述技术问题,提供一种量子安全的数字签名验签方法及系统。
第一方面,提供一种量子安全的数字签名验签方法,包括:
S11:用户单元和量子CA生成共享的一次性身份标识OTCA;
S12:用户单元生成包含一次性身份标识OTCA的业务信息Mess;
S13:用户单元生成哈希函数Hash,并基于该哈希函数Hash生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元;
S14:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证:若文件验证通过,则接收单元将业务信息Mess′中的一次性身份标识OTCA′发送至量子CA;否则,接收单元拒绝数字签名;
S15:量子CA获取接收单元发送的一次性身份标识,并记为一次性身份标识OTCA″,然后基于该一次性身份标识OTCA″进行身份验证:如果身份验证的结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
在进一步的实施例中,所述用户单元和量子CA共享一次性身份标识OTCA的过程包括:
S21:用户单元向量子CA提交获取身份标识的申请;
S22:量子CA基于该申请生成公开身份标识Pub和隐私身份标识Pri,然后提供至用户单元;
S23:用户单元和量子CA分别本地存储公开身份标识Pub和隐私身份标识Pri;
S24:用户单元和量子CA基于本地存储的隐私身份标识Pri,以相同的预设规则生成一次性身份标识OTCA。
在进一步的实施例中,所述用户单元和量子CA基于本地存储的隐私身份标识Pri,以相同的预设规则生成一次性身份标识OTCA的过程包括:
S31:用户单元和量子CA共享m位的二进制的随机数一S1和2m位的二进制随机数二T1,随机数二T1表示为T1=[u,v],其中u和v都是m位的二进制随机数,并且,m为大于0的正整数;
S32:用户单元本地生成m位的随机数三P1,并基于该随机数三P1生成不可约多项式P1(x),然后将随机数一S1作为输入随机数与不可约多项式P1(x)共同生成基于线性移位寄存器的哈希函数一Hash1
S33:用户单元将从量子CA处获取的隐私身份Pri代入哈希函数一Hash1生成关于该隐私身份Pri的哈希值一H1(Pri);
S34:用户单元基于哈希值一H1(Pri)生成隐私身份验证码Mac,所述隐私身份验证码Mac表示为Mac=[H1(Pri),P1]⊕T1,并将隐私身份验证码Mac发送至量子CA;
S35:量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并进行隐私验证:如果验证通过,则用户单元和量子CA获得相同的一次性身份标识OTCA=H1(Pri)⊕u;否则,用户单元与量子CA重新执行以相同的预设规则生成一次性身份标识OTCA的过程。
通过采用上述技术方案:基于隐私身份Pri获取一次性身份标识OTCA,能够对隐私身份Pri进行隐藏,避免隐私身份的暴露,从而提升签名Sign的安全性;并且,即使隐私身份Pri不变,每次求取的一次性身份标识OTCA都不一样,从而确保一次性身份标识OTCA的一次一变化,进一步提高了签名Sign的安全性;并便于后续的身份验证。
在进一步的实施例中,所述量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并进行隐私验证的过程包括:
S41:量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并通过随机数二T1对隐私身份验证码Mac′进行异或运算,获得哈希值一H1(Pri)′和随机数三P′1
S42:量子CA根据随机数三P′1生成不可约多项式P′1(x),然后基于不可约多项式P′1(x)和随机数一S1生成新的基于线性移位寄存器的哈希函数一Hash′1
S43:量子CA将本地存储的隐私身份Pri代入哈希函数一Hash′1获取关于该隐私身份Pri的新的哈希值一H′1(Pri);如果新的哈希值一H′1(Pri)与哈希值一H1(Pri)′相等,则隐私验证通过;否则,隐私验证失败。
通过采用上述技术方案:能够在共享一次性身份标识OTCA的同时,对发送单元的隐私身份进行验证,确保一次性身份与隐私身份的关联。
在进一步的实施例中,所述一次性身份标识OTCA被设置为当其生成后开始计时,若计时超过预设时间阈值,则一次性身份标识OTCA失效。
通过采用上述技术方案:通过对一次性身份标识OTCA设置失效的时间限制,当接收单元长时间不向量子CA进行身份验证时,一次性身份标识OTCA自动失效,从而降低签名验签的安全风险。
在进一步的实施例中,所述所述业务信息Mess包括业务数据Data以及用户单元的公开身份标识Pub。
通过采用上述技术方案:用户单元的公开身份标识Pub用于标记业务数据Data的产生对象,以便验签时进行身份验证。
在进一步的实施例中,所述业务信息Mess包括时间戳Time和/或业务号O。
通过采用上述技术方案:时间戳Time能够标识业务数据Data的发生时间,便于对业务数据Data的时间进行认证,从而验证业务数据Data是否篡改;业务号O用于标识业务数据的发生顺序或编号,便于对业务数据Data进行快速索引。
在进一步的实施例中,所述用户单元生成哈希函数,并基于该哈希函数生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元的过程为:
S81:用户单元本地生成n比特的第一量子随机数P2,并与所述接收单元共享n位比特的第二量子随机数S2和2n位比特的第三量子随机数T2
S82:用户单元基于第一量子随机数P2生成不可约多项式P2(x),由不可约多项式P2(x)和第二量子随机数S2生成基于线性移位寄存器的哈希函数二Hash2
S83:用户单元基于该哈希函数二Hash2生成关于业务信息Mess的信息摘要Dig,所述信息摘要Dig表示为:Dig=[Hash2(Mess),P2],式中Hash2(Mess)表示通过哈希函数二Hash2对业务信息Mess进行哈希运算获得的哈希值二;
S84:用户单元使用第三量子随机数T2对信息摘要Dig进行异或运算生成签名Sign,然后将业务信息Mess和签名Sign发送至接收单元。
通过采用上述技术方案:基于线性移位寄存器的哈希函数二通过基于一次一密技术,能够极大提升数字签名的安全性性,能够抵御经典计算攻击和未来的量子技术攻击;该哈希函数二Hash2的安全性一方面通过不可约多项式P2(x)和第二量子随机数S2共同来确保,而不可约多项式P2(x)又依赖于第一量子随机数P2;另一方面,通过在业务信息Mess中的引入一次性身份标识OTCA来保证;因此,在使用线性移位寄存器的哈希函数进行哈希运算的情况下,保证了签名过程的安全性。
在进一步的实施例中,所述接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证的过程包括:
S91:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′;
S92:接收单元通过第三量子随机数T2对签名Sign′进行异或运算获取信息摘要Dig′,进而获取哈希值二Hash2(Mess)′以及第一量子随机数P′2
S93:基于第一量子随机数P′2和第二量子随机数S2生成新的基于线性移位寄存器的哈希函数二Hash′2,然后对业务信息Mess′进行哈希运算获取新的哈希值二Hash′2(Mess′);
S94:比较新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′:如果二者相等,则文件验证通过,接收单元将业务信息Mess′中的一次性身份标识OTCA′以及公开身份标识Pub′通过经典认证信道发送至量子CA;否则,文件验证失败,接收单元拒绝数字签名。
通过采用上述技术方案:接收单元将通过验证新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′是否相等,能够对获得的接收业务信息Mess′的完整性进行验证。
在进一步的实施例中,所述量子CA进行身份验证的过程包括:
S101:量子CA获取接收单元发送的公开身份标识和一次性身份标识,分别记为公开身份标识Pub″和一次性身份标识OTCA″;
S102:量子CA基于公开身份标识Pub″查询本地存储中是否存在对应的公开身份标识Pub和一次性身份标识OTCA,并且在公开身份标识Pub″等于公开身份标识Pub的情况下,一次性身份标识OTCA″与该公开身份标识Pub对应的一次性身份标识OTCA也相等:如果存在,则身份验证通过;否则,身份验证失败;
S103:量子CA将身份验证的验证结果通过经典认证信道发送至接收单元,如果身份验证的验证结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
通过采用上述技术方案:在对接收单元获得的业务信息Mess′的完整性进行验证的情况下,进一步对业务信息Mess′中的一次性身份标识OTCA′进行关联性和合法性验证,明确签名的用户单元身份合法,确保用户对于数字签名的不可抵赖性。
在进一步的实施例中,所述数字签名验签方法还包括:
S111:用户单元将关于业务信息Mess的哈希值二Hash2(Mess)发送至量子CA;
S112:量子CA获取用户单元发送的哈希值二,记为哈希值二Hash2(Mess)′A,并存储。
在进一步的实施例中,所述接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证的过程包括:
S121:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′;
S122:接收单元通过第三量子随机数T2对签名Sign′进行异或运算获取信息摘要Dig′,进而获取哈希值二Hash2(Mess)′以及第一量子随机数P′2
S123:基于第一量子随机数P′2和第二量子随机数S2生成新的基于线性移位寄存器的哈希函数二Hash′2,然后对业务信息Mess′进行哈希运算获取新的哈希值二Hash′2(Mess′);
S124:比较新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′:如果二者相等,则文件验证通过,接收单元将业务信息Mess′中的一次性身份标识OTCA′以及哈希值二Hash2(Mess)′通过经典认证信道发送至量子CA;否则,文件验证失败,接收单元拒绝数字签名。
在进一步的实施例中,所述量子CA进行身份验证的过程包括:
S131:量子CA获取接收单元发送的一次性身份标识和哈希值二,分别记为一次性身份标识OTCA″和哈希值二Hash2(Mess)″B
S132:量子CA基于一次性身份标识OTCA″和哈希值二Hash2(Mess)″B分别查询本地存储中是否存在一次性标识OTCA和哈希值二Hash2(Mess)′A满足一次性身份标识OTCA″等于一次性标识OTCA,且哈希值二Hash2(Mess)″B等于哈希值二Hash2(Mess)′A:如果存在,则身份验证通过;否则,身份验证失败;
S133:量子CA将身份验证的验证结果通过经典认证信道发送至接收单元,如果身份验证的验证结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
通过采用上述技术方案:基于一次性身份和关于业务信息的哈希值二进行身份验证,能够避免接收单元冒用用户单元的公开身份和一次性身份标识的风险。
第二方面,提供一种量子安全的数字签名验签系统,包括:
用户单元、量子CA以及接收单元;所述用户单元和量子CA生成并共享一次性标识OTCA;
所述用户单元被设置为生成包含一次性身份标识OTCA的业务信息Mess以及生成哈希函数,并基于该哈希函数生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元;
所述接收单元被设置为获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证:若文件验证通过,则接收单元将业务信息Mess′中的一次性身份标识OTCA′发送至量子CA;否则,接收单元拒绝数字签名;
所述量子CA被设置为获取接收单元发送的一次性身份标识,并记为一次性身份标识OTCA″,然后基于该一次性身份标识OTCA″进行身份验证:如果身份验证的结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
第三方面,提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面提供的数字签名验签方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的数字签名验签方法。
第五方面,提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面提供的数字签名验签方法。
有益效果:本申请提供的量子安全的数字签名验签方法,通过引入与用户单元的隐私身份标识关联的一次性身份标识,从而在每次签名时增加新的变量,再通过基于线性移位寄存器的哈希函数进行一次一密的签名,进一步通过依赖于第一量子随机数的不可约多项式和第二量子随机数来共同确保签名的机密性,从而使数字签名过程的安全性达到量子安全级别,能够抵御日益强大的经典计算攻击和未来颠覆性的量子计算攻击。而在验签环节,一方面,基于线性移位寄存器的哈希函数对业务信息进行完整性验证;另一方面,基于一次性身份标识进行关联性和合法性验证,确保用户对数字签名的不可抵赖性。与现有技术相比,本申请提供的数字签名验签方法,能够极大提升数据传输的安全性、完整性,抵御攻击和破解,防止数据被篡改或植入,以及确保签名的不可抵赖性。同时,签名验签的过程简单,且在通过量子CA进行身份验证的情况下,无需接收业务信息,降低量子CA的内存占用,减轻量子CA的存储负担,提高签名验签的效率。
附图说明
图1是量子安全的数字签名验签系统的结构示意图。
图2是量子安全的数字签名验签方法的流程示意图。
图3是用户单元和量子CA生成一次性身份标识OTCA的流程示意图。
图4是用户单元和量子CA生成一次性身份标识OTCA的一个实施例的流程示意图。
图5是量子CA进行隐私验证的流程示意图。
图6是用户单元生成签名的流程示意图。
图7是接收单元进行签名验证的流程示意图。
图8是量子CA进行身份验证的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
经研究人员研究发现:通过数字签名能够保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。而现有的经典数字签名方式主要采用安全性基于未证明的数学计算难题的非对称密码体制。随着经典计算力的快速提升以及量子算法的爆炸式发展,各种签密算法正逐渐被破解,进而导致经典数字签名方式将不再绝对安全。
为了解决这一问题,本申请人先前提交一件名称为:一种量子密钥协商方法、系统、量子数字签名方法、系统,公开号为:CN114244500A的中国专利申请,该专利文献提出了一种量子数字签名方法。但是在该量子数字签名方法中,接收方B需要将消息和签名发送至验证方C,而验证方C每次验签时都要接收文件量较大的消息,这会导致验证方C的内存资源被大量消耗,增加验证方C的存储负担,还会导致验证方C的验签效率降低。
为此,本申请提供一种量子安全的数字签名验签方法及系统,以对现有的数字签名验签技术进行改进。
实施例1
本实施例提供一种量子安全的数字签名验签方法。如图1所示,该数字签名验签方法的实现依赖于量子安全的数字签名验签系统。该数字签名验签系统包括两两通信互联的用户单元、量子CA以及接收单元。用户单元、量子CA以及接收单元之间优先通过量子安全网络互联。此处所说的量子安全网络是采用量子通信网络和经典通信网络共同构建而成的一种安全通信网络。其中,量子通信网络是采用量子密码的一种安全通信网络。下面结合图2,本实施例将结合数字签名验签系统对数字签名验签的具体过程进行详细说明:
S11:用户单元和量子CA共享一次性身份标识OTCA。
具体的,结合图3,首先,用户单元向量子CA提交获取身份标识的申请。量子CA接收该申请后,生成适用于该用户单元的公开身份标识Pub和隐私身份标识Pri,然后提供至用户单元。本实施例中,隐私身份标识Pri可以表示为Pri=[Pub,R]。其中,R表示二进制的随机数,由量子CA本地生成;[Pub,R]表示将公开身份标识Pub和随机数R进行组合,即将两组二进制数进行拼接。而量子CA将公开身份标识Pub和隐私身份标识Pri提供至用户单元的过程可以是通过线上加密传输的方式进行,也可以通过线下拷贝、复制的方式进行。用户单元获得公开身份标识Pub和隐私身份标识Pri后进行本地存储。相应的,量子CA也将公开身份标识Pub和隐私身份标识Pri进行本地存储。此处需要强调的是,为了保证安全,隐私身份标识Pri必须安全存储,避免泄露。如果发生泄露,应当立即重新生成新的隐私身份标识Pri。由于公开身份标识Pub和隐私身份标识Pri是基于同一申请生成的,因此,公开身份标识Pub和隐私身份标识Pri在存储时自然构建索引关系。而公开身份标识Pub和隐私身份标识Pri可以限定位数的二进制字符串。最后,用户单元基于本地存储的隐私身份标识Pri,以预设的规则生成一次性身份标识OTCA。其中,预设的规则可以为采用某一函数对隐私身份标识Pri求值的方式生成。而为了确保用户单元每次签名时一次性身份标识OTCA都不一样,本实施例中采用预设规则可以标识为:OTCA=F(Pri+Y);式中,OTCA为一次性身份标识;F()为散列函数;Pri为隐私身份标识;Y为变量,例如Y可以为业务编号,或者用户单元和量子CA共享的随机数。而用户单元和量子CA之间进行随机数的共享,则可以通过量子通信网络予以传输实现。
具体的,本实施例中,首先,用户单元和量子CA共享m位的二进制的随机数一S1和2m位的二进制随机数二T1。其中,随机数二T1表示为T1=[u,v]。式中,u和v都是m位的二进制的量子随机数。并且,m为大于0的正整数。一个优选的方案是,m取值128。
其次,用户单元本地生成m位的二进制的量子随机数三P1,并基于该随机数三P1生成不可约多项式P1(x),然后将随机数一S1作为输入随机数与不可约多项式P1(x)共同生成基于线性移位寄存器的哈希函数一Hash1。其中,不可约多项式P1(x)的生成过程为:首先将m位的随机数三P1的每一位作为m阶多项式除最高项以外的每一项系数。此时,随机数三P1可以表示为(am-1,am-2,···,a1,a0)。进一步设定该多项式最高项系数设为1。则生成的多项式可以表示为P1(x)=xm+am-1xm-1+am-2xm-2+···+a1x1+a0。此处需要注意的是,只有a0=1,生成的多项式才有可能是不可约多项式,因此,m位的随机数三P1的最后一位为1。则多项式进一步表示为P1(x)=xm+am-1xm-1+am-2xm-2+···+a1x1+1。另外,需要对生成的多项式进行验证,验证过程表示为验证
Figure BDA0003811533180000091
Figure BDA0003811533180000092
是否成立;式中函数gcd(a,b)表示求取GF(2)域上a和b的最大公因式,a和b表示任意两个多项式;[n/2]表示为对n/2取整。验证成立,表明多项式P1(x)为不可约多项式。否则,表明获取的多项式P1(x)不是不可约多项式,需要重新生成随机数三P1,以构建不可约多项式P1(x)。生成不可约多项式P1(x)之后,用户单元将随机数一S1作为输入随机数与不可约多项式P1(x)一起生成基于线性反馈移位寄存器的哈希函数一Hash1
然后,用户单元将从量子CA处获取的隐私身份Pri代入哈希函数一Hash1生成关于该隐私身份Pri的哈希值一H1(Pri)。再获得哈希值一H1(Pri)后,用户单元基于哈希值一H1(Pri)生成隐私身份验证码Mac。隐私身份验证码Mac具体表示为Mac=[H1(Pri),P1]⊕T1;式中,“⊕”表示异或运算。最后,用户单元将隐私身份验证码Mac发送至量子CA。量子CA接收用户单元发送的隐私身份验证码,并记为隐私身份验证码Mac′。为了对本实施例进行更好地说明,本实施例对文件的传输和接收的标记进行简单说明:设定I单元向J单元传送文件K,J单元接收的文件可能和I单元发送的并不完全一样,因此,设定J单元接收的文件为K′。在传输过程中如果文件没有被篡改或者植入,则文件K′与文件K相等;如果文件被篡改或者植入,则文件K′与文件K不相等。然后量子CA获取隐私身份验证码Mac′后再并进行隐私验证:如果隐私验证通过,则用户单元和量子CA获得相同的一次性身份标识OTCA=H1(Pri)⊕u;如果隐私验证失败,则根据需要,再由用户单元与量子CA重新执行以相同的预设规则生成一次性身份标识OTCA的过程。
进一步的,将量子CA进行隐私验证的过程进行描述。首先,量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并通过与用户单元共享的随机数二T1对隐私身份验证码Mac′进行异或运算,获得哈希值一H1(Pri)′和随机数三P′1,运算的过程表示为:Mac′⊕T1=[H1(Pri)′,P′1]。然后,量子CA根据随机数三P′1生成不可约多项式P′1(x),并将与用户单元共享的随机数一S1作为输入随机数与不可约多项式P′1(x)生成新的基于线性移位寄存器的哈希函数一Hash′1。最后,量子CA将本地存储的隐私身份Pri代入哈希函数一Hash′1获取关于该隐私身份Pri的新的哈希值一H′1(Pri);如果新的哈希值一H′1(Pri)与哈希值一H1(Pri)′相等,则隐私验证通过;如果新的哈希值一H′1(Pri)与哈希值一H1(Pri)′不相等,则隐私验证失败。
由于一次性身份标识OTCA是通过基于线性反馈移位寄存器的哈希函数一Hash1对隐私身份Pri进行哈希运算获取的。一方面,能够对隐私身份Pri进行隐藏,避免隐私身份Pri的暴露,从而提升签名Sign的安全性。另一方面,即使隐私身份Pri不变,每次求取的一次性身份标识OTCA都不一样,从而确保一次性身份标识OTCA的一次一变化,进一步提高了签名Sign的安全性,并便于后续的身份验证。并且,能够在共享一次性身份标识OTCA的同时,对发送单元的隐私身份进行验证,确保一次性身份与隐私身份的关联。
S12:用户单元生成包含一次性身份标识OTCA的业务信息Mess。
具体的,用户单元生成根据实际发送业务内容生成业务信息Mess。业务信息Mess的内容应当包含业务数据Data以及用户单元的公开身份标识Pub。例如实际发送的业务内容为用户Alice向用户Bob转账100元。则业务数据Data的内容可以简单表示为Data=[from:PubA;To:PubB;Value:100];其中,PubA表示为用户Alice的公开身份标识;PubB表示为用户Bob的公开身份标识。本实施例中的业务信息Mess还包括时间戳Time和/或业务号O。其中,时间戳Time标识业务数据Data的发生时间,从而便于对业务数据Data的时间进行认证,以验证业务数据Data是否篡改。而业务号O用于标识业务数据Data的发生顺序或编号,便于对业务数据Data进行快速索引。此处的业务号O可以和上述业务编号Y相同。综上所述,业务信息Mess可以表示为Mess=[Data,PubA,Time,O,OTCA]。用户单元的公开身份标识Pub用于标记业务数据Data的产生对象,以便验签时进行身份验证。业务信息Mess中包含有一次性身份标识OTCA。而一次性身份标识OTCA又具有随机性,因此业务信息Mess也具有随机性,从而提升了业务信息Mess机密性,提高信息传输的安全。并且,即使针对同一业务内容,如果后续的验签无法通过,再次形成的业务信息Mess也不相同,而一次性身份标识OTCA又与用户单元的身份信息关联,从而避免了冒充的可能性,提升数字签名的真实性。
S13:用户单元生成哈希函数,并基于该哈希函数生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元。
具体的,结合图4,首先,用户单元本地生成n比特的第一量子随机数P2,并与所述接收单元共享n位比特的第二量子随机数S2和2n位比特的第三量子随机数T2。第一量子随机数P2、第二量子随机数S2以及第三量子随机数T2均采用二进制。并且,n为大于0的正整数,本实施例中n取值128。而用户单元和接收单元之间进行随机数的共享,也是通过量子通信网络予以传输实现。
然后,用户单元基于第一量子随机数P2生成不可约多项式P2(x)。不可约多项式P2(x)的生成过程参照不可约多项式P1(x)的过程,此处不作赘述。生成不可约多项式P2(x)之后,用户单元将第二量子随机数S2作为输入随机数与不可约多项式P2(x)一起生成基于线性反馈移位寄存器的哈希函数二Hash2。然后将业务信息Mess输入哈希函数二Hash2生成哈希值二Hash2(Mess)。该哈希值二Hash2(Mess)和第一量子随机数P2一起构成信息摘要Dig。信息摘要Dig表示为:Dig=[Hash2(Mess),P2]。信息摘要Dig的形式采用字符串拼接的方式,可以采用Hash2(Mess)+P2,也可以采用P2+Hash2(Mess)的方式拼接,而最终获得的签名的签名值为2n位的。
进一步的,用户单元将2n位的第三量子随机数T2与2n位的信息摘要Dig进行异或运算,来实现对信息摘要Dig的加密,并形成签名Sign:Sign=Dig⊕T=[Hash2(Mess),P2]⊕T2;式中,“⊕”表示异或运算。然后用户单元将业务信息Mess和签名Sign一起发送至接收单元。
在上述过程中,基于线性移位寄存器的哈希函数基于一次一密技术,能够极大提升数字签名的安全性,能够抵御经典计算攻击和未来的量子技术攻击。该哈希函数的安全性一方面通过不可约多项式P2(x)和第二量子随机数S2共同来确保,而不可约多项式S2又依赖于第一量子随机数P2;另一方面,通过在业务信息Mess中的引入一次性身份标识OTCA来保证。即每次签名至少要引入两个变量,一个是第一量子随机数P2,另一个是一次性身份标识OTCA。因此,在使用线性移位寄存器的哈希函数进行哈希运算的情况下,保证了签名过程的安全性。即使针对同样的业务数据Data,前后两次形成的业务信息Mess也不一样。同时,基于第一量子随机数P2和第二量子随机数S2的随机性,使得攻击者无法获知,从而提升签名的机密性。并且,本实施例中的n为128,在现有计算机算力的情况下,发生碰撞的概率在k/(2128)以下,即破解的可能仅存在理论水平。其中,k为业务信息Mess的字符长度。
S14:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证:若文件验证通过,则接收单元将业务信息Mess′中的一次性身份标识OTCA′发送至量子CA;否则,接收单元拒绝数字签名。
具体的,结合图5,首先,接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′。其次,接收单元通过第三量子随机数T2对签名Sign′进行异或运算获取信息摘要Dig′,具体运算过程表示为:Dig′=Sign′⊕T2。该过程可以看做是对加密的信息摘要Dig′进行解密的过程,该过程只需通过共享的第三量子随机数T2进行异或处理即可得到,无需像现有技术一样,通过复杂的运算过程获取,大大提高了数字签名验签系统进行签名验签的效率。在获得信息摘要Dig′后,进而获取哈希值二Hash2(Mess)′以及第一量子随机数P′2
然后,接收单元基于第一量子随机数P′2和共享的第二量子随机数S2生成新的基于线性移位寄存器的哈希函数二Hash′2,生成新的基于线性移位寄存器的哈希函数二Hash′2的过程可以参照基于线性移位寄存器的哈希函数一Hash1的生成过程,此处不再赘述。在生成新的基于线性移位寄存器的哈希函数二Hash′2后,利用该新的哈希函数二Hash′2对接收单元获取业务信息Mess′进行哈希运算获取新的哈希值二Hash′2(Mess′)。
最后,接收单元比较新的哈希值二Hash′2(Mess′)与信息摘要Dig′中的哈希值二Hash2(Mess)′是否相等。如果新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′相等,则确定接收单元的文件验证通过,接收单元将业务信息Mess′中的一次性身份标识OTCA′以及公开身份标识Pub′通过经典认证信道发送至量子CA。由于哈希值二是通过对业务信息进行哈希运算获取的,因此,如果验证结果表明新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′相等,则能够表明接收的业务信息Mess`没有篡改或植入新的内容,其完整性具有保证,从而进一步侧面验证业务数据Data的完整性。如果新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′不相等,则确定接收单元的文件验证失败,即接收单元接收的业务信息Mess′和用户单元发送的Mess不相等,业务信息Mess′被篡改、文件丢失或者植入新的内容,则接收单元直接拒绝数字签名,并结束签名验签的过程,或者重新执行签名验签的过程。
S15:量子CA获取接收单元发送的一次性身份标识,并记为一次性身份标识OTCA″,然后基于该一次性身份标识OTCA″进行身份验证:如果身份验证的结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
结合图6,首先,量子CA获取接收单元发送的公开身份标识和一次性身份标识,分别记为公开身份标识Pub″和一次性身份标识OTCA″。然后,量子CA基于公开身份标识Pub″查询本地存储中是否存在对应的公开身份标识Pub和一次性身份标识OTCA,并且在公开身份标识Pub″等于公开身份标识Pub的情况下,一次性身份标识OTCA″与该公开身份标识Pub对应的一次性身份标识OTCA也相等。即判断量子CA是否存储有基于隐私身份Pri而产生索引关系的公开身份标识Pub和一次性身份标识OTCA,并且,量子CA存储的该公开身份标识Pub和接收的公开身份标识Pub″;同时,该存储的一次性身份标识OTCA与接收的一次性身份标识OTCA″也相等。如果存在,则身份验证通过;如果不存在,则身份验证失败。最后,量子CA将身份验证的验证结果通过经典认证信道发送至接收单元,如果身份验证的验证结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;如果身份验证的验证结果为验证失败,则接收单元拒绝数字签名,并结束签名验签的过程,或者重新执行签名验签的过程。
上述步骤是在对接收单元获得的业务信息Mess′的完整性已经验证的情况下,进一步对业务信息Mess′中的一次性身份标识OTCA′进行关联性和合法性验证。合法性验证则用于验证一次性身份标识和公开身份标识的准确性,关联性验证一次性身份标识和公开身份标识之间的关联关系。通过上述验证能够明确签名的用户单元身份是否合法,从而确保用户对于数字签名的不可抵赖性。另外,在上述验证过程中,接收单元只需要向量子CA发送接收公开身份标识和一次性身份标识OTCA′,而不像现有的三方签名验证一样需要将业务信息发送至量子CA,大大降低了量子CA的内存占用,缓解量子CA的存储负担;并且,用户单元、量子CA以及接收单元之间不需要进行三方密钥共享,简化了数字签名验签的步骤,进一步降低资源耗用,提高了数字签名验签的效率。
由于在业务信息Mess传输过程中,可能存在业务信息Mess被截取的情况。这会导致业务信息Mess中的公开身份标识Pub以及一次性身份标识OTCA的公开。进而截取方导致冒用公开身份标识Pub以及一次性身份标识OTCA的情况。
为了解决这一问题,本方案提出两种解决方案:第一,一次性身份标识OTCA被设置为只能进行一次成功的身份验证。即量子CA在对接收单元发送的验证业务信息Mess′和一次性身份标识OTCA′进行身份验证通过的情况下,禁止再次调用存储的一次性身份标识OTCA进行身份验证,或者直接抹除存储的一次性身份标识OTCA。后续即使有其他用户冒用公开身份标识Pub和一次性身份标识OTCA,也无法进行验证,也就避免了盗用的情况。第二,一次性身份标识OTCA被设置为当其生成后开始计时,若计时超过预设时间阈值,则一次性身份标识OTCA失效。通过对一次性身份标识OTCA设置失效的时间限制,确保量子CA存储的一次性身份标识OTCA仅能在预设的时间阈值内进行身份验证。从而促使接收单元即使量子CA发送一次性身份标识OTCA′进行身份验证,降低其他用户截取和冒用公开身份标识Pub以及一次性身份标识OTCA伪造业务信息Mess进行签名验签的风险,从而提升签名验签的安全性。当然,这两个方案可以单独运用,也可以一起运用。
实施例2
实施例1的具体的技术方案是建立在接收单元在获取了业务信息之后,能够及时得进行文件验证和身份验证。因此,只要在保证接收单元能够诚信的情况下,即可在提升签名验签效率的同时,确保签名验签过程的安全性。当然,虽然我们已经通过各种技术手段确保签名过程的安全,但是只要接收单元存在主观恶意,则极有可能造成签名验签的安全风险。
例如,接收单元B在接收用户单元A发送的业务信息Mess′后,直接获取业务信息Mess′中的一次性身份标识OTCA′和公开身份Pub′。但是此时接收单元B不向量子CA进行身份验证,而是假冒用户单元的身份重新构建新的业务信息MessB,然后再发送给另一个接收单元C。此时,接收单元B则会成为新的发送方,并且是以用户单元A的名义发送业务信息MessB。接收单元C接收该业务信息MessB后,则会以为是用户单元A发送的;并且,即使接收单元C向量子CA进行身份验证,量子CA则会误判,进而导致签名验签的安全风险,并最终整个业务流程存在安全漏洞。因此,有必要对实施例1的技术方案进行优化。
本实施例提供一种量子安全的数字签名验签方法。如图1所示,该数字签名验签方法的实现依赖于量子安全的数字签名验签系统。该数字签名验签系统包括两两通信互联的用户单元、量子CA以及接收单元。用户单元、量子CA以及接收单元之间优先通过量子安全网络互联。具体可以参照实施例1的技术方案。下面,本实施例将结合数字签名验签系统对数字签名验签的具体过程进行详细说明:
S11:用户单元和量子CA共享一次性身份标识OTCA。
和实施例1的技术方案相同,在用户单元和量子CA生成共享的一次性身份标识OTCA之前,用户单元向量子CA提交获取身份标识的申请。量子CA接收该申请后,生成适用于该用户单元的公开身份标识Pub和隐私身份标识Pri,具体过程参照实施例1。然后基于该隐私身份标识Pri生成一次性身份标识OTCA。
首先,用户单元和量子CA共享m位的二进制的随机数一S1和2m位的二进制随机数二T1。其中,随机数二T1表示为T1=[u,v]。式中,u和v都是m位的二进制的量子随机数。并且,m为大于0的正整数。一个优选的方案是,m取值128。
其次,用户单元本地生成m位的二进制的量子随机数三P1,并基于该随机数三P1生成不可约多项式P1(x),然后将随机数一S1作为输入随机数与不可约多项式P1(x)共同生成基于线性移位寄存器的哈希函数一Hash1。具体过程,参照实施例1的技术方案。
然后,用户单元将从量子CA处获取的隐私身份Pri代入哈希函数一Hash1生成关于该隐私身份Pri的哈希值一H1(Pri)。再获得哈希值一H1(Pri)后,用户单元基于哈希值一H1(Pri)生成隐私身份验证码Mac。隐私身份验证码Mac具体表示为Mac=[H1(Pri),P1]⊕T1;式中,“⊕”表示异或运算。最后,用户单元将隐私身份验证码Mac发送至量子CA。量子CA接收用户单元发送的隐私身份验证码,并记为隐私身份验证码Mac′。
再然后,量子CA并通过与用户单元共享的随机数二T1对隐私身份验证码Mac′进行异或运算,获得哈希值一H1(Pri)′和随机数三P1′,运算的过程表示为:Mac′⊕T1=[H1(Pri)′,P′1]。然后,量子CA根据随机数三P′1生成不可约多项式P′1(x),并将与用户单元共享的随机数一S1作为输入随机数与不可约多项式P′1(x)生成新的基于线性移位寄存器的哈希函数一Hash′1。最后,量子CA将本地存储的隐私身份Pri代入哈希函数一Hash′1获取关于该隐私身份Pri的新的哈希值一H′1(Pri);如果新的哈希值一H′1(Pri)与哈希值一H1(Pri)′相等,则隐私验证通过,用户单元和量子CA获得相同的一次性身份标识OTCA=H1(Pri)⊕u。并且,用户单元和量子CA分别安全存储一次性身份标识OTCA。如果新的哈希值一H′1(Pri)与哈希值一H1(Pri)′不相等,则隐私验证失败,则根据需要,再由用户单元与量子CA重新执行以相同的预设规则生成一次性身份标识OTCA的过程。
S12:用户单元生成包含一次性身份标识OTCA的业务信息Mess。
具体的,用户单元生成根据实际发送业务内容生成业务信息Mess。业务信息Mess的内容应当包含业务数据Data以及用户单元的公开身份标识Pub。当然,业务信息Mess还可以包括时间戳Time和/或业务号O,以及其他的必要或非必要的业务信息,以尽可能确保业务信息Mess中信息的详细。当然,最重要的是,业务信息Mess中必须包含有一次性身份标识OTCA。一方面,一次性身份标识OTCA是基于隐私身份Pri获得,因此具有标识身份的作用,避免了冒充的可能性,为后续的签名签字做准备。另一方面,一次性身份标识OTCA的生成又具有随机性,即每次生成的OTCA都是不同的,因此业务信息Mess也具有随机性,即针对同一业务内容,如果后续的验签无法通过,再次形成的业务信息Mess也不相同的,从而提升了业务信息Mess机密性,提高信息传输的安全。
S13:用户单元生成哈希函数,并基于该哈希函数生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元。
首先,用户单元本地生成n比特的第一量子随机数P2,并与所述接收单元共享n位比特的第二量子随机数S2和2n位比特的第三量子随机数T2。第一量子随机数P2、第二量子随机数S2以及第三量子随机数T2均采用二进制。并且,n为大于0的正整数,本实施例中n取值128。而用户单元和接收单元之间进行随机数的共享,也是通过量子通信网络予以传输实现。
然后,用户单元基于第一量子随机数P2生成不可约多项式P2(x)。生成不可约多项式P2(x)之后,用户单元将第二量子随机数S2作为输入随机数与不可约多项式P2(x)一起生成基于线性反馈移位寄存器的哈希函数二Hash2。然后将业务信息Mess输入哈希函数二Hash2生成哈希值二Hash2(Mess)。该哈希值二Hash2(Mess)和第一量子随机数P2一起构成信息摘要Dig。信息摘要Dig表示为:Dig=[Hash2(Mess),P2]。
进一步的,用户单元将2n位的第三量子随机数T2与2n位的信息摘要Dig进行异或运算,来实现对信息摘要Dig的加密,并形成签名Sign:Sign=Dig⊕T2=[Hash2(Mess),P2]⊕T2;式中,“⊕”表示异或运算。然后用户单元将业务信息Mess和签名Sign一起发送至接收单元。
S14:用户单元将关于业务信息Mess的哈希值二Hash2(Mess)通过经典认证信道发送至量子CA;量子CA获取用户单元发送的哈希值二,记为哈希值二Hash2(Mess)′A,并存储。
S15:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证:若文件验证通过,则接收单元将业务信息Mess′中的一次性身份标识OTCA′发送至量子CA;否则,接收单元拒绝数字签名。
具体的,结合图5,首先,接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′。其次,接收单元通过第三量子随机数T2对签名Sign′进行异或运算获取信息摘要Dig′,具体运算过程表示为:Dig′=Sign′⊕T2。在获得信息摘要Dig′后,进而获取哈希值二Hash2(Mess)′以及第一量子随机数P′2。然后,接收单元基于第一量子随机数P′2和共享的第二量子随机数S2生成新的基于线性移位寄存器的哈希函数二Hash′2。利用该新的哈希函数二Hash′2对接收单元获取业务信息Mess′进行哈希运算获取新的哈希值二Hash′2(Mess′)。最后,接收单元比较新的哈希值二Hash′2(Mess′)与信息摘要Dig′中的哈希值二Hash2(Mess)′是否相等。如果新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′相等,则确定接收单元的文件验证通过,接收单元将业务信息Mess′中的一次性身份标识OTCA′以及哈希值二Hash2(Mess)′通过经典认证信道发送至量子CA。如果新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′不相等,则确定接收单元的文件验证失败,则接收单元直接拒绝数字签名,并结束签名验签的过程,或者重新执行签名验签的过程。
S16:量子CA获取接收单元发送的一次性身份标识,并记为一次性身份标识OTCA″,然后基于该一次性身份标识OTCA″进行身份验证:如果身份验证的结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
具体的,量子CA获取接收单元发送的一次性身份标识和哈希值二,分别记为一次性身份标识OTCA″和哈希值二Hash2(Mess)″B。然后,量子CA基于一次性身份标识OTCA″和哈希值二Hash2(Mess)″B分别查询本地存储中是否存在一次性标识OTCA和哈希值二Hash2(Mess)′A满足一次性身份标识OTCA″等于一次性标识OTCA,且哈希值二Hash2(Mess)″B等于哈希值二Hash2(Mess)′A:如果存在,则身份验证通过;否则,身份验证失败。量子CA将身份验证的验证结果通过经典认证信道发送至接收单元,如果身份验证的验证结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
在该实施例中,相较于实施例1的技术方案,本实施例的技术方案基于一次性身份和关于业务信息的哈希值二进行身份验证。用户单元在将包含一次性身份标识OTCA的业务信息Mess发送至接收单元时,将业务信息Mess的哈希值Hash2(Mess)发送至量子CA。即使接收单元恶意冒用用户单元的身份构建新的业务信息MessB,但是却无法冒用原业务信息Mess的哈希值Hash2(Mess)。因此,新的接收单元在接收原接收单元发送的业务信息MessB后,再向量子CA进行身份验证时,则会无法验证通过,从而有效避免接收单元冒用用户单元的公开身份和一次性身份标识的风险。并且,由于采用基于线性移位寄存器的哈希函数对不同输入值进行哈希运算获得的哈希值发送碰撞的概率不大于k/(2128),k为业务信息Mess的字符长度。从而使得量子CA在存储一次性身份标识OTCA和业务信息Mess的哈希值Hash2(Mess)时,可以单独存储,而不需要考虑二者之间的映射关系,从而进一步简化后续身份验证的对比过程。
实施例3
本实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述实施例1或2中的数字签名验签方法。
实施例4
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例1或2中的数字签名验签方法。
实施例5
本实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述实施例1或2中的数字签名验签方法。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (17)

1.一种量子安全的数字签名验签方法,其特征在于,包括:
S11:用户单元和量子CA共享一次性身份标识OTCA;
S12:用户单元生成包含一次性身份标识OTCA的业务信息Mess;
S13:用户单元生成哈希函数,并基于该哈希函数生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元;
S14:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证:若文件验证通过,则接收单元将业务信息Mess′中的一次性身份标识OTCA′发送至量子CA;否则,接收单元拒绝数字签名;
S15:量子CA获取接收单元发送的一次性身份标识,并记为一次性身份标识OTCA″,然后基于该一次性身份标识OTCA″进行身份验证:如果身份验证的结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
2.根据权利要求1所述的量子安全的数字签名验签方法,其特征在于,
所述用户单元和量子CA生成共享的一次性身份标识OTCA的过程包括:
S21:用户单元向量子CA提交获取身份标识的申请;
S22:量子CA基于该申请生成公开身份标识Pub和隐私身份标识Pri,然后提供至用户单元;
S23:用户单元和量子CA分别本地存储公开身份标识Pub和隐私身份标识Pri;
S24:用户单元和量子CA基于本地存储的隐私身份标识Pri,以相同的预设规则生成一次性身份标识OTCA。
3.根据权利要求2所述的量子安全的数字签名验签方法,其特征在于,
所述用户单元和量子CA基于本地存储的隐私身份标识Pri,以相同的预设规则生成一次性身份标识OTCA的过程包括:
S31:用户单元和量子CA共享m位的二进制的随机数一S1和2m位的二进制随机数二T1,随机数二T1表示为T1=[u,v],其中u和v都是m位的二进制随机数,并且,m为大于0的正整数;
S32:用户单元本地生成m位的随机数三P1,并基于该随机数三P1生成不可约多项式P1(x),然后将随机数一S1作为输入随机数与不可约多项式P1(x)共同生成基于线性移位寄存器的哈希函数一Hash1
S33:用户单元将从量子CA处获取的隐私身份Pri代入哈希函数一Hash1生成关于该隐私身份Pri的哈希值一H1(Pri);
S34:用户单元基于哈希值一H1(Pri)生成隐私身份验证码Mac,所述隐私身份验证码Mac表示为Mac=[H1(Pri),P1]⊕T1,并将隐私身份验证码Mac发送至量子CA;
S35:量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并进行隐私验证:如果验证通过,则用户单元和量子CA获得相同的一次性身份标识OTCA=H1(Pri)⊕u;否则,用户单元与量子CA重新执行以相同的预设规则生成一次性身份标识OTCA的过程。
4.根据权利要求3所述的量子安全的数字签名验签方法,其特征在于,
所述量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并进行隐私验证的过程包括:
S41:量子CA接收隐私身份验证码,记为隐私身份验证码Mac′,并通过随机数二T1对隐私身份验证码Mac′进行异或运算,获得哈希值一H1(Pri)′和随机数三P′1
S42:量子CA根据随机数三P′1生成不可约多项式P′1(x),然后基于不可约多项式P′1(x)和随机数一S1生成新的基于线性移位寄存器的哈希函数一Hash′1
S43:量子CA将本地存储的隐私身份Pri代入哈希函数一Hash′1获取关于该隐私身份Pri的新的哈希值一H′1(Pri);如果新的哈希值一H′1(Pri)与哈希值一H1(Pri)′相等,则隐私验证通过;否则,隐私验证失败。
5.根据权利要求2所述的量子安全的数字签名验签方法,其特征在于,
所述一次性身份标识OTCA被设置为当其生成后开始计时,若计时超过预设时间阈值,则一次性身份标识OTCA失效。
6.根据权利要求2所述的量子安全的数字签名验签方法,其特征在于,
所述业务信息Mess包括业务数据Data以及用户单元的公开身份标识Pub。
7.根据权利要求1所述的量子安全的数字签名验签方法,其特征在于,
所述业务信息Mess包括时间戳Time和/或业务号O。
8.根据权利要求1所述的量子安全的数字签名验签方法,其特征在于,
所述用户单元生成哈希函数,并基于该哈希函数生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元的过程为:
S81:用户单元本地生成n比特的第一量子随机数P2,并与所述接收单元共享n位比特的第二量子随机数S2和2n位比特的第三量子随机数T2
S82:用户单元基于第一量子随机数P2生成不可约多项式P2(x),由不可约多项式P2(x)和第二量子随机数S2生成基于线性移位寄存器的哈希函数二Hash2
S83:用户单元基于该哈希函数二Hash2生成关于业务信息Mess的信息摘要Dig,所述信息摘要Dig表示为:Dig=[Hash2(Mess),P2],式中Hash2(Mess)表示通过哈希函数二Hash2对业务信息Mess进行哈希运算获得的哈希值二;
S84:用户单元使用第三量子随机数T2对信息摘要Dig进行异或运算生成签名Sign,然后将业务信息Mess和签名Sign发送至接收单元。
9.根据权利要求8所述的量子安全的数字签名验签方法,其特征在于,
所述接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证的过程包括:
S91:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′;
S92:接收单元通过第三量子随机数T2对签名Sign′进行异或运算获取信息摘要Dig′,进而获取哈希值二Hash2(Mess)′以及第一量子随机数P′2
S93:基于第一量子随机数P′2和第二量子随机数S2生成新的基于线性移位寄存器的哈希函数二Hash′2,然后对业务信息Mess′进行哈希运算获取新的哈希值二Hash′2(Mess′);
S94:比较新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′:如果二者相等,则文件验证通过,接收单元将业务信息Mess′中的一次性身份标识OTCA′以及公开身份标识Pub′通过经典认证信道发送至量子CA;否则,文件验证失败,接收单元拒绝数字签名。
10.根据权利要求9所述的量子安全的数字签名验签方法,其特征在于,
所述量子CA进行身份验证的过程包括:
S101:量子CA获取接收单元发送的公开身份标识和一次性身份标识,分别记为公开身份标识Pub″和一次性身份标识OTCA″;
S102:量子CA基于公开身份标识Pub″查询本地存储中是否存在对应的公开身份标识Pub和一次性身份标识OTCA,并且在公开身份标识Pub″等于公开身份标识Pub的情况下,一次性身份标识OTCA″与该公开身份标识Pub对应的一次性身份标识OTCA也相等:如果存在,则身份验证通过;否则,身份验证失败;
S103:量子CA将身份验证的验证结果通过经典认证信道发送至接收单元,如果身份验证的验证结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
11.根据权利要求8所述的量子安全的数字签名验签方法,其特征在于,
所述数字签名验签方法还包括:
S111:用户单元将关于业务信息Mess的哈希值二Hash2(Mess)发送至量子CA;
S112:量子CA获取用户单元发送的哈希值二,记为哈希值二Hash2(Mess)′A,并存储。
12.根据权利要求11所述的量子安全的数字签名验签方法,其特征在于,
所述接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证的过程包括:
S121:接收单元获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′;
S122:接收单元通过第三量子随机数T2对签名Sign′进行异或运算获取信息摘要Dig′,进而获取哈希值二Hash2(Mess)′以及第一量子随机数P2′;
S123:基于第一量子随机数P′2和第二量子随机数S2生成新的基于线性移位寄存器的哈希函数二Hash′2,然后对业务信息Mess′进行哈希运算获取新的哈希值二Hash′2(Mess′);
S124:比较新的哈希值二Hash′2(Mess′)与哈希值二Hash2(Mess)′:如果二者相等,则文件验证通过,接收单元将业务信息Mess′中的一次性身份标识OTCA′以及哈希值二Hash2(Mess)′通过经典认证信道发送至量子CA;否则,文件验证失败,接收单元拒绝数字签名。
13.根据权利要求12所述的量子安全的数字签名验签方法,其特征在于,
所述量子CA进行身份验证的过程包括:
S131:量子CA获取接收单元发送的一次性身份标识和哈希值二,分别记为一次性身份标识OTCA″和哈希值二Hash2(Mess)″B
S132:量子CA基于一次性身份标识OTCA″和哈希值二Hash2(Mess)″B分别查询本地存储中是否存在一次性标识OTCA和哈希值二Hash2(Mess)′A满足一次性身份标识OTCA″等于一次性标识OTCA,且哈希值二Hash2(Mess)″B等于哈希值二Hash2(Mess)′A:如果存在,则身份验证通过;否则,身份验证失败;
S133:量子CA将身份验证的验证结果通过经典认证信道发送至接收单元,如果身份验证的验证结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
14.一种量子安全的数字签名验签系统,其特征在于,包括:
用户单元、量子CA以及接收单元;所述用户单元和量子CA生成并共享一次性标识OTCA;
所述用户单元被设置为生成包含一次性身份标识OTCA的业务信息Mess以及生成哈希函数Hash,并基于该哈希函数Hash生成关于业务信息Mess的签名Sign,然后将业务信息Mess和签名Sign发送至接收单元;
所述接收单元被设置为获取用户单元发送的业务信息和签名,分别记为业务信息Mess′和签名Sign′,并基于获取的业务信息Mess′和签名Sign′进行文件验证:若文件验证通过,则接收单元将业务信息Mess′中的一次性身份标识OTCA′发送至量子CA;否则,接收单元拒绝数字签名;
所述量子CA被设置为获取接收单元发送的一次性身份标识,并记为一次性身份标识OTCA″,然后基于该一次性身份标识OTCA″进行身份验证:如果身份验证的结果为验证通过,则接收单元接受数字签名并存储业务信息Mess′;否则,接收单元拒绝数字签名。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,
所述处理器执行所述计算机程序时实现权利要求1至13中任一项所述的数字签名验签方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,
所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的数字签名验签方法。
17.一种计算机程序产品,包括计算机程序,其特征在于,
该计算机程序被处理器执行时实现权利要求1至13中任一项所述的数字签名验签方法。
CN202211012703.7A 2022-08-23 2022-08-23 一种量子安全的数字签名验签方法及系统 Pending CN115378611A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211012703.7A CN115378611A (zh) 2022-08-23 2022-08-23 一种量子安全的数字签名验签方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211012703.7A CN115378611A (zh) 2022-08-23 2022-08-23 一种量子安全的数字签名验签方法及系统

Publications (1)

Publication Number Publication Date
CN115378611A true CN115378611A (zh) 2022-11-22

Family

ID=84068710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211012703.7A Pending CN115378611A (zh) 2022-08-23 2022-08-23 一种量子安全的数字签名验签方法及系统

Country Status (1)

Country Link
CN (1) CN115378611A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116228234A (zh) * 2023-05-09 2023-06-06 矩阵时光数字科技有限公司 一种量子安全的兑换数字货币的方法
CN117574448A (zh) * 2024-01-16 2024-02-20 确信信息股份有限公司 基于事件的电子签名方法、系统、介质及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116228234A (zh) * 2023-05-09 2023-06-06 矩阵时光数字科技有限公司 一种量子安全的兑换数字货币的方法
CN116228234B (zh) * 2023-05-09 2023-07-11 矩阵时光数字科技有限公司 一种量子安全的兑换数字货币的方法
CN117574448A (zh) * 2024-01-16 2024-02-20 确信信息股份有限公司 基于事件的电子签名方法、系统、介质及设备
CN117574448B (zh) * 2024-01-16 2024-04-09 确信信息股份有限公司 基于事件的电子签名方法、系统、介质及设备

Similar Documents

Publication Publication Date Title
CN109559122B (zh) 区块链数据传输方法及区块链数据传输系统
CN111639361A (zh) 一种区块链密钥管理方法、多人共同签名方法及电子装置
US7149311B2 (en) Methods and apparatus for providing networked cryptographic devices resilient to capture
US8654975B2 (en) Joint encryption of data
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US8688996B2 (en) Multipad encryption
CN115378611A (zh) 一种量子安全的数字签名验签方法及系统
US11914754B2 (en) Cryptographic method for verifying data
CN110381055B (zh) 医疗供应链中的rfid系统隐私保护认证协议方法
KR102028092B1 (ko) 신뢰 양자 서명 장치 및 방법
CN115580396B (zh) 匿踪查询系统及匿踪查询方法
CN113095826B (zh) 基于区块链多签名的隐蔽通信方法及系统
JP6041864B2 (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
CN110557247B (zh) 基于身份的区块链方法和系统
CN110061895B (zh) 基于密钥卡的抗量子计算应用系统近距离节能通信方法和系统
EP1440549B1 (en) Authentication of a remote user to a host in a data communication system
CN110838918B (zh) 基于公钥池和签名偏移量的抗量子证书颁发方法及系统
US7327845B1 (en) Transmission of encrypted messages between a transmitter and a receiver utilizing a one-time cryptographic pad
CN117574408B (zh) 基于区块链的生产资料管理方法、装置及电子设备
US20240160792A1 (en) Cryptographic method for verifying data
CN112287399B (zh) 一种数字签名方法、系统及装置
EP4231583A1 (en) Methods and arrangements for establishing digital identity
Sun et al. Application Research in Computer Vision Signature Encryption System of Enterprise Contract Economic Management
CN115277019A (zh) 一种敏捷的数字签名验签方法及系统
CN116668033A (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