CN113779645A - 一种量子数字签名和量子数字签密方法 - Google Patents

一种量子数字签名和量子数字签密方法 Download PDF

Info

Publication number
CN113779645A
CN113779645A CN202111336020.2A CN202111336020A CN113779645A CN 113779645 A CN113779645 A CN 113779645A CN 202111336020 A CN202111336020 A CN 202111336020A CN 113779645 A CN113779645 A CN 113779645A
Authority
CN
China
Prior art keywords
signature
message
receiver
digital signature
verifier
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
CN202111336020.2A
Other languages
English (en)
Other versions
CN113779645B (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.)
Nanjing University
Matrix Time Digital Technology Co Ltd
Original Assignee
Nanjing University
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 Nanjing University, Matrix Time Digital Technology Co Ltd filed Critical Nanjing University
Priority to CN202111336020.2A priority Critical patent/CN113779645B/zh
Publication of CN113779645A publication Critical patent/CN113779645A/zh
Application granted granted Critical
Publication of CN113779645B publication Critical patent/CN113779645B/zh
Priority to PCT/CN2022/118785 priority patent/WO2023082823A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种量子数字签名和量子数字签密方法,其中量子数字签名包括:密钥的产生;数字签名的生成;数字签名的验证。本发明执行签密或签名过程所使用的哈希函数的安全性由不可约多项式和作为输入随机数的哈希函数密钥共同来确保,而不可约多项式依赖于本地的随机数,在签密或签名过程之前不会被接收方和验签方提前知道,即使用了无条件安全的哈希函数,保证了整个签密或签名过程的安全性,直接避免了其他签名中固定不可约多项式遭到泄露而导致的安全风险;而且生成哈希值时对消息的长度没有限制,每一轮签名或签密可以对任意长度的消息进行签名或签密,签名或签密效率非常高。

Description

