CN119602946A - 一种后量子密码与国密算法混合加密、解密方法和设备 - Google Patents
一种后量子密码与国密算法混合加密、解密方法和设备 Download PDFInfo
- Publication number
- CN119602946A CN119602946A CN202411608129.0A CN202411608129A CN119602946A CN 119602946 A CN119602946 A CN 119602946A CN 202411608129 A CN202411608129 A CN 202411608129A CN 119602946 A CN119602946 A CN 119602946A
- Authority
- CN
- China
- Prior art keywords
- encryption
- key
- ciphertext
- national
- algorithm
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种后量子密码与国密算法混合加密、解密方法和设备,涉及密码应用技术领域。该混合加密方法包括:获取接收方的混合加密公钥和待加密明文数据,对混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量,生成第一国密加密密文和后量子密钥封装密文,根据第一国密加密密文对应的第一随机数,以及后量子密钥封装密文对应的对称密钥,生成第一临时密钥,根据第一临时密钥,采用第二国密加密算法对待加密明文数据加密,得到第二国密消息密文,对待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值,对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文。
Description
技术领域
本发明涉及密码应用技术领域,具体而言,涉及一种后量子密码与国密算法混合加密、解密方法和设备。
背景技术
随着量子计算的发展,量子计算机应用量子Shor等算法,对基于椭圆曲线离散对数这一数学难题实现的椭圆曲线SM2公钥加密,可在多项式时间内攻破。
为了抵御量子计算威胁,提升公钥加密的安全性,采用融合后量子密码(Post-Quantum Cryptography)算法的方式,但实施过程中,都是直接从SM2算法迁移到PQC算法,在标准化过渡时期,PQC算法的安全性未经过充分验证,未考虑与SM2经典密钥共存,以及如何更安全、平稳地过渡到后量子时代,同时,由于PQC算法虽提供了密钥封装运算,但该运算与SM2公钥加密运算的接口及功能不兼容,因此,上层密码协议及应用从SM2向PQC迁移时,修改工作量极大。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种后量子密码与国密算法混合加密、解密方法和设备,以便实现后量子密码和国密算法混合加密,能够更安全、平稳地过渡到后量子时代。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种后量子密码与国密算法混合加密方法,应用于发送方,所述方法包括:
获取接收方的混合加密公钥和待加密明文数据;
对所述混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量;所述第一国密加密公钥分量为第一国密加密算法得到的加密公钥分量;
根据所述第一国密加密公钥分量、所述后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文;
根据所述第一国密加密密文对应的第一随机数,以及所述后量子密钥封装密文对应的对称密钥,生成第一临时密钥;
根据所述第一临时密钥,采用第二国密加密算法对所述待加密明文数据进行加密,得到第二国密消息密文;
对所述待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值;
对所述第一国密加密密文、所述后量子密钥封装密文、所述第二国密消息密文和所述消息哈希值进行封装处理,得到混合加密密文。
在可选的实施方式中,所述根据所述第一国密加密公钥分量、所述后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文,包括:
根据所述第一国密加密公钥分量,采用所述第一国密加密算法对所述第一随机数进行加密,得到所述第一国密加密密文;
采用后量子密钥封装算法,对所述后量子密钥封装公钥分量进行封装处理,得到所述后量子密钥封装密文和所述对称密钥。
在可选的实施方式中,所述根据所述第一国密加密密文对应的第一随机数,以及所述后量子密钥封装密文对应的对称密钥,生成第一临时密钥,包括:
对所述第一随机数和所述对称密钥进行密钥衍生运算,生成所述第一临时密钥。
在可选的实施方式中,所述根据所述第一国密加密公钥分量、所述后量子密钥封装公钥分量,分别生成第一国密加密密文、后量子密钥封装密文之前,所述方法还包括:
向国密密码运算模块发送随机数请求,以使得所述国密密码运算模块返回所述第一随机数。
第二方面,本申请实施例还提供了一种后量子密码与国密算法混合解密方法,应用于接收方,所述方法包括:
获取待解密混合加密密文;所述待解密混合加密密文为发送方采用混合加密公钥对待加密明文数据进行混合加密得到的密文;
对所述待解密混合加密密文进行解封装处理,得到待解密第一国密加密密文、待解密后量子密钥封装密文、待解密第二国密消息密文和第一消息哈希值;
根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对所述待解密第一国密加密密文和所述待解密后量子密钥封装密文进行解密,得到第二临时密钥;所述第一国密加密私钥分量为第一国密加密算法得到的加密私钥分量;
根据所述第二临时密钥,采用第二国密解密算法对所述待解密第二国密消息密文进行解密,得到待验证明文数据;
对所述待验证明文数据进行第三国密算法杂凑运算,得到第二消息哈希值;
对所述第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据。
在可选的实施方式中,所述根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对所述待解密第一国密加密密文和所述待解密后量子密钥封装密文进行解密,得到第二临时密钥,包括:
根据所述第一国密加密私钥分量,采用第一国密解密算法对所述待解密第一国密加密密文进行解密,得到第一密钥;
根据所述后量子密钥封装私钥分量,采用后量子密钥封装算法对所述待解密后量子密钥封装密文进行解封装处理,得到第二密钥;
对所述第一密钥和所述第二密钥进行密钥衍生运算,生成所述第二临时密钥。
在可选的实施方式中,所述对所述第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据,包括:
若所述第一消息哈希值和所述第二消息哈希值相同,则确定比对成功,并确定所述待验证明文数据为所述目标明文数据。
在可选的实施方式中,所述对所述第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据,包括:
若所述第一消息哈希值和所述第二消息哈希值不相同,则确定比对失败,并确定所述待验证明文数据不为所述目标明文数据。
在可选的实施方式中,所述方法还包括:
调用第一国密算法生成密钥对接口,生成第一国密加密密钥对,所述第一国密加密密钥对包括:所述第一国密加密私钥分量和第一国密加密公钥分量;
调用后量子密钥封装算法生成密钥对接口,生成后量子密钥封装密钥对,所述后量子密钥封装密钥对包括:所述后量子密钥封装私钥分量和后量子密钥封装公钥分量;
对所述第一国密加密私钥分量和所述后量子密钥封装私钥分量进行封装,得到所述混合加密私钥;
对所述第一国密加密公钥分量所述后量子密钥封装公钥分量进行封装,得到所述混合加密公钥,并进行公开。
第三方面,本申请实施例还提供了一种计算机设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述的后量子密码与国密算法混合加密方法的步骤,或执行如第二方面任一所述的后量子密码与国密算法混合解密方法的步骤。
本申请的有益效果是:
本申请实施例提供一种后量子密码与国密算法混合加密、解密方法和设备,该混合加密方法包括:获取接收方的混合加密公钥和待加密明文数据,对混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量,第一国密加密公钥分量为第一国密加密算法得到的加密公钥分量,根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文,根据第一国密加密密文对应的第一随机数,以及后量子密钥封装密文对应的对称密钥,生成第一临时密钥,根据第一临时密钥,采用第二国密加密算法对待加密明文数据进行加密,得到第二国密消息密文,然后对待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值,最后对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文。实现后量子密码和国密算法混合加密,能够更安全、平稳地过渡到后量子时代,另外,混合加密密文中包括多个分量,攻击者需要同时破解才能得到待加密明文数据,提高了混合加密运算的安全性,具有抗量子攻击能力,最后,由于后量子密码和国密算法混合加密运算,与国密算法加密运算的接口及功能等完全兼容,极大地降低了上层密码协议及应用从国密算法向后量子算法迁移的难度及工作量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种后量子密码与国密算法混合加密方法的流程示意图;
图2为本申请实施例提供的另一种后量子密码与国密算法混合加密方法的流程示意图;
图3为本申请实施例提供的一种后量子密码与国密算法混合解密方法的流程示意图;
图4为本申请实施例提供的另一种后量子密码与国密算法混合解密方法的流程示意图;
图5为本申请实施例提供的一种生成后量子密码与国密算法混合加密密码对的流程示意图;
图6为本申请实施例提供的一种后量子密码与国密算法混合加密装置的功能模块示意图;
图7为本申请实施例提供的一种后量子密码与国密算法混合解密装置的功能模块示意图;
图8为本申请实施例提供的一种计算机设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,若出现术语“上”、“下”、等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该申请产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
此外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
为了实现对待加密明文数据的双重加密保护,使得具有抗量子攻击能力,本申请实施例提供了一种后量子密码与国密算法混合加密方法,其中,后量子密码(Post QuantumCryptography,PQC),是一种可以抵御量子计算机攻击的新型加密算法,后量子密码不仅能够在传统计算机上安全运行,而且能够抵御未来量子计算机的攻击。国密算法包括第一国密算法、第二国密算法和第三国密算法,其中,第一国密算法为SM2算法,采用椭圆曲线密码学作为其数学基础,是一种非对称密码算法,用于数字签名和密钥交换;第二国密加密算法为SM4加密算法,是一种对称密码算法,用于数据加密和解密,它支持分组长度为128比特,密钥长度可为128比特、192比特或256比特,适用于各种数据加密场景;第三国密算法为SM3算法,是密码杂凑(哈希)算法,适用于密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。
采用四种算法对待加密明文数据混合加密,该方法包括:根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文、后量子密钥封装密文,根据第一国密加密密文对应的第一随机数,以及后量子密钥封装密文对应的对称密钥,生成第一临时密钥,然后根据第一临时密钥,采用第二国密加密算法对待加密明文数据进行加密,得到第二国密消息密文,对待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值,最后对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文,混合加密密文中包括多个分量,攻击者需要同时破解才能得到待加密明文数据,可以提高混合加密运算的安全性,具有抗量子攻击能力。
如下结合附图通过具体示例对本申请实施例提供的后量子密码与国密算法混合加密方法进行详细的解释说明。图1为本申请实施例提供的一种后量子密码与国密算法混合加密方法的流程示意图;如图1所示,该方法包括:
S101、获取接收方的混合加密公钥和待加密明文数据。
在本实施例中,接收方预先将混合加密公钥进行公开,使得发送方获取到接收方的混合加密公钥,待加密明文数据为发送方的客户端中业务系统输出的数据,也是需要向接收方传输的数据。
发送方通过使用混合加密公钥对待加密明文数据进行加密处理,得到混合加密密文,并发送至接收方,下述示例对得到混合加密密文的过程进行解释。
S102、对混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量。
其中,第一国密加密公钥分量为第一国密加密算法得到的加密公钥分量。
具体的,第一国密加密算法为SM2算法,第一国密加密公钥分量为接收方第一国密加密算法公私钥对中的公钥分量,即SM2加密公钥。
后量子密钥封装公钥分量为接收方后量子密钥封装(Key EncapsulationMechanism,KEM)算法公私钥对中的公钥分量,即PQC KEM公钥,其中,后量子密钥封装算法可采用后量子密码标准kyber算法。
接收方将第一国密加密公钥分量和后量子密钥封装公钥分量进行封装得到混合加密公钥,因此,发送方对混合加密公钥进行解封装处理,可得到第一国密加密公钥分量和后量子密钥封装公钥分量。
S103、根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文。
S104、根据第一国密加密密文对应的第一随机数,以及后量子密钥封装密文对应的对称密钥,生成第一临时密钥。
具体的,发送方根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文,即生成SM2加密密文和PQC KEM密文。
并根据第一国密加密密文对应的第一随机数K1,以及后量子密钥封装密文对应的对称密钥K2,生成第一临时密钥KEY。
可选地,对第一随机数和对称密钥进行密钥衍生运算,生成第一临时密钥。
具体的,密钥衍生运算可以采用异或运算,则对第一随机数和对称密钥进行异或运算,生成第一临时密钥。
S105、根据第一临时密钥,采用第二国密加密算法对待加密明文数据进行加密,得到第二国密消息密文。
具体的,第二国密加密算法为SM4加密算法,根据第一临时密钥,采用SM4加密算法对待加密明文数据进行对称加密运算,得到SM4消息密文。
S106、对待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值。
具体的,第三国密算法为SM3算法,对待加密明文数据进行SM3算法杂凑运算,得到SM3消息哈希值。
S107、对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文。
具体的,将SM2加密密文、PQC KEM密文、SM4消息密文和SM3消息哈希值四个分量进行拼接封装处理,得到混合加密密文,然后将混合加密密文发送至接收方。
需要说明的是,上层应用及密码协议预先提供SM2加密算法兼容的接口,使得后量子密码与第一国密算法加密运算的接口及功能等完全兼容。
综上所述,本申请实施例提供一种后量子密码与国密算法混合加密方法,该方法包括:获取接收方的混合加密公钥和待加密明文数据,对混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量,第一国密加密公钥分量为第一国密加密算法得到的加密公钥分量,根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文,根据第一国密加密密文对应的第一随机数,以及后量子密钥封装密文对应的对称密钥,生成第一临时密钥,根据第一临时密钥,采用第二国密加密算法对待加密明文数据进行加密,得到第二国密消息密文,然后对待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值,最后对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文。实现后量子密码和国密算法混合加密,能够更安全、平稳地过渡到后量子时代,另外,混合加密密文中包括多个分量,攻击者需要同时破解才能得到待加密明文数据,提高了混合加密运算的安全性,具有抗量子攻击能力,最后,由于后量子密码和国密算法混合加密运算,与国密算法加密运算的接口及功能等完全兼容,极大地降低了上层密码协议及应用从国密算法向后量子算法迁移的难度及工作量。
在上述实施例提供的一种后量子密码与国密算法混合加密的基础上,本申请实施例还提供了另一种后量子密码与国密算法混合加密方法的可能实现方式,图2为本申请实施例提供的另一种后量子密码与国密算法混合加密方法的流程示意图。如图2所示,根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文,包括:
S201、根据第一国密加密公钥分量,采用第一国密加密算法对第一随机数进行加密,得到第一国密加密密文。
在本实施例中,发送方根据第一国密加密公钥分量即SM2加密公钥分量,采用SM2加密算法对第一随机数进行加密运算,得到SM2加密密文。
可选地,根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文、后量子密钥封装密文之前,该方法还包括:
向国密密码运算模块发送随机数请求,以使得国密密码运算模块返回第一随机数。
其中,国密密码运算模块用于提供密码运算服务,包括SM2、SM4、SM3等密码算法,同时根据随机数请求,向发送方提供第一随机数。
S202、采用后量子密钥封装算法,对后量子密钥封装公钥分量进行封装处理,得到后量子密钥封装密文和对称密钥。
具体的,后量子密钥封装算法的机制中产生一个随机数,根据后量子密钥封装公钥分量即PQC KEM公钥分量,采用后量子密钥封装算法对产生的一个随机数进行加密运算,得到PQC KEM密文,对称密钥为后量子密钥封装算法的机制中产生的一个随机数的明文。
需要说明的是,第一国密加密密文是对第一随机数进行加密得到的,后量子密钥封装密文是对后量子密钥封装算法的机制中产生的一个随机数进行加密得到的,两个随机数的获取方式不同。
本申请实施例提供的方法中,根据第一国密加密公钥分量,采用第一国密加密算法对第一随机数进行加密,得到第一国密加密密文,采用后量子密钥封装算法,对后量子密钥封装公钥分量进行封装处理,得到后量子密钥封装密文和对称密钥,实现了后量子密码与国密算法的混合加密。
接收方接收到发送方发送的混合加密密文后,还需要对混合加密密文进行解密,因此,本申请实施例还提供了一种后量子密码与国密算法混合解密方法,应用于接收方,如下结合附图通过具体示例对本申请实施例提供的后量子密码与国密算法混合解密方法进行详细的解释说明。图3为本申请实施例提供的一种后量子密码与国密算法混合解密方法的流程示意图;如图3所示,该方法包括:
S301、获取待解密混合加密密文。
其中,待解密混合加密密文为发送方采用混合加密公钥对待加密明文数据进行混合加密得到的密文。
在本实施例中,接收方接收发送方发送的待解密混合加密密文,待解密混合加密密文的生成步骤可参考上述步骤S101-S202,在此不做赘述。
S302、对待解密混合加密密文进行解封装处理,得到待解密第一国密加密密文、待解密后量子密钥封装密文、待解密第二国密消息密文和第一消息哈希值。
由于,发送方对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文,则接收方对待解密混合加密密文进行解封装处理,得到第一待解密国密加密密文、待解密后量子密钥封装密文、待解密第二国密消息密文和第一消息哈希值,即得到待解密SM2加密密文、待解密PQC KEM密文、待解密SM4消息密文和第一SM3消息哈希值。
S303、根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对待解密第一国密加密密文和待解密后量子密钥封装密文进行解密,得到第二临时密钥。
其中,第一国密加密私钥分量为第一国密加密算法得到的加密私钥分量。
第一国密加密算法为SM2加密算法,接收方对混合加密私钥进行解封装处理,得到第一国密加密私钥分量和后量子密钥封装私钥分量,即得到SM2加密私钥分量和PQC KEM私钥分量。
接收方根据SM2加密私钥分量和PQC KEM私钥分量,分别对待解密SM2加密密文和待解密PQC KEM密文进行解密,得到第二临时密钥。
S304、根据第二临时密钥,采用第二国密解密算法对待解密第二国密消息密文进行解密,得到待验证明文数据。
具体的,第二国密加密算法为SM4加密算法,根据第二临时密钥,采用SM4加密算法对待解密第二国密消息密文进行解密运算,得到待验证明文数据。
S305、对待验证明文数据进行第三国密算法杂凑运算,得到第二消息哈希值。
具体的,第三国密算法为SM3算法,对待验证明文数据进行SM3算法杂凑运算,得到第二SM3消息哈希值。
S306、对第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据。
可选地,若第一消息哈希值和第二消息哈希值相同,则确定比对成功,并确定待验证明文数据为目标明文数据。
接收方对第一SM3消息哈希值和第二SM3消息哈希值进行比对,确定两个消息哈希值相同,则确定比对成功,从而确定待验证明文数据为目标明文数据。
可选地,若第一消息哈希值和第二消息哈希值不相同,则确定比对失败,并确定待验证明文数据不为目标明文数据。
接收方对第一SM3消息哈希值和第二SM3消息哈希值进行比对,确定两个消息哈希值不相同,则确定比对失败,混合加密密文发生非法篡改,因此,待验证明文数据不为目标明文数据。
综上所述,本申请实施例提供了一种后量子密码与国密算法混合解密方法,该方法包括:获取待解密混合加密密文;待解密混合加密密文为发送方采用混合加密公钥对待加密明文数据进行混合加密得到的密文;对待解密混合加密密文进行解封装处理,得到待解密第一国密加密密文、待解密后量子密钥封装密文、待解密第二国密消息密文和第一消息哈希值;根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对待解密第一国密加密密文和待解密后量子密钥封装密文进行解密,得到第二临时密钥;第一国密加密私钥分量为第一国密加密算法得到的加密私钥分量;根据第二临时密钥,采用第二国密解密算法对待解密第二国密消息密文进行解密,得到待验证明文数据;对待验证明文数据进行第三国密算法杂凑运算,得到第二消息哈希值;对第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据。接收方需要同时对待解密混合加密密文中的四个分量进行解密,最后比对第一消息哈希值和第二消息哈希值,确定目标明文数据,实现后量子密码和国密算法混合解密,由于待解密混合加密密文中包括多个分量,攻击者需要同时破解才能得到目标明文数据,提高了混合加密运算的安全性,具有抗量子攻击能力。
在上述实施例提供的一种后量子密码与国密算法混合解密的基础上,本申请实施例还提供了另一种后量子密码与国密算法混合解密方法的可能实现方式,图4为本申请实施例提供的另一种后量子密码与国密算法混合解密方法的流程示意图。如图4所示,根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对待解密第一国密加密密文和待解密后量子密钥封装密文进行解密,得到第二临时密钥,包括:
S401、根据第一国密加密私钥分量,采用第一国密解密算法对待解密第一国密加密密文进行解密,得到第一密钥。
在本实施例中,接收方根据第一国密加密私钥分量即SM2加密私钥分量,采用SM2加密算法对待解密SM2加密密文进行解密运算,得到第一密钥。
S402、根据后量子密钥封装私钥分量,采用后量子密钥封装算法对待解密后量子密钥封装密文进行解封装处理,得到第二密钥。
具体的,根据后量子密钥封装私钥分量即PQC KEM私钥分量,采用后量子密钥封装算法对待解密PQC KEM密文进行解封装运算,得到第二密钥。
S403、对第一密钥和第二密钥进行密钥衍生运算,生成第二临时密钥。
具体的,密钥衍生运算可以采用异或运算,则对第一密钥和第二密钥进行异或运算,生成第二临时密钥。
本申请实施例提供的方法中,根据第一国密加密私钥分量,采用第一国密解密算法对待解密第一国密加密密文进行解密,得到第一密钥;根据后量子密钥封装私钥分量,采用后量子密钥封装算法对待解密后量子密钥封装密文进行解封装处理,得到第二密钥;对第一密钥和第二密钥进行密钥衍生运算,生成第二临时密钥,用于对待解密第二国密消息密文进行解密。
本申请实施例还通过生成混合加密密钥对提供另一种后量子密码与国密算法混合解密方法的可能实现方式,图5为本申请实施例提供的一种生成后量子密码与国密算法混合加密密钥对的流程示意图。如图5所示,该方法还包括:
S501、调用第一国密算法生成密钥对接口,生成第一国密加密密钥对。
其中,第一国密加密密钥对包括:第一国密加密私钥分量和第一国密加密公钥分量。
在本实施例中,接收方通过调用SM2算法生成密钥对接口,生成SM2加密密钥对,SM2加密密钥对包括:SM2加密私钥分量和SM2加密公钥分量。
S502、调用后量子密钥封装算法生成密钥对接口,生成后量子密钥封装密钥对。
其中,后量子密钥封装密钥对包括:后量子密钥封装私钥分量和后量子密钥封装公钥分量。
接收方通过调用PQC KEM算法生成密钥对接口,生成PQC KEM密钥对,PQC KEM密钥对包括:PQC KEM私钥分量和PQC KEM公钥分量。
S503、对第一国密加密私钥分量和后量子密钥封装私钥分量进行封装,得到混合加密私钥。
具体的,将SM2加密私钥分量和PQC KEM私钥分量进行串接封装,得到混合加密私钥,需要说明的是,混合加密私钥作为关键敏感数据,保存在接收方的装置中,并具有机密性及完整性等安全保护措施,不以明文形式出现在接收方的装置外部。
S504、对第一国密加密公钥分量和后量子密钥封装公钥分量进行封装,得到混合加密公钥,并进行公开。
具体的,将SM2加密公钥分量和PQC KEM公钥分量进行串接封装,得到混合加密私钥,需要说明的是,混合加密公钥作为公开的密钥,安全存储于接收方的装置的非易失性存储区,接收方和发送方通过交换混合加密公钥或包含混合加密公钥的证书,可使用对方的混合加密公钥对重要数据进行混合加密保护。
本申请实施例提供的方法中,对后量子密码和国密算法混合加密运算进行封装,提供SM2加密算法兼容的接口,因此SM2加密运算向PQC算法迁移时,对上层应用及密码协议修改最小,大大减少迁移的难度及工作量。
如下继续对执行本申请上述任一实施例提供的后量子密码与国密算法混合加密装置、后量子密码与国密算法混合解密装置和计算机设备进行相应的解释,其具体的实现过程以及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。
图6为本申请实施例提供的一种后量子密码与国密算法混合加密装置的功能模块示意图。应用于发送方,如图6所示,该后量子密码与国密算法混合加密装置100包括:
第一获取模块110,用于获取接收方的混合加密公钥和待加密明文数据;
第一解封装处理模块120,用于对混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量;第一国密加密公钥分量为第一国密加密算法得到的加密公钥分量;
第一生成模块130,用于根据第一国密加密公钥分量、后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文;
第一生成模块130,还用于根据第一国密加密密文对应的第一随机数,以及后量子密钥封装密文对应的对称密钥,生成第一临时密钥;
加密模块140,用于根据第一临时密钥,采用第二国密加密算法对待加密明文数据进行加密,得到第二国密消息密文;
第一运算模块150,用于对待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值;
第一封装处理模块160,用于对第一国密加密密文、后量子密钥封装密文、第二国密消息密文和消息哈希值进行封装处理,得到混合加密密文。
可选地,第一生成模块130,还用于根据第一国密加密公钥分量,采用第一国密加密算法对第一随机数进行加密,得到第一国密加密密文;采用后量子密钥封装算法,对后量子密钥封装公钥分量进行封装处理,得到后量子密钥封装密文和对称密钥。
可选地,第一生成模块130,还用于对第一随机数和对称密钥进行密钥衍生运算,生成第一临时密钥。
可选地,该装置还包括:
发送模块,用于向国密密码运算模块发送随机数请求,以使得国密密码运算模块返回第一随机数。
图7为本申请实施例提供的一种后量子密码与国密算法混合解密装置的功能模块示意图。应用于接收方,如图7所示,该后量子密码与国密算法混合解密装置200包括:
第二获取模块210,用于获取待解密混合加密密文;待解密混合加密密文为发送方采用混合加密公钥对待加密明文数据进行混合加密得到的密文;
第二解封装模块220,用于对待解密混合加密密文进行解封装处理,得到待解密第一国密加密密文、待解密后量子密钥封装密文、待解密第二国密消息密文和第一消息哈希值;
解密模块230,用于根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对待解密第一国密加密密文和待解密后量子密钥封装密文进行解密,得到第二临时密钥;第一国密加密私钥分量为第一国密加密算法得到的加密私钥分量;
解密模块230,还用于根据第二临时密钥,采用第二国密解密算法对待解密第二国密消息密文进行解密,得到待验证明文数据;
第二运算模块240,用于对待验证明文数据进行第三国密算法杂凑运算,得到第二消息哈希值;
确定模块250,用于对第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据。
可选地,解密模块230,还用于根据第一国密加密私钥分量,采用第一国密解密算法对待解密第一国密加密密文进行解密,得到第一密钥;根据后量子密钥封装私钥分量,采用后量子密钥封装算法对待解密后量子密钥封装密文进行解封装处理,得到第二密钥;对第一密钥和第二密钥进行密钥衍生运算,生成第二临时密钥。
可选地,确定模块250,还用于若第一消息哈希值和第二消息哈希值相同,则确定比对成功,并确定待验证明文数据为目标明文数据。
可选地,确定模块250,还用于若第一消息哈希值和第二消息哈希值不相同,则确定比对失败,并确定待验证明文数据不为目标明文数据。
可选地,该装置还包括:
第二生成模块,用于调用第一国密算法生成密钥对接口,生成第一国密加密密钥对,第一国密加密密钥对包括:第一国密加密私钥分量和第一国密加密公钥分量;
第二生成模块,还用于调用后量子密钥封装算法生成密钥对接口,生成后量子密钥封装密钥对,后量子密钥封装密钥对包括:后量子密钥封装私钥分量和后量子密钥封装公钥分量;
第二封装处理模块,用于对第一国密加密私钥分量和后量子密钥封装私钥分量进行封装,得到混合加密私钥;
第二封装处理模块,还用于对第一国密加密公钥分量后量子密钥封装公钥分量进行封装,得到混合加密公钥,并进行公开。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图8为本申请实施例提供的一种计算机设备的示意图,若计算机设备为发送方对应的计算机设备,则可用于后量子密码与国密算法混合加密。若计算机设备为接收方对应的计算机设备,则可用于后量子密码与国密算法混合解密。如图8所示,该计算机设备包括:处理器310、存储介质320、总线330。
存储介质320存储有处理器310可执行的机器可读指令,当计算机设备运行时,处理器310与存储介质320之间通过总线330通信,处理器310执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质320,存储介质320上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种后量子密码与国密算法混合加密方法,其特征在于,应用于发送方,所述方法包括:
获取接收方的混合加密公钥和待加密明文数据;
对所述混合加密公钥进行解封装处理,得到第一国密加密公钥分量和后量子密钥封装公钥分量;所述第一国密加密公钥分量为第一国密加密算法得到的加密公钥分量;
根据所述第一国密加密公钥分量、所述后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文;
根据所述第一国密加密密文对应的第一随机数,以及所述后量子密钥封装密文对应的对称密钥,生成第一临时密钥;
根据所述第一临时密钥,采用第二国密加密算法对所述待加密明文数据进行加密,得到第二国密消息密文;
对所述待加密明文数据进行第三国密算法杂凑运算,得到消息哈希值;
对所述第一国密加密密文、所述后量子密钥封装密文、所述第二国密消息密文和所述消息哈希值进行封装处理,得到混合加密密文。
2.如权利要求1所述的方法,其特征在于,所述根据所述第一国密加密公钥分量、所述后量子密钥封装公钥分量,分别生成第一国密加密密文和后量子密钥封装密文,包括:
根据所述第一国密加密公钥分量,采用所述第一国密加密算法对所述第一随机数进行加密,得到所述第一国密加密密文;
采用后量子密钥封装算法,对所述后量子密钥封装公钥分量进行封装处理,得到所述后量子密钥封装密文和所述对称密钥。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一国密加密密文对应的第一随机数,以及所述后量子密钥封装密文对应的对称密钥,生成第一临时密钥,包括:
对所述第一随机数和所述对称密钥进行密钥衍生运算,生成所述第一临时密钥。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一国密加密公钥分量、所述后量子密钥封装公钥分量,分别生成第一国密加密密文、后量子密钥封装密文之前,所述方法还包括:
向国密密码运算模块发送随机数请求,以使得所述国密密码运算模块返回所述第一随机数。
5.一种后量子密码与国密算法混合解密方法,其特征在于,应用于接收方,所述方法包括:
获取待解密混合加密密文;所述待解密混合加密密文为发送方采用混合加密公钥对待加密明文数据进行混合加密得到的密文;
对所述待解密混合加密密文进行解封装处理,得到待解密第一国密加密密文、待解密后量子密钥封装密文、待解密第二国密消息密文和第一消息哈希值;
根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对所述待解密第一国密加密密文和所述待解密后量子密钥封装密文进行解密,得到第二临时密钥;所述第一国密加密私钥分量为第一国密加密算法得到的加密私钥分量;
根据所述第二临时密钥,采用第二国密解密算法对所述待解密第二国密消息密文进行解密,得到待验证明文数据;
对所述待验证明文数据进行第三国密算法杂凑运算,得到第二消息哈希值;
对所述第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据。
6.根据权利要求5所述的方法,其特征在于,所述根据混合加密私钥中的第一国密加密私钥分量和后量子密钥封装私钥分量,分别对所述待解密第一国密加密密文和所述待解密后量子密钥封装密文进行解密,得到第二临时密钥,包括:
根据所述第一国密加密私钥分量,采用第一国密解密算法对所述待解密第一国密加密密文进行解密,得到第一密钥;
根据所述后量子密钥封装私钥分量,采用后量子密钥封装算法对所述待解密后量子密钥封装密文进行解封装处理,得到第二密钥;
对所述第一密钥和所述第二密钥进行密钥衍生运算,生成所述第二临时密钥。
7.根据权利要求5所述的方法,其特征在于,所述对所述第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据,包括:
若所述第一消息哈希值和所述第二消息哈希值相同,则确定比对成功,并确定所述待验证明文数据为所述目标明文数据。
8.根据权利要求5所述的方法,其特征在于,所述对所述第一消息哈希值和第二消息哈希值进行比对,确定目标明文数据,包括:
若所述第一消息哈希值和所述第二消息哈希值不相同,则确定比对失败,并确定所述待验证明文数据不为所述目标明文数据。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
调用第一国密算法生成密钥对接口,生成第一国密加密密钥对,所述第一国密加密密钥对包括:所述第一国密加密私钥分量和第一国密加密公钥分量;
调用后量子密钥封装算法生成密钥对接口,生成后量子密钥封装密钥对,所述后量子密钥封装密钥对包括:所述后量子密钥封装私钥分量和后量子密钥封装公钥分量;
对所述第一国密加密私钥分量和所述后量子密钥封装私钥分量进行封装,得到所述混合加密私钥;
对所述第一国密加密公钥分量所述后量子密钥封装公钥分量进行封装,得到所述混合加密公钥,并进行公开。
10.一种计算机设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当计算机设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至4任一所述的后量子密码与国密算法混合加密方法的步骤,或执行如权利要求5至9任一所述的后量子密码与国密算法混合解密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411608129.0A CN119602946A (zh) | 2024-11-12 | 2024-11-12 | 一种后量子密码与国密算法混合加密、解密方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411608129.0A CN119602946A (zh) | 2024-11-12 | 2024-11-12 | 一种后量子密码与国密算法混合加密、解密方法和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN119602946A true CN119602946A (zh) | 2025-03-11 |
Family
ID=94833284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411608129.0A Pending CN119602946A (zh) | 2024-11-12 | 2024-11-12 | 一种后量子密码与国密算法混合加密、解密方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN119602946A (zh) |
-
2024
- 2024-11-12 CN CN202411608129.0A patent/CN119602946A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3073668B1 (en) | Apparatus and method for authenticating network devices | |
EP3387576B1 (en) | Apparatus and method for certificate enrollment | |
JP2022537733A (ja) | 認証付き鍵共有 | |
WO2020155622A1 (zh) | 提高影像数据传输安全的方法、装置、系统及存储介质 | |
CN109831430A (zh) | 一种云计算环境下的安全可控高效的数据共享方法及系统 | |
CN111614621B (zh) | 物联网通信方法和系统 | |
CN110889696A (zh) | 一种基于sgx技术的联盟区块链秘钥存储方法、装置、设备及介质 | |
CN109891423A (zh) | 使用多个控制机构的数据加密控制 | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
CN105991569A (zh) | 一种tls通讯数据安全传输方法 | |
US11722466B2 (en) | Methods for communicating data utilizing sessionless dynamic encryption | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN111490874B (zh) | 一种配网安全防护方法、系统、装置及存储介质 | |
CN118540163B (zh) | 国密ssl vpn协议的抗量子安全增强方法 | |
CN115333839A (zh) | 数据安全传输方法、系统、设备及存储介质 | |
CN118555133A (zh) | 传输层安全协议的抗量子安全增强方法 | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
WO2024260532A1 (en) | Apparatus and method for remote attestation using symmetric keys | |
CN119602946A (zh) | 一种后量子密码与国密算法混合加密、解密方法和设备 | |
JPS63176043A (ja) | 秘密情報通信方式 | |
CN115549987B (zh) | 一种基于数据安全隐私保护的混合加密方法 | |
CN118694528B (zh) | 在线证书签发与密钥对分发的抗量子安全增强方法 | |
CN119583061B (zh) | 后量子密钥协商方法和设备 | |
CN118694529B (zh) | 密码设备安全通道协议的抗量子安全增强方法 | |
US20250124142A1 (en) | Enhanced security systems and methods using a hybrid security solution |
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 |