一种量子数字签名和量子数字签密方法
技术领域
本发明涉及量子安全技术领域,具体涉及一种量子数字签名和量子数字签密方法。
背景技术
加密和数字签名是保证机密性、完整性、真实性和不可抵赖性的两种基本加密工具。在非对称密钥体系中,传统的方法是先对消息进行数字签名,然后再对输出进行加密(sign-then-encryption),这可能会有两个问题:这种叠加方案的效率低、成本高,以及存在任意一种方案都不能保证安全性的情况。签密可以在一个逻辑步骤内完成数字签名和加密的功能,与传统的sign-then-encryption相比,能够有效地减少计算力消耗和通信损耗,以一种更高效的方式同时提供了数字签名和加密方案的特性。
然而目前通用的数字签名以及数字签密方案大多基于非对称密钥体系,它的安全性基于未证明的数学计算难题,随着经典计算力的快速提升以及量子算法的***式地发展,攻击者暴力破解各种签密算法也在不远的将来成为可能,现阶段的经典数字签名以及签密方案将会不再安全。尤其是1994年Peter Shor提出量子Shor算法,使得快速破解基于质因数分解和离散对数问题的公钥算法等变得切实可行,也就是说未来量子计算机的出现和发展将对现阶段的经典数字签名与数字签密方案构成致命的威胁。在当前快速发展的数字化社会中,它们的安全性不能够满足在验证消息真实性的同时并保证消息安全的要求。
申请号为202110841257.X,一种量子数字签名方法的中国专利中提出:签名方、第一验证方和第二验证方在数字签名过程中,在生成和验证签名的过程之前,三方均已明确生成哈希函数所用的不可约多项式,不可约多项式是固定的,已被提前共享。该量子数字签名是基于信息理论的无条件安全的,但是该方案的不可约多项式是固定的,有泄露多项式导致被攻击的风险。
综上,现有的经典数字签名以及数字签密方案的安全性并不能够为当前快速发展的数字化社会提供足够的安全性支撑,因此出现许多量子数字签名方案。目前的最高效的量子数字签名方案是申请号202110841257.X提出的,该方案存在着泄露不可约多项式的风险。与此同时,现在并不存在无条件安全的数字签密方案。因此,发明一种无条件安全的量子数字签名和签密方案显得尤为重要和急迫。
发明内容
发明目的:本发明目的是提供一种量子数字签名和量子数字签密方法,解决了现阶段的经典数字签密协议的安全性受到极大的威胁,诸多早期的哈希函数和公钥算法已经被攻破,以及未来量子计算机的出现将对目前的数字签密协议的算法安全性构成致命威胁;同时解决了高效量子数字签名方案中固定不可约多项式遭到泄露会导致安全风险的问题;还解决了目前的数字签名或签密协议效率较低,消耗资源较多,生成签名需要消耗大量通信资源的问题。
技术方案:本发明提供一种量子数字签名方法,所述方法包括以下步骤:
(1)准备密钥:签名方、接收方和验证方分别持有各自的两组随机密钥,且签名方、接收方和验证方之间的密钥形成秘密共享;
(2)生成签名:签名方的随机数发生器获取n位随机数,所述n位随机数用于生成不可约多项式,签名方使用自己的第一组密钥作为输入随机数与不可约多项式一起生成基于线性反馈移位寄存器的哈希函数,再将需要签名的消息输入哈希函数,得到哈希值,哈希值与不可约多项式中除最高项以外每一项系数组成的字符串构成消息摘要;签名方使用自己的第二组密钥对消息摘要进行无条件安全加密,生成签名;
(3)验证签名:签名方将需要签名的消息和签名作为一个整体发送给接收方,接收方接收后将自己持有的两组密钥、需要签名的消息和签名发送给验证方,验证方接收后将自己持有的两组密钥发送给接收方,接收方和验证方根据各自持有的密钥分别推算出签名方的两组密钥;
接收方和验证方分别用各自推算出的签名方第二组密钥对签名进行解密操作,得到第一反向摘要和第二反向摘要,第一反向摘要和第二反向摘要均各自利用摘要中字符串的每一位对应不可约多项式中除最高项以外每一项的系数,生成一个最高项系数为1的不可约多项式,生成的不可约多项式与各自推算出的签名方第一组密钥生成哈希函数,再将接收到的需要签名的消息输入生成的哈希函数生成接收方的第一正向哈希值和验证方的第二正向哈希值;如果第一正向哈希值等于第一反向摘要中的哈希值,则接收方接受签名,否则不接受;如果第二正向哈希值等于第二反向摘要中的哈希值,则验证方接受签名,否则不接受;如果接收方和验证方同时接受则完成数字签名。
进一步的,所述步骤(1)中,参与方之间的密钥满足秘密共享条件:
X 1X 2X 3=0,Y 1Y 2Y 3=0,
式中,X 1Y 1分别是签名方持有的第一组和第二组密钥,X 2Y 2分别是接收方持有的第一组和第二组密钥,X 3Y 3分别是验证方持有的第一组和第二组密钥。
进一步的,所述步骤(2)中,无条件安全加密为一次一密的异或加密。
进一步的,所述步骤(2)中,基于线性反馈移位寄存器的哈希函数为维度n×m的Toeplitz矩阵,其中n为签名方第一组密钥的长度,m为需要签名消息的长度。
进一步的,所述步骤(2)中,n位随机数用于生成不可约多项式的具体过程为:
1)首先,依次用n位随机数的每一位对应多项式中除最高项以外每一项的系数,生成一个GF(2) 域中的n阶多项式,最高项的系数为1;
2)然后,验证n阶多项式是否为不可约多项式,若验证结果为“否”,则从签名方的随机数发生器直接生成n位的另一组随机数,作为新的n位随机数返回步骤1)重新生成多项式并验证;若验证结果为“是”,则停止验证,得到不可约多项式。
进一步的,所述验证n阶多项式是否为不可约多项式的方法为:
依次验证
Figure 100002_DEST_PATH_IMAGE001
是否成立,其中
Figure 100002_DEST_PATH_IMAGE002
Figure 100002_DEST_PATH_IMAGE003
表示对
Figure 100002_DEST_PATH_IMAGE004
取整,若对所有的
Figure 100002_DEST_PATH_IMAGE005
均验证通过,则
Figure 100002_DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式;其中
Figure 100002_DEST_PATH_IMAGE007
表示GF(2)上
Figure 100002_DEST_PATH_IMAGE008
的最大公因式,
Figure 639721DEST_PATH_IMAGE008
指两个任意多项式。
进一步的,所述验证n阶多项式是否为不可约多项式的方法为:
验证条件
Figure 100002_DEST_PATH_IMAGE009
、和
Figure 100002_DEST_PATH_IMAGE010
是否同时成立,其中
Figure 448539DEST_PATH_IMAGE009
表示
Figure 100002_DEST_PATH_IMAGE011
的余式和
Figure 100002_DEST_PATH_IMAGE012
的余式相同,d是n的任意素因子,
Figure 759435DEST_PATH_IMAGE007
表示GF(2)上
Figure 574551DEST_PATH_IMAGE008
的最大公因式,
Figure 326606DEST_PATH_IMAGE008
指两个任意多项式,当同时满足这两个验证条件时,则
Figure 945806DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式。
进一步的,在步骤1)之前,若n位随机数的最后一位为0,则令随机数的最后一位为1;或若n位随机数的最后一位为0,则重新生成n位随机数直至生成的n位随机数最后一位为1。
本发明还包括一种量子数字签密方法,所述方法包括以下步骤:
a、加密:签密方对明文消息使用保密密钥加密,得到密文;
b、通过上述的量子数字签名方法对密文进行数字签名,在对密文进行数字签名的过程中将密文作为需要签名的消息以及签密方还将保密密钥用无条件安全的方式发送给接收方;
c、完成数字签名之后,接收方根据保密密钥对密文解密得到明文消息,明文消息即为最终需要得到的消息。
进一步的,所述步骤b中,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现。
本发明还包括一种量子数字签密方法,所述方法包括以下步骤:
S1加密:签密方对明文消息使用保密密钥加密,得到密文;签密方将密文发送给接收方,接收方接收后将密文发送给验证方;同时,签密方还将保密密钥用无条件安全的方式发送给接收方和验证方;
S2通过上述的量子数字签名方法对明文消息进行数字签名,在对明文消息进行数字签名的过程中将明文消息作为需要签名的消息以及接收方和验证方根据保密密钥对密文解密得到需要签名的消息即明文消息,签密方无需再将需要签名的消息发送给接收方和验证方;
S3完成数字签名之后,明文消息即为最终需要得到的消息。
进一步的,所述步骤S2中,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现。
本发明的有益效果:
(1)本发明提出的方法能够实现真正的无条件安全的签密,是由经过严格数学证明的无条件安全的一次一密技术以及一次一全域哈希技术保证,是真正的无条件安全,无论在日益强大的经典计算攻击还是未来颠覆性的量子计算攻击面前都是安全的;
(2)执行签密或签名过程所使用的哈希函数的安全性由不可约多项式和作为输入随机数的哈希函数密钥共同来确保,而不可约多项式依赖于本地的随机数,在签密或签名过程之前不会被接收方和验签方提前知道,即使用了无条件安全的哈希函数,保证了整个签密或签名过程的安全性,直接避免了其他签名中固定不可约多项式遭到泄露而导致的安全风险;
(3)本发明使用每次更新的基于线性反馈移位寄存器的哈希函数生成哈希值并对哈希值进行一次一密的无条件加密,可以对任意长度的消息进行签名和签密,跟现有的签密或签名协议相比具有更高的效率和无条件安全性。
附图说明
图1为实施例2的量子数字签密流程图;
图2为实施例3的量子数字签密流程图。
具体实施方式
下面结合附图和实施例对本发明做进一步描述:
实施例1
本发明的量子数字签名方法有如下三个步骤:准备密钥阶段,生成签名阶段以及验证签名阶段。
(1)准备密钥:签名方、接收方和验证方分别持有各自的两组随机密钥,这6串密钥分为两组,记为X组和Y组。签名方持有的两串的随机数密钥串记为X 1Y 1,同理接收方持有X 2Y 2,验证方持有X 3Y 3,且签名方、接收方和验证方之间的密钥形成秘密共享;实现秘密共享的方式优选量子秘密共享;
秘密共享的关系:同时持有X 2X 3才能推断出X 1,同时持有Y 2Y 3才能推断出Y 1,即满足条件:
X 1X 2X 3=0,Y 1Y 2Y 3=0,
式中,X 1Y 1分别是签名方持有的第一组和第二组密钥,X 2Y 2分别是接收方持有的第一组和第二组密钥,X 3Y 3分别是验证方持有的第一组和第二组密钥;其中X 1X 2X 3是n位,Y 1Y 2Y 3是2n位;
(2)生成签名:签名方通过自己的随机数发生器获取n位随机数,n位随机数用于生成不可约多项式,其具体过程为:
首先,依次用n位随机数的每一位对应多项式中除最高项以外每一项的系数,生成一个GF(2) 域中的n阶多项式,最高项的系数为1;例如,随机数为
Figure DEST_PATH_IMAGE013
,则生成的多项式为
Figure DEST_PATH_IMAGE014
;优选地,只有当
Figure DEST_PATH_IMAGE015
时,生成的多项式才有可能是不可约多项式,因此,为减少后期验证不可约多项式时的计算量,可以先对n位随机数进行判断:若n位随机数的最后一位为0,则令随机数的最后一位为1;或若n位随机数的最后一位为0,则重新生成n位随机数直至生成的n位随机数最后一位为1;这样能减少后期验证不可约多项式时的计算量,最后使得
Figure 166834DEST_PATH_IMAGE015
,生成的多项式为
Figure DEST_PATH_IMAGE016
然后,验证n阶多项式是否为不可约多项式,若验证结果为“否”,则从签名方的随机数发生器直接生成n位的另一组随机数,作为新的n位随机数返回重新生成多项式并验证;若验证结果为“是”,则停止验证,得到不可约多项式;
验证此处的不可约多项式有多种方法,优选我们在本发明中提到的两种方法:
方法一:依次验证
Figure 83844DEST_PATH_IMAGE001
是否成立,其中
Figure 424826DEST_PATH_IMAGE002
Figure 103676DEST_PATH_IMAGE003
表示对
Figure 530109DEST_PATH_IMAGE004
取整,若对所有的
Figure 454072DEST_PATH_IMAGE005
均验证通过,则
Figure 774195DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式;其中
Figure 876143DEST_PATH_IMAGE007
表示GF(2)上
Figure 540605DEST_PATH_IMAGE008
的最大公因式,
Figure 487832DEST_PATH_IMAGE008
指两个任意多项式。
方法二:验证条件
Figure 318254DEST_PATH_IMAGE009
、和
Figure 184579DEST_PATH_IMAGE010
是否同时成立,其中
Figure 585604DEST_PATH_IMAGE009
表示
Figure 349904DEST_PATH_IMAGE011
的余式和
Figure 379040DEST_PATH_IMAGE012
的余式相同,d是n的任意素因子,
Figure 822791DEST_PATH_IMAGE007
表示GF(2)上
Figure 694801DEST_PATH_IMAGE008
的最大公因式,
Figure 514989DEST_PATH_IMAGE008
指两个任意多项式,当同时满足这两个验证条件时,则
Figure 555889DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式。
一般地,取
Figure DEST_PATH_IMAGE017
因此条件(2)中只需要取d=2。可选地,取
Figure DEST_PATH_IMAGE018
。由于此方法只需要验证这两个条件,我们采用Fast modular composition算法来快速得到
Figure 888650DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE019
,用
Figure DEST_PATH_IMAGE020
替换条件(2)的
Figure DEST_PATH_IMAGE021
进行计算,通过降低阶数的方法来更快的得到计算结果。
生成不可约多项式后,签名方使用自己的第一组n位密钥X 1作为输入随机数与不可约多项式一起生成基于线性反馈移位寄存器的哈希函数,再将需要签名的消息输入哈希函数,得到哈希值,哈希值与不可约多项式中除最高项以外每一项系数组成的字符串构成消息摘要,构成消息摘要的形式可以通过预先的规则进行,如哈希值+字符串、字符串+哈希值等等都是可以的,最终得到的消息摘要是2n位的;签名方使用自己的第二组2n位密钥Y 1对消息摘要进行无条件安全加密,无条件安全加密优选为一次一密的异或加密,然后生成最终的签名;
其中,基于线性反馈移位寄存器的哈希函数为维度n×m的Toeplitz矩阵,其中n为签名方第一组密钥的长度,m为需要签名消息的长度。
签名方利用不可约多项式和作为输入随机数的第一组n位密钥X 1一起生成基于线性反馈移位寄存器的哈希函数,对于本实施例即一个n×m的基于线性反馈移位寄存器的Toeplitz矩阵作为哈希函数,其中m为需要签名的消息的长度;将生成的哈希函数与消息对应的列向量做矩阵乘法,得到这个消息对应的哈希值,哈希值是一个长度为n的列向量,哈希值与不可约多项式中除最高项以外每一项系数组成的字符串构成消息摘要;签名方使用自己的第二组2n位密钥Y 1对消息摘要进行异或加密操作,生成最终的长度为2n的数字签名;
举例说明,签名方选择密钥和随机数来产生基于线性反馈移位寄存器(下称LFSR)的托普利兹矩阵作为哈希函数;基于LFSR的托普利兹矩阵为
Figure DEST_PATH_IMAGE022
的矩阵,其中
Figure DEST_PATH_IMAGE023
是对应需要签名的消息向量的长度,是一个可变的值,
Figure DEST_PATH_IMAGE024
是一个固定的值,代表了矩阵对消息作用后生成的哈希值向量的长度;也就是说,基于LFSR的托普利兹矩阵可以将作为需要签名的消息的任意长度
Figure 192765DEST_PATH_IMAGE023
的向量转化为长度固定为n的向量即哈希值,这样的操作对于接收的消息长度没有要求,即每一轮签名可以对任意长度的消息进行签名,签名效率要高于现有的量子数字签名技术;
(3)验证签名:签名方将需要签名的消息和签名作为一个整体发送给接收方,接收方接收后将自己持有的两组密钥X 2Y 2、需要签名的消息和签名发送给验证方,验证方接收后将自己持有的两组密钥X 3Y 3发送给接收方,接收方和验证方根据各自持有的密钥分别推算出签名方的两组密钥;需要说明的是,接收方和验证方之间交换信息是需要认证的经典信道,防止被篡改;
此时,接收方和验证方均含有X 2Y 2X 3Y 3,然后将密钥进行异或操作即X 2X 3Y 2Y 3,即可得到与签名方相同的最终密钥串;将接收方推算出的密钥记为X 1 BY 1 B,验证方推算出的密钥记为X 1 CY 1 C
接收方和验证方分别用各自推算出的签名方第二组密钥Y 1 BY 1 C对签名进行解密操作,得到第一反向摘要和第二反向摘要,第一反向摘要和第二反向摘要均由哈希值和不可约多项式中除最高项以外每一项系数组成的字符串组成;第一反向摘要和第二反向摘要均各自通过之前的预设规则利用摘要中字符串的每一位对应不可约多项式中除最高项以外每一项的系数,生成一个最高项系数为1的不可约多项式,生成的不可约多项式与各自推算出的签名方第一组密钥X 1 BX 1 C生成哈希函数,再将接收到的需要签名的消息输入生成的哈希函数生成接收方的第一正向哈希值和验证方的第二正向哈希值;如果第一正向哈希值等于第一反向摘要中的哈希值,则接收方接受签名,否则不接受;如果第二正向哈希值等于第二反向摘要中的哈希值,则验证方接受签名,否则不接受;如果接收方和验证方同时接受则完成数字签名。
本发明的技术方案要求双方同时接受才能是一次成功的签名过程,需要着重说明的是,本发明的数字签名方案消耗的密钥长度是固定的,也就是接收方的两串密钥以及验证方的两串密钥的长度是可以固定下来的。因此,对于长消息进行签名时,消耗的随机数资源个数是可以提前固定的,不会随着消息长度而变化。预先固定了适合的密钥长度即可进行无条件安全的数字签名,在这种情况下,无论需要现实中加密的消息的长度为多少,都能进行有效且无条件安全的签名。
本发明的技术方案不再固定不可约多项式,而是通过随机数以及判断是否为不可约多项式的方法来生成不可约多项式,这样直接避免了固定的不可约多项式遭到泄露而导致的安全风险。
而且,执行签名过程所使用的哈希函数的安全性由不可约多项式和作为输入随机数的哈希函数密钥共同来确保,而不可约多项式依赖于签名方本地的随机数,在签名过程之前不会被接收方和验证方提前知道,即使用了无条件安全的哈希函数,保证了整个签名过程的安全性。本方案的量子数字签名的安全失败概率是m/(2 n-1 ),即使效率m=264 对于n=128时其失败概率也只有可忽略的10-19
实施例2
本发明包括一种量子数字签密方法,参与方为签密方Alice,接收方Bob和验证方Charlie,包括以下步骤:
a加密:签密方Alice对明文消息使用保密密钥
Figure DEST_PATH_IMAGE025
加密,得到密文;优选的加密采用异或操作;
b通过上述的量子数字签名方法对密文进行数字签名,在对密文进行数字签名的过程中将密文作为需要签名的消息以及签密方还将保密密钥
Figure 347803DEST_PATH_IMAGE025
用无条件安全的方式发送给接收方,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现;其具体过程为:
1)准备密钥:签密方Alice,接收方Bob和验证方Charlie分别持有各自的两组随机密钥,这6串密钥分为两组,记为X组和Y组。签密方Alice持有的两串的随机数密钥串记为X 1Y 1,同理接收方Bob持有X 2Y 2,验证方Charlie持有X 3Y 3,且签密方Alice,接收方Bob和验证方Charlie之间的密钥形成秘密共享;实现秘密共享的方式优选量子秘密共享;
秘密共享的关系:同时持有X 2X 3才能推断出X 1,同时持有Y 2Y 3才能推断出Y 1,即满足条件:
X 1X 2X 3=0,Y 1Y 2Y 3=0,
式中,X 1Y 1分别是签密方Alice持有的第一组和第二组密钥,X 2Y 2分别是接收方Bob持有的第一组和第二组密钥,X 3Y 3分别是验证方Charlie持有的第一组和第二组密钥;其中X 1X 2X 3是n位,Y 1Y 2Y 3是2n位;
2)生成签名:签密方Alice通过自己的随机数发生器获取n位随机数,n位随机数用于生成不可约多项式,其具体过程为:
首先,依次用n位随机数的每一位对应多项式中除最高项以外每一项的系数,生成一个GF(2) 域中的n阶多项式,最高项的系数为1;例如,随机数为
Figure 741744DEST_PATH_IMAGE013
,则生成的多项式为
Figure 527297DEST_PATH_IMAGE014
;优选地,只有当
Figure 872435DEST_PATH_IMAGE015
时,生成的多项式才有可能是不可约多项式,因此,为减少后期验证不可约多项式时的计算量,可以先对n位随机数进行判断:若n位随机数的最后一位为0,则令随机数的最后一位为1;或若n位随机数的最后一位为0,则重新生成n位随机数直至生成的n位随机数最后一位为1;这样能减少后期验证不可约多项式时的计算量,最后使得
Figure 893480DEST_PATH_IMAGE015
,生成的多项式为
Figure 627081DEST_PATH_IMAGE016
然后,验证n阶多项式是否为不可约多项式,若验证结果为“否”,则从签密方Alice的随机数发生器直接生成n位的另一组随机数,作为新的n位随机数返回重新生成多项式并验证;若验证结果为“是”,则停止验证,得到不可约多项式;
验证此处的不可约多项式有多种方法,优选我们在本发明中提到的两种方法:
方法一:依次验证
Figure 832803DEST_PATH_IMAGE001
是否成立,其中
Figure 183013DEST_PATH_IMAGE002
Figure 633848DEST_PATH_IMAGE003
表示对
Figure 612169DEST_PATH_IMAGE004
取整,若对所有的
Figure 690590DEST_PATH_IMAGE005
均验证通过,则
Figure 777363DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式;其中
Figure 874632DEST_PATH_IMAGE007
表示GF(2)上
Figure 113984DEST_PATH_IMAGE008
的最大公因式,
Figure 897394DEST_PATH_IMAGE008
指两个任意多项式。
方法二:验证条件
Figure 956617DEST_PATH_IMAGE009
、和
Figure 123156DEST_PATH_IMAGE010
是否同时成立,其中
Figure 935123DEST_PATH_IMAGE009
表示
Figure 404282DEST_PATH_IMAGE011
的余式和
Figure 433024DEST_PATH_IMAGE012
的余式相同,d是n的任意素因子,
Figure 403255DEST_PATH_IMAGE007
表示GF(2)上
Figure 820460DEST_PATH_IMAGE008
的最大公因式,
Figure 709788DEST_PATH_IMAGE008
指两个任意多项式,当同时满足这两个验证条件时,则
Figure 602658DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式。
一般地,取
Figure 986366DEST_PATH_IMAGE017
,因此条件(2)中只需要取d=2。可选地,取
Figure 274390DEST_PATH_IMAGE018
。由于此方法只需要验证这两个条件,我们采用Fast modular composition算法来快速得到
Figure 85351DEST_PATH_IMAGE011
Figure 465517DEST_PATH_IMAGE019
,用
Figure 636604DEST_PATH_IMAGE020
替换条件(2)的
Figure 293981DEST_PATH_IMAGE021
进行计算,通过降低阶数的方法来更快的得到计算结果。
生成不可约多项式后,签密方Alice使用自己的第一组n位密钥X 1作为输入随机数与不可约多项式一起生成基于线性反馈移位寄存器的哈希函数,再将密文输入哈希函数,得到哈希值,哈希值与不可约多项式中除最高项以外每一项系数组成的字符串构成密文摘要,构成密文摘要的形式可以通过预先的规则进行,如哈希值+字符串、字符串+哈希值等等都是可以的,最终得到的密文摘要是2n位的;签密方Alice使用自己的第二组2n位密钥Y 1对密文摘要进行无条件安全加密,无条件安全加密优选为一次一密的异或加密,然后生成最终的签名;
其中,基于线性反馈移位寄存器的哈希函数为维度n×m的Toeplitz矩阵,其中n为签密方Alice第一组密钥的长度,m为密文的长度。
签密方Alice利用不可约多项式和作为输入随机数的第一组n位密钥X 1一起生成基于线性反馈移位寄存器的哈希函数,对于本实施例即一个n×m的基于线性反馈移位寄存器的Toeplitz矩阵作为哈希函数,其中m为密文的长度;将生成的哈希函数与密文对应的列向量做矩阵乘法,得到这个密文对应的哈希值,哈希值是一个长度为n的列向量,哈希值与不可约多项式中除最高项以外每一项系数组成的字符串构成密文摘要;签密方Alice使用自己的第二组2n位密钥Y 1对密文摘要进行异或加密操作,生成最终的长度为2n的数字签名;
3)验证签名:签密方Alice将密文和签名作为一个整体发送给接收方Bob,与此同时,签密方Alice还将保密密钥
Figure 23646DEST_PATH_IMAGE025
用无条件安全的方式发送给接收方Bob,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现;接收方Bob接收后将自己持有的两组密钥X 2Y 2、密文和签名发送给验证方Charlie,验证方Charlie接收后将自己持有的两组密钥X 3Y 3发送给接收方Bob,接收方Bob和验证方Charlie根据各自持有的密钥分别推算出签密方Alice的两组密钥;需要说明的是,接收方Bob和验证方Charlie之间交换信息是需要认证的经典信道,防止被篡改;
此时,接收方Bob和验证方Charlie均含有X 2Y 2X 3Y 3,然后将密钥进行异或操作即X 2X 3Y 2Y 3,即可得到与签密方Alice相同的最终密钥串;将接收方Bob推算出的密钥记为X 1 BY 1 B,验证方Charlie推算出的密钥记为X 1 CY 1 C
接收方Bob和验证方Charlie分别用各自推算出的签密方Alice第二组密钥Y 1 BY 1 C对签名进行解密操作,得到第一反向摘要
Figure DEST_PATH_IMAGE026
和第二反向摘要
Figure DEST_PATH_IMAGE027
,第一反向摘要
Figure 484584DEST_PATH_IMAGE026
和第二反向摘要
Figure 210094DEST_PATH_IMAGE027
均由哈希值和不可约多项式中除最高项以外每一项系数组成的字符串组成;第一反向摘要
Figure 581033DEST_PATH_IMAGE026
和第二反向摘要
Figure 484529DEST_PATH_IMAGE027
均各自通过之前的预设规则利用摘要中字符串的每一位对应不可约多项式中除最高项以外每一项的系数,生成一个最高项系数为1的不可约多项式,生成的不可约多项式与各自推算出的签密方Alice第一组密钥X 1 BX 1 C生成哈希函数,再将接收到的密文输入生成的哈希函数生成接收方Bob的第一正向哈希值
Figure DEST_PATH_IMAGE028
和验证方Charlie的第二正向哈希值
Figure DEST_PATH_IMAGE029
;如果第一正向哈希值
Figure 167183DEST_PATH_IMAGE028
等于第一反向摘要
Figure 696384DEST_PATH_IMAGE026
中的哈希值,则接收方Bob接受签名,否则不接受;如果第二正向哈希值
Figure 921829DEST_PATH_IMAGE029
等于第二反向摘要
Figure 993297DEST_PATH_IMAGE027
中的哈希值,则验证方Charlie接受签名,否则不接受;如果接收方Bob和验证方Charlie同时接受则完成数字签名。
c、只有当接收方Bob和验证方Charlie都接受签名的时候,才能视作签名成功,否则失败。完成数字签名之后,接收方Bob根据保密密钥
Figure 710717DEST_PATH_IMAGE025
对密文解密得到明文消息,明文消息即为最终需要得到的消息。
该方案中并不要求验证方Charlie是可信任的,这并不影响我们的签密的安全性。因为签密方Alice在这里无需将加密明文的保密密钥
Figure 27298DEST_PATH_IMAGE025
共享给验证方Charlie,因此验证方Charlie不存在获得明文消息的途径,也就不会影响方案中加密的安全性。与此同时,该签密方案的签名的安全性由无条件安全的哈希函数和一次一密来保障,并不要求验证方Charlie是可信任的。不需要诚实验证方Charlie的签密方案实用化程度更高,对参与方的要求更少,更容易推广。
实施例3
本发明包括一种量子数字签密方法,参与方为签密方Alice,接收方Bob和验证方Charlie,方法包括以下步骤:
S1加密:签密方Alice对明文消息使用保密密钥
Figure 513774DEST_PATH_IMAGE025
加密,得到密文;签密方Alice将密文发送给接收方Bob,接收方Bob接收后将密文发送给验证方Charlie;同时,签密方Alice还将保密密钥
Figure 290232DEST_PATH_IMAGE025
用无条件安全的方式发送给接收方Bob和验证方Charlie,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现;
S2通过与实施例1相同的量子数字签名方法对明文消息进行数字签名,在对明文消息进行数字签名的过程中将明文消息作为需要签名的消息,其不同之处在于:验证签名时,接收方Bob和验证方Charlie根据保密密钥
Figure 354003DEST_PATH_IMAGE025
对密文解密得到需要签名的消息即明文消息,签密方Alice无需再将需要签名的消息发送给接收方和验证方;
S3完成数字签名之后,明文消息即为最终需要得到的消息。
在该方案中,要求验证方Charlie是可信任的,优势是信任的验证方Charlie能够自动备份一份明文消息。

Claims (12)

1.一种量子数字签名方法,其特征在于,所述方法包括以下步骤:
(1)准备密钥:签名方、接收方和验证方分别持有各自的两组随机密钥,且签名方、接收方和验证方之间的密钥形成秘密共享;
(2)生成签名:签名方的随机数发生器获取n位随机数,所述n位随机数用于生成不可约多项式,签名方使用自己的第一组密钥作为输入随机数与不可约多项式一起生成基于线性反馈移位寄存器的哈希函数,再将需要签名的消息输入哈希函数,得到哈希值,哈希值与不可约多项式中除最高项以外每一项系数组成的字符串构成消息摘要;签名方使用自己的第二组密钥对消息摘要进行无条件安全加密,生成签名;
(3)验证签名:签名方将需要签名的消息和签名作为一个整体发送给接收方,接收方接收后将自己持有的两组密钥、需要签名的消息和签名发送给验证方,验证方接收后将自己持有的两组密钥发送给接收方,接收方和验证方根据各自持有的密钥分别推算出签名方的两组密钥;
接收方和验证方分别用各自推算出的签名方第二组密钥对签名进行解密操作,得到第一反向摘要和第二反向摘要,第一反向摘要和第二反向摘要均各自利用摘要中字符串的每一位对应不可约多项式中除最高项以外每一项的系数,生成一个最高项系数为1的不可约多项式,生成的不可约多项式与各自推算出的签名方第一组密钥生成哈希函数,再将接收到的需要签名的消息输入生成的哈希函数生成接收方的第一正向哈希值和验证方的第二正向哈希值;如果第一正向哈希值等于第一反向摘要中的哈希值,则接收方接受签名,否则不接受;如果第二正向哈希值等于第二反向摘要中的哈希值,则验证方接受签名,否则不接受;如果接收方和验证方同时接受则完成数字签名。
2.根据权利要求1所述的一种量子数字签名方法,其特征在于:所述步骤(1)中,参与方之间的密钥满足秘密共享条件:
X 1X 2X 3=0,Y 1Y 2Y 3=0,
式中,X 1Y 1分别是签名方持有的第一组和第二组密钥,X 2Y 2分别是接收方持有的第一组和第二组密钥,X 3Y 3分别是验证方持有的第一组和第二组密钥。
3.根据权利要求1所述的一种量子数字签名方法,其特征在于:所述步骤(2)中,无条件安全加密为一次一密的异或加密。
4.根据权利要求1所述的一种量子数字签名方法,其特征在于:所述步骤(2)中,基于线性反馈移位寄存器的哈希函数为维度n×m的Toeplitz矩阵,其中n为签名方第一组密钥的长度,m为需要签名消息的长度。
5.根据权利要求1所述的一种量子数字签名方法,其特征在于:所述步骤(2)中,n位随机数用于生成不可约多项式的具体过程为:
1)首先,依次用n位随机数的每一位对应多项式中除最高项以外每一项的系数,生成一个GF(2) 域中的n阶多项式,最高项的系数为1;
2)然后,验证n阶多项式是否为不可约多项式,若验证结果为“否”,则从签名方的随机数发生器直接生成n位的另一组随机数,作为新的n位随机数返回步骤1)重新生成多项式并验证;若验证结果为“是”,则停止验证,得到不可约多项式。
6.根据权利要求5所述的一种量子数字签名方法,其特征在于:所述验证n阶多项式是否为不可约多项式的方法为:
依次验证
Figure DEST_PATH_IMAGE001
是否成立,其中
Figure DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE003
表示对
Figure DEST_PATH_IMAGE004
取整,若对所有的
Figure DEST_PATH_IMAGE005
均验证通过,则
Figure DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式;其中
Figure DEST_PATH_IMAGE007
表示GF(2)上
Figure DEST_PATH_IMAGE008
的最大公因式,
Figure 925183DEST_PATH_IMAGE008
指两个任意多项式。
7.根据权利要求5所述的一种量子数字签名方法,其特征在于:所述验证n阶多项式是否为不可约多项式的方法为:
验证条件
Figure DEST_PATH_IMAGE009
Figure DEST_PATH_IMAGE010
是否同时成立,其中
Figure 701378DEST_PATH_IMAGE009
表示
Figure DEST_PATH_IMAGE011
的余式和
Figure DEST_PATH_IMAGE012
的余式相同,d是n的任意素因子,
Figure 277852DEST_PATH_IMAGE007
表示GF(2)上
Figure 204220DEST_PATH_IMAGE008
的最大公因式,
Figure 549751DEST_PATH_IMAGE008
指两个任意多项式,当同时满足这两个验证条件时,则
Figure 168951DEST_PATH_IMAGE006
是GF(2)上的n阶不可约多项式。
8.根据权利要求5所述的一种量子数字签名方法,其特征在于:在步骤1)之前,若n位随机数的最后一位为0,则令随机数的最后一位为1;或若n位随机数的最后一位为0,则重新生成n位随机数直至生成的n位随机数最后一位为1。
9.一种基于量子数字签名方法的量子数字签密方法,其特征在于,所述方法包括以下步骤:
a、加密:签密方对明文消息使用保密密钥加密,得到密文;
b、通过权利要求1-6任一所述的量子数字签名方法对密文进行数字签名,在对密文进行数字签名的过程中将密文作为需要签名的消息以及签密方还将保密密钥用无条件安全的方式发送给接收方;
c、完成数字签名之后,接收方根据保密密钥对密文解密得到明文消息,明文消息即为最终需要得到的消息。
10.根据权利要求9所述的一种量子数字签密方法,其特征在于:所述步骤b中,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现。
11.一种基于量子数字签名方法的量子数字签密方法,其特征在于,所述方法包括以下步骤:
S1加密:签密方对明文消息使用保密密钥加密,得到密文;签密方将密文发送给接收方,接收方接收后将密文发送给验证方;同时,签密方还将保密密钥用无条件安全的方式发送给接收方和验证方;
S2通过权利要求1-6任一所述的量子数字签名方法对明文消息进行数字签名,在对明文消息进行数字签名的过程中将明文消息作为需要签名的消息以及接收方和验证方根据保密密钥对密文解密得到需要签名的消息即明文消息,签密方无需再将需要签名的消息发送给接收方和验证方;
S3完成数字签名之后,明文消息即为最终需要得到的消息。
12.根据权利要求11所述的一种量子数字签密方法,其特征在于:所述步骤S2中,无条件安全的方式采用量子密钥分发技术或安全配送量子随机数的方式来实现。
CN202111336020.2A 2021-11-12 2021-11-12 一种量子数字签名和量子数字签密方法 Active CN113779645B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111336020.2A CN113779645B (zh) 2021-11-12 2021-11-12 一种量子数字签名和量子数字签密方法
PCT/CN2022/118785 WO2023082823A1 (zh) 2021-11-12 2022-09-14 一种量子数字签名和量子数字签密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111336020.2A CN113779645B (zh) 2021-11-12 2021-11-12 一种量子数字签名和量子数字签密方法

Publications (2)

Publication Number Publication Date
CN113779645A true CN113779645A (zh) 2021-12-10
CN113779645B CN113779645B (zh) 2022-02-22

Family

ID=78957051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111336020.2A Active CN113779645B (zh) 2021-11-12 2021-11-12 一种量子数字签名和量子数字签密方法

Country Status (2)

Country Link
CN (1) CN113779645B (zh)
WO (1) WO2023082823A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938281A (zh) * 2021-12-17 2022-01-14 南京大学 一种量子安全身份的颁发***、颁发方法及使用方法
CN114254284A (zh) * 2022-02-28 2022-03-29 南京大学 数字证书生成、身份认证方法及量子ca认证中心与***
CN114626537A (zh) * 2022-05-17 2022-06-14 矩阵时光数字科技有限公司 一种基于x86平台SIMD的不可约多项式及量子安全哈希值计算方法
WO2023082823A1 (zh) * 2021-11-12 2023-05-19 南京大学 一种量子数字签名和量子数字签密方法
CN117556430A (zh) * 2024-01-12 2024-02-13 上海芯联芯智能科技有限公司 一种安全启动方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106688204A (zh) * 2014-08-19 2017-05-17 瑞典爱立信有限公司 生成加密校验和
CN110324357A (zh) * 2019-07-25 2019-10-11 郑州师范学院 数据发送方法及装置、数据接收方法及装置
CN112039837A (zh) * 2020-07-09 2020-12-04 中原工学院 一种基于区块链和秘密共享的电子证据保全方法
CN113297633A (zh) * 2021-07-26 2021-08-24 南京大学 一种量子数字签名方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4087719B2 (ja) * 2003-01-22 2008-05-21 日本電信電話株式会社 署名暗号方法、その装置およびそのプログラム
JP4575283B2 (ja) * 2005-11-15 2010-11-04 株式会社東芝 暗号装置、復号装置、プログラム及び方法
US10277403B2 (en) * 2016-02-25 2019-04-30 Onboard Security, Inc. Digital signature method and apparatus
CN113779645B (zh) * 2021-11-12 2022-02-22 南京大学 一种量子数字签名和量子数字签密方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106688204A (zh) * 2014-08-19 2017-05-17 瑞典爱立信有限公司 生成加密校验和
CN110324357A (zh) * 2019-07-25 2019-10-11 郑州师范学院 数据发送方法及装置、数据接收方法及装置
CN112039837A (zh) * 2020-07-09 2020-12-04 中原工学院 一种基于区块链和秘密共享的电子证据保全方法
CN113297633A (zh) * 2021-07-26 2021-08-24 南京大学 一种量子数字签名方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023082823A1 (zh) * 2021-11-12 2023-05-19 南京大学 一种量子数字签名和量子数字签密方法
CN113938281A (zh) * 2021-12-17 2022-01-14 南京大学 一种量子安全身份的颁发***、颁发方法及使用方法
CN113938281B (zh) * 2021-12-17 2022-03-08 南京大学 一种量子安全身份的颁发***、颁发方法及使用方法
CN114254284A (zh) * 2022-02-28 2022-03-29 南京大学 数字证书生成、身份认证方法及量子ca认证中心与***
CN114254284B (zh) * 2022-02-28 2022-06-17 南京大学 数字证书生成、身份认证方法及量子ca认证中心与***
CN114626537A (zh) * 2022-05-17 2022-06-14 矩阵时光数字科技有限公司 一种基于x86平台SIMD的不可约多项式及量子安全哈希值计算方法
CN114626537B (zh) * 2022-05-17 2022-08-16 矩阵时光数字科技有限公司 一种基于x86平台SIMD的不可约多项式及量子安全哈希值计算方法
CN117556430A (zh) * 2024-01-12 2024-02-13 上海芯联芯智能科技有限公司 一种安全启动方法、装置、设备及存储介质
CN117556430B (zh) * 2024-01-12 2024-03-29 上海芯联芯智能科技有限公司 一种安全启动方法、装置、设备及存储介质

Also Published As

Publication number Publication date
WO2023082823A1 (zh) 2023-05-19
CN113779645B (zh) 2022-02-22

Similar Documents

Publication Publication Date Title
CN113779645B (zh) 一种量子数字签名和量子数字签密方法
US20220141038A1 (en) Method of rsa signature or decryption protected using a homomorphic encryption
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
US8107620B2 (en) Simple and efficient one-pass authenticated encryption scheme
CN113297633B (zh) 一种量子数字签名方法
US7894608B2 (en) Secure approach to send data from one system to another
CN113711564A (zh) 用于加密数据的计算机实现的方法和***
CN114697095A (zh) 一种混合加解密方法、***、装置及介质
CN114065249A (zh) 一种认证加密方法
CN114065247A (zh) 一种量子数字混合签密方法
Paar et al. Message authentication codes (MACs)
Trang et al. A type of public-key block cipher algorithm
CN115865313A (zh) 一种轻量级隐私保护纵向联邦学习模型参数聚合方法
CN114039720B (zh) 一种基于lfsr哈希的无条件安全的认证加密方法
Kapoor et al. Data Encryption
CN115296806B (zh) 一种不需要隐私放大的量子数字签名方法及其***
Afianian et al. Energy-efficient secure distributed storage in mobile cloud computing
JP2000004223A (ja) 暗号・認証システム
CN116781243B (zh) 一种基于同态加密的不经意传输方法、介质及电子设备
Gangemi WhatsApp: cryptographic aspects
Yi et al. Cryptographic Primitives
Sarkar et al. A Survey on the Advanced Encryption Standard (AES): A Pillar of Modern Cryptography
Ibrahem Integrated Security Service Suit (IS 3)
Dung et al. A method for constructing public-key block cipher schemes based on discrete logarithm problem
Tarawneh Perspective Chapter: Cryptography–Recent Advances and Research Perspectives

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