CN110213050A - 密钥生成方法、装置及存储介质 - Google Patents

密钥生成方法、装置及存储介质 Download PDF

Info

Publication number
CN110213050A
CN110213050A CN201910480131.7A CN201910480131A CN110213050A CN 110213050 A CN110213050 A CN 110213050A CN 201910480131 A CN201910480131 A CN 201910480131A CN 110213050 A CN110213050 A CN 110213050A
Authority
CN
China
Prior art keywords
key
keys
derivative
quantum
transformation
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
CN201910480131.7A
Other languages
English (en)
Other versions
CN110213050B (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.)
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keda 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 Suzhou Keda Technology Co Ltd filed Critical Suzhou Keda Technology Co Ltd
Priority to CN201910480131.7A priority Critical patent/CN110213050B/zh
Publication of CN110213050A publication Critical patent/CN110213050A/zh
Application granted granted Critical
Publication of CN110213050B publication Critical patent/CN110213050B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及一种密钥生成方法、装置及存储介质,属于信息安全技术领域,该方法包括:获取量子密钥生成终端生成的量子密钥;将量子密钥划分为多个第一密钥和多个第二密钥;使用多个第一密钥和多个第二密钥进行m轮衍生变换,得到多个衍生密钥;可以解决量子密钥生成终端生成量子密钥的速度较慢时,使用同一量子密钥加密不同的数据包导致数据包的安全性降低的问题;由于可以基于量子密钥生成多个衍生密钥,因此,可以在量子密钥生成速度较慢时使用衍生密钥对数据包加密,从而保证数据包的安全性。

Description

密钥生成方法、装置及存储介质
技术领域
本申请涉及密钥生成方法、装置及存储介质,属于信息安全技术领域。
背景技术
量子通信是指利用量子纠缠效应进行信息传递的一种新型的通讯方式。在量子保密通信过程中,发送方和接收方采用单光子的状态作为信息载体来建立密钥。由于单光子不可分割,窃听者无法将单光子分割成两部分,让其中一部分继续传送而对另一部分进行状态测量获取密钥信息。
在量子通信过程中,多台量子密钥生成终端之间预先进行密钥协商,得到量子密钥;与量子密钥生成终端相连的应用设备获取到量子密钥后使用该量子密钥对数据进行加密。
然而,量子密钥生成终端生成量子密钥的速度较慢,比如:一分钟生成一个量子密钥或者一秒钟生成一个量子密钥;然而,在新的量子密钥生成期间,应用设备需要使用同一已生成的量子密钥对数据包进行加密,此时,会降低数据包的安全性。
发明内容
本申请提供了一种密钥生成方法、装置及存储介质,可以解决量子密钥生成终端生成量子密钥的速度较慢时,使用同一量子密钥加密不同的数据包导致数据包的安全性降低的问题。本申请提供如下技术方案:
第一方面,提供了一种密钥生成方法,所述方法包括:
获取量子密钥生成终端生成的量子密钥;
将所述量子密钥划分为多个第一密钥和多个第二密钥;
使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,所述m为正整数,所述衍生密钥用于加密数据包。
可选地,所述多个第一密钥包括n个第一秘钥,所述多个第二密钥包括n个第二密钥;所述使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括:
在第i轮衍生变换中,利用所述n个第一密钥生成n个临时加密密钥,1≤i≤m;
使用所述n个临时加密密钥对所述n个第二密钥依次进行加密,得到n个衍生密钥。
可选地,所述在第i轮衍生变换中,利用所述n个第一密钥生成n个临时加密密钥,包括:
在所述第i轮衍生变换中,将第p个第一密钥与第q个第二密钥进行拼接,得到拼接密钥;1≤p≤n,所述p在m轮衍生变换中的取值各不相同;1≤q≤n,所述q在m轮衍生变换中的取值各不相同,m≤n;
对所述拼接密钥进行杂凑运算,得到杂凑值;
将所述杂凑值划分为第一部分和第二部分;
将所述第一部分与所述第二部分进行异或操作,得到中间密钥;
使用所述中间密钥对所述n个第一密钥进行加密,得到所述n个临时加密密钥。
可选地,所述多个第一密钥包括n个第一秘钥,所述多个第二密钥包括n个第二密钥;所述使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括:
在第j轮衍生变换中,使用所述n个第一密钥对所述n个第二密钥依次进行加密,得到n个衍生密钥,1≤j≤m。
可选地,所述将所述量子密钥划分为多个第一密钥和多个第二密钥,包括:
将所述量子密钥的前x个字节确定为n1个第一密钥,每个第一密钥包括个字节;将所述量子密钥的后y个字节确定为n2个第二密钥,每个第二密钥包括个字节,x为大于或等于n1的整数,y为大于或等于n2的整数,为向上取整。
可选地,所述使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥之后,还包括:
将所述多个衍生密钥划分为多个第三密钥和多个第四密钥;
使用所述多个第三密钥和所述多个第四密钥进行s轮衍生变换,得到多个再次衍生密钥,所述s为正整数。
可选地,使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括:
获取密钥衍生需求;
根据所述密钥衍生需求指示的衍生密钥需求数量确定所述m的值;
使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥。
第二方面,提供了一种密钥生成装置,所述装置包括:
密钥获取模块,用于获取量子密钥生成终端生成的量子密钥;
密钥划分模块,用于将所述量子密钥划分为多个第一密钥和多个第二密钥;
衍生变换模块,用于使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,所述m为正整数,所述衍生密钥用于加密数据包。
第三方面,提供一种密钥生成装置,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的密钥生成方法。
第四方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序由所述处理器加载并执行以实现第一方面所述的密钥生成方法。
本申请的有益效果在于:通过获取量子密钥生成终端生成的量子密钥;将量子密钥划分为多个第一密钥和多个第二密钥;使用多个第一密钥和多个第二密钥进行m轮衍生变换,得到多个衍生密钥;可以解决量子密钥生成终端生成量子密钥的速度较慢时,使用同一量子密钥加密不同的数据包导致数据包的安全性降低的问题;由于可以基于量子密钥生成多个衍生密钥,因此,可以在量子密钥生成速度较慢时使用衍生密钥对数据包加密,从而保证数据包的安全性。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的密钥生成方法的流程图;
图2是本申请一个实施例提供的密钥生成装置的框图;
图3是本申请一个实施例提供的密钥生成装置的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式作进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
首先,对本申请涉及的若干名词进行介绍。
杂凑运算(又称哈希函数或杂凑算法):是将任意长的输入消息串变化成固定长度的输出串的一种函数,该输出串为输入消息的杂凑值。杂凑运算是一种可以将一个键值对应到一个索引的函数。比如:杂凑函数为h(x)=key%100(即key除以100的余数),这个函数用于输出key的末两位数。杂凑算法包括但不限于:SM3或SHA-256等。
对称加密算法(或称私钥加密):指加密和解密使用相同的密钥的加密算法。对称加密算法包括但不限于:SM1或SM4等。
非对称加密算法(或称公私钥加密):指加密和解密使用不同密钥的加密算法。非对称加密算法包括但不限于:RSA加密算法或椭圆曲线算法(Elliptic CurveCryptography,ECC)等。
可选地,本申请中以各个实施例中每个步骤的执行主体为与量子密钥生成终端相连的应用设备;或者,为量子密钥生成终端为例进行说明。可选地,应用设备可以是计算机、视频会议终端、手机、可穿戴式设备等具有与量子密钥生成终端进行通信的功能的电子设备。量子密钥生成终端(或称量子密钥分配终端)用于通过光的量子态特征进行密钥协商,以实现量子密钥的协商、安全分配、密钥管理等功能。其中,量子密钥生成终端包括对应用设备的密钥读取接口。
图1是本申请一个实施例提供的密钥生成方法的流程图。该方法至少包括以下几个步骤:
步骤101,获取量子密钥生成终端生成的量子密钥。
量子密钥生成终端与其他量子密钥生成终端通过光的量子态特征协商生成量子密钥。可选地,量子密钥生成终端生成的量子密钥的总长度为32字节的整数倍。
步骤102,将量子密钥划分为多个第一密钥和多个第二密钥。
第一密钥的字符数量和第二密钥的字符数量均小于量子密钥的总长度。可选地,第一密钥用于加密第二密钥。
可选地,第一密钥的长度与第二密钥的长度相同或不同。示意性地,第一密钥的
长度与第二密钥的长度相同,均为16字节。
可选地,第一密钥的数量n1与第二密钥数量n2相同或不同。示意性地,多个第一密钥包括n个第一密钥,多个第二密钥包括n个第二密钥,n为正整数。其中,n的值为第一密钥的数量和第二密钥的数量中的最小值。当然,第一密钥的数量可以大于n,第二密钥的数量可以大于n。
将量子密钥划分为多个第一密钥和多个第二密钥,包括但不限于以下几种方式:
第一种:将量子密钥的前x个字节确定为n1个第一密钥,每个第一密钥包括个字节;将量子密钥的后y个字节确定为n2个第二密钥,每个第二密钥包括个字节。其中,x为大于或等于n1的整数,y为大于或等于n2的整数,为向上取整。可选地,n1=n2=n。
可选地,量子密钥的总长度为x+y;或者,量子密钥的总长度大于x+y。
以n1=n2=n为例,假设量子密钥的总长度为32n,将量子密钥的前半部分(即,前16n个字节)确定为n个第一密钥,每个第一密钥的长度为16字节;将量子密钥的后半部分(即,后16n个字节)确定为n个第二密钥,每个第二密钥的长度为16字节。
第二种:将量子密钥平均分成n1+n2个字符串,随机选取n1个字符串确定为第一密钥;将剩余的n2个字符串确定为第二密钥。此时,量子密钥为n1+n2的整数倍。
第三种:将量子密钥中奇数位的字节平均分成n1个第一密钥;将量子密钥中偶数位的字节平均分成n2个第二密钥。此时,量子密钥中奇数位的字节数量为n1的整数倍;量子密钥中偶数位的字节数量为n2的整数倍。
当然,将量子密钥划分为n1个第一密钥和n2个第二密钥的方式还可以是其他方式,本实施例在此不再一一列举。
步骤103,使用多个第一密钥和多个第二密钥进行m轮衍生变换,得到多个衍生密钥,m为正整数。
衍生变换是指基于第一密钥和第二密钥生成与量子密钥不同的衍生密钥的过程。衍生密钥用于加密数据包。
本实施例中,通过基于第一密钥和第二密钥的多轮衍生变换,得到多个衍生密钥,可以在原有的量子密钥的基础上生成多个衍生密钥来加密数据包,由于生成衍生密钥中具有量子密钥的元素,其安全性相对于不同密钥要更高,可以在量子密钥生成终端生成速度较慢的场景下依然保证数据包的安全性。
可选地,多个衍生密钥的密钥长度相同或者不同。
可选地,以多个第一密钥包括n个第一秘钥,多个第二密钥包括n个第二密钥为例,使用多个第一密钥和多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括但不限于以下几种方式中的至少一种:
第一种,在第j轮衍生变换中,使用n个第一密钥对n个第二密钥依次进行加密,得到n个衍生密钥,1≤j≤m。j为整数。
可选地,使用第一密钥对第二密钥进行加密时,可以使用对称加密算法对第二密钥进行加密;或者,也可以使用非对称加密算法对第二密钥进行加密,本实施例不对第二密钥的加密方式作限定。
本发明实施例中,由于第一密钥和第二密钥均携带有原始量子密钥的元素,采用第一密钥对第二密钥进行加密得到的衍生密钥,其安全性极高,甚至比原始量子密钥具有安全性。
可选地,使用n个第一密钥对n个第二密钥依次进行加密时,可以使用第a个第一秘钥对第a个第二密钥进行加密,a依次为1至n的整数;或者,使用n个第一密钥中未使用过的任一第一密钥对n个第二密钥中未加密过的任一第二密钥进行加密,本实施例不对使用n个第一密钥对n个第二密钥依次进行加密的方式作限定。
假设在第1轮衍生变换中,n个第一密钥分别为MK0、MK1、…、MKn-1,n个第二密钥分别为SK0、SK1、…、SKn-1,则使用MK0加密SK0、使用MK1加密SK1、…、使用MKn-1加密SKn-1,得到n个衍生密钥。
第二种,在第i轮衍生变换中,利用n个第一密钥生成n个临时加密密钥,0≤i≤m;使用n个临时加密密钥对n个第二密钥依次进行加密,得到n个衍生密钥。1≤i≤m。i为整数。此时,由于每轮衍生变换都会生成n个临时加密密钥,因此,在m轮衍生变换后会得到n*m个临时加密密钥。
可选地,使用n个临时加密密钥对n个第二密钥依次进行加密时,可以使用第b个临时加密秘钥对第b个第二密钥进行加密,b依次为1至n的整数;或者,使用n个临时加密密钥中未使用过的任一临时加密密钥对n个第二密钥中未加密过的任一第二密钥进行加密,本实施例不对使用n个临时加密密钥对n个第二密钥依次进行加密的方式作限定。
在一个示例中,利用n个第一密钥生成n个临时加密密钥,包括:在第i轮衍生变换中,将第p个种子密钥与第q个衍生密钥进行拼接,得到拼接密钥;1≤p≤n,p在m轮衍生变换中的取值各不相同;1≤q≤n,q在m轮衍生变换中的取值各不相同;对拼接密钥进行杂凑运算,得到杂凑值;将杂凑值划分为第一部分和第二部分;将第一部分与第二部分进行异或操作,得到中间密钥;使用中间密钥对n个第一密钥进行加密,得到n个临时加密密钥。m≤n。
可选地,第一部分的长度与第二部分的长度相同或不同;在不同时,可以将长度较短的部分进行补0,得到长度相同的两部分,然后将长度相同的两部分进行异或操作。
可选地,使用中间密钥对n个第一密钥进行加密时,可以使用对称加密算法对第一密钥进行加密;或者,也可以使用非对称加密算法对第一密钥进行加密,本实施例不对第一密钥的加密方式作限定。
假设n个第一密钥分别为MK0、MK1、…、MKn-1,n个第二密钥分别为SK0、SK1、…、SKn-1。每个第一密钥和每个第二密钥的长度相同均为16字节。
在第1轮衍生变换中,使用MK0与SK0进行拼接得拼接密钥(32字节);然后,对该拼接密钥进行杂凑运算,得到杂凑值(32字节);将杂凑值的前半部分(前16字节)与后半部分(后16字节)进行异或操作,得到中间密钥CK0;使用中间密钥CK0对n个第一密钥MK0、MK1、…、MKn-1分别进行加密,得到n个临时密钥TmpK0、TmpK1、…、TmpKn-1;最后,使用临时密钥TmpK0对第二密钥SK0进行加密、使用临时密钥TmpK1对第二密钥SK1进行加密、…、使用临时密钥TmpKn-1对第二密钥SKn-1进行加密,得到n个衍生密钥。
在第2轮衍生变换中,使用MK1与SK1进行拼接得拼接密钥(32字节);然后,对该拼接密钥进行杂凑运算,得到杂凑值(32字节);将杂凑值的前半部分(前16字节)与后半部分(后16字节)进行异或操作,得到中间密钥CK1;使用中间密钥CK1对n个第一密钥MK0、MK1、…、MKn-1分别进行加密,得到n个临时密钥TmpK02、TmpK12、…、TmpKn-12;最后,使用临时密钥TmpK02对第二密钥SK0进行加密、使用临时密钥TmpK12对第二密钥SK1进行加密、…、使用临时密钥TmpKn-12对第二密钥SKn-1进行加密,得到n个衍生密钥。
如此循环,在m=n时,在第n轮衍生变换中,使用MKn-1与SKn-1进行拼接得拼接密钥(32字节);然后,对该拼接密钥进行杂凑运算,得到杂凑值(32字节);将杂凑值的前半部分(前16字节)与后半部分(后16字节)进行异或操作,得到中间密钥CKn-1;使用中间密钥CKn-1对n个第一密钥MK0、MK1、…、MKn-1分别进行加密,得到n个临时密钥TmpK0n-1、TmpK1n-1、…、TmpKn-1n-1;最后,使用临时密钥TmpK0n-1对第二密钥SK0进行加密、使用临时密钥TmpK1n-1对第二密钥SK1进行加密、…、使用临时密钥TmpKn-1n-1对第二密钥SKn-1进行加密,得到n个衍生密钥。
在另一个示例中,利用n个第一密钥生成n个临时加密密钥,包括:在第i轮衍生变换中,将第p个种子密钥与第q个衍生密钥进行拼接,得到拼接密钥;1≤p≤n,p在m轮衍生变换中的取值不同;1≤q≤n,q在m轮衍生变换中的取值不同;对拼接密钥进行杂凑运算,得到杂凑值;将杂凑值划分为第一部分和第二部分;将第一部分向左循环移位预设位数后与第二部分进行异或操作,得到中间密钥;使用该中间密钥对n个第一密钥进行加密,得到n个临时加密密钥。
其中,预设位数可以是2位、3位等,本实施例不对预设位数的取值作限定。
当然,利用n个第一密钥生成n个临时加密密钥的方式也可以是其他方式,也可以不仅限于杂凑运算和异或运算的结合,本实施例在此不再一一列举。
在又一个示例中,利用n个第一密钥生成n个临时加密密钥,包括:在第i轮衍生变换中,将n个第一密钥中的每个第一密钥均向左循环移位i位,得到n个临时加密密钥。
在又一个示例中,利用n个第一密钥生成n个临时加密密钥,包括:在第i轮衍生变换中,将n个第一密钥中的每个第一密钥均向右循环移位i位,得到n个临时加密密钥。
当然,利用n个第一密钥生成n个临时加密密钥的方式还可以为其它方式,本实施例在此不再一一列举。
第三种,在第1轮衍生变换中,使用n个第一密钥对n个第二密钥依次进行加密,得到n个衍生密钥,0≤j≤m;在第2轮至第m轮的每轮衍生变换中,利用n个第一密钥生成n个临时加密密钥;使用n个临时加密密钥对n个第二密钥依次进行加密,得到n个衍生密钥。
可选地,对于生成速度不同的量子密钥生成终端,对应的密钥衍生需求也有所不同。比如:对于生成速度较快的量子密钥生成终端,需要生成较少的衍生密钥,此时密钥衍生需要指示的m的值较低;对于生成速度较慢的量子密钥生成终端,需要生成较多的衍生密钥,此时密钥衍生需要指示的m的值较高。此时,获取密钥衍生需求;根据密钥衍生需求指示的衍生密钥需求数量确定m的值;使用多个第一密钥和多个第二密钥进行m轮衍生变换,得到多个衍生密钥。
可选地,密钥衍生需求用于指示衍生变换的执行次数,m的值与衍生密钥的个数呈正相关关系。
密钥衍生需求可以是用户输入的;或者,也可以是其他设备发送的,本实施例不对密钥衍生需求的获取方式作限定。
综上所述,本实施例提供的密钥生成方法,通过获取量子密钥生成终端生成的量子密钥;将量子密钥划分为n个第一密钥和n个第二密钥;使用n个第一密钥和n个第二密钥进行m轮衍生变换,得到多个衍生密钥;可以解决量子密钥生成终端生成量子密钥的速度较慢时,使用同一量子密钥加密不同的数据包导致数据包的安全性降低的问题;由于可以基于量子密钥生成多个衍生密钥,因此,可以在量子密钥生成速度较慢时使用衍生密钥对数据包加密,从而保证数据包的安全性。
另外,在衍生变换中,使用杂凑算法对第一密钥和第二密钥进行变换,可以使得得到的衍生密钥与原始的量子密钥之间更分散,可以提高衍生密钥的破解难度。
另外,在衍生变换中,使用对称加密算法对第二密钥进行加密,使得恶意人员从单组衍生密钥无法反向攻击得到原始的第一密钥和第二密钥,从而保护其他的衍生密钥。
可选地,基于上述实施例,在步骤103之后,若衍生密钥的数量仍然不够,则还可以基于已生成的衍生密钥再次进行衍生变换,得到再次衍生密钥。此时,将多个衍生密钥划分为多个第三密钥和多个第四密钥;使用多个第三密钥和多个第四密钥进行s轮衍生变换,得到多个再次衍生密钥。s为正整数。
其中,多个衍生密钥可以是所有已生成的衍生密钥,比如:m轮衍生变换生成的所有的衍生密钥;或者,也可以是部分已生成的衍生密钥,比如:某一轮衍生变换生成的衍生密钥。
可选地,第三密钥的数量与第四密钥的数量相等均为k,k为正整数。
假设多个衍生密钥的总长度为16k,将多个衍生密钥的前半部分(即,前8k个字节)确定为k个第一密钥,每个第一密钥的长度为8字节;将多个衍生密钥的后半部分(即,后8k个字节)确定为k个第二密钥,每个第二密钥的长度为8字节。然后,使用k个第三密钥和k个第四密钥进行s轮衍生变换,得到多个再次衍生密钥。
其中,使用多个第三密钥和多个第四密钥进行s轮衍生变换,得到多个再次衍生密钥的相关说明详见步骤103,此时,只需将第一密钥替换为第三密钥,将第二密钥替换为第四密钥即可,本实施例在此不再赘述。
本实施例中,通过根据已生成的衍生密钥再次生成衍生密钥,可以再次提高衍生密钥的生成数量,进一步降低对量子密钥生成终端生成量子密钥的速度的要求。
图2是本申请一个实施例提供的密钥生成装置的框图。该装置至少包括以下几个模块:密钥获取模块210、密钥划分模块220和衍生变换模块230。
密钥获取模块210,用于获取量子密钥生成终端生成的量子密钥;
密钥划分模块220,用于将所述量子密钥划分为多个第一密钥和多个第二密钥;
衍生变换模块230,用于使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,所述m为正整数,所述衍生密钥用于加密数据包。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的密钥生成装置在进行密钥生成时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将密钥生成装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的密钥生成装置与密钥生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3是本申请一个实施例提供的密钥生成装置的框图。该装置至少包括处理器301和存储器302。
处理器301可以包括一个或多个处理核心,比如:4核心处理器、6核心处理器等。处理器301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器301所执行以实现本申请中方法实施例提供的密钥生成方法。
在一些实施例中,密钥生成装置还可选包括有:外围设备接口和至少一个外围设备。处理器301、存储器302和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,密钥生成装置还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的密钥生成方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的密钥生成方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种密钥生成方法,其特征在于,所述方法包括:
获取量子密钥生成终端生成的量子密钥;
将所述量子密钥划分为多个第一密钥和多个第二密钥;
使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,所述m为正整数,所述衍生密钥用于加密数据包。
2.根据权利要求1所述的方法,其特征在于,所述多个第一密钥包括n个第一秘钥,所述多个第二密钥包括n个第二密钥;
所述使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括:
在第i轮衍生变换中,利用所述n个第一密钥生成n个临时加密密钥,1≤i≤m;
使用所述n个临时加密密钥对所述n个第二密钥依次进行加密,得到n个衍生密钥。
3.根据权利要求2所述的方法,其特征在于,所述在第i轮衍生变换中,利用所述n个第一密钥生成n个临时加密密钥,包括:
在所述第i轮衍生变换中,将第p个第一密钥与第q个第二密钥进行拼接,得到拼接密钥;1≤p≤n,所述p在m轮衍生变换中的取值各不相同;1≤q≤n,所述q在m轮衍生变换中的取值各不相同,m≤n;
对所述拼接密钥进行杂凑运算,得到杂凑值;
将所述杂凑值划分为第一部分和第二部分;
将所述第一部分与所述第二部分进行异或操作,得到中间密钥;
使用所述中间密钥对所述n个第一密钥进行加密,得到所述n个临时加密密钥。
4.根据权利要求1所述的方法,其特征在于,所述多个第一密钥包括n个第一秘钥,所述多个第二密钥包括n个第二密钥;
所述使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括:
在第j轮衍生变换中,使用所述n个第一密钥对所述n个第二密钥依次进行加密,得到n个衍生密钥,1≤j≤m。
5.根据权利要求1至4任一所述的方法,其特征在于,所述将所述量子密钥划分为多个第一密钥和多个第二密钥,包括:
将所述量子密钥的前x个字节确定为n1个第一密钥,每个第一密钥包括个字节;将所述量子密钥的后y个字节确定为n2个第二密钥,每个第二密钥包括个字节,x为大于或等于n1的整数,y为大于或等于n2的整数,为向上取整。
6.根据权利要求1至4任一所述的方法,其特征在于,所述使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥之后,还包括:
将所述多个衍生密钥划分为多个第三密钥和多个第四密钥;
使用所述多个第三密钥和所述多个第四密钥进行s轮衍生变换,得到多个再次衍生密钥,所述s为正整数。
7.根据权利要求1至4任一所述的方法,其特征在于,使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,包括:
获取密钥衍生需求;
根据所述密钥衍生需求指示的衍生密钥需求数量确定所述m的值;
使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥。
8.一种密钥生成装置,其特征在于,所述装置包括:
密钥获取模块,用于获取量子密钥生成终端生成的量子密钥;
密钥划分模块,用于将所述量子密钥划分为多个第一密钥和多个第二密钥;
衍生变换模块,用于使用所述多个第一密钥和所述多个第二密钥进行m轮衍生变换,得到多个衍生密钥,所述m为正整数,所述衍生密钥用于加密数据包。
9.一种密钥生成装置,其特征在于,所述装置包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至7任一项所述的密钥生成方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至7任一项所述的密钥生成方法。
CN201910480131.7A 2019-06-04 2019-06-04 密钥生成方法、装置及存储介质 Active CN110213050B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910480131.7A CN110213050B (zh) 2019-06-04 2019-06-04 密钥生成方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910480131.7A CN110213050B (zh) 2019-06-04 2019-06-04 密钥生成方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110213050A true CN110213050A (zh) 2019-09-06
CN110213050B CN110213050B (zh) 2021-07-30

Family

ID=67790591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910480131.7A Active CN110213050B (zh) 2019-06-04 2019-06-04 密钥生成方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110213050B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737781A (zh) * 2021-03-29 2021-04-30 南京易科腾信息技术有限公司 量子密钥管理服务方法、系统及存储介质
CN113328849A (zh) * 2021-05-24 2021-08-31 清华大学 一种密钥获取方法和装置
CN114024724A (zh) * 2021-10-25 2022-02-08 四川启睿克科技有限公司 一种基于物联网的对称密钥动态生成方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099672A (zh) * 2015-08-04 2015-11-25 东南大学 混合加密方法及实现该方法的装置
CN105187436A (zh) * 2015-09-25 2015-12-23 中国航天科工集团第二研究院七〇六所 一种基于散列表的包过滤主机网络控制方法
US9313180B1 (en) * 2015-03-31 2016-04-12 Corning Incorporated Systems and methods for quantum key generation
CN105847005A (zh) * 2016-03-14 2016-08-10 美的集团股份有限公司 加密装置和方法
CN106850204A (zh) * 2017-02-27 2017-06-13 北京邮电大学 量子密钥分配方法及系统
CN109428710A (zh) * 2017-08-22 2019-03-05 深圳光启智能光子技术有限公司 数据传输方法、装置、存储介质和处理器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9313180B1 (en) * 2015-03-31 2016-04-12 Corning Incorporated Systems and methods for quantum key generation
CN105099672A (zh) * 2015-08-04 2015-11-25 东南大学 混合加密方法及实现该方法的装置
CN105187436A (zh) * 2015-09-25 2015-12-23 中国航天科工集团第二研究院七〇六所 一种基于散列表的包过滤主机网络控制方法
CN105847005A (zh) * 2016-03-14 2016-08-10 美的集团股份有限公司 加密装置和方法
CN106850204A (zh) * 2017-02-27 2017-06-13 北京邮电大学 量子密钥分配方法及系统
CN109428710A (zh) * 2017-08-22 2019-03-05 深圳光启智能光子技术有限公司 数据传输方法、装置、存储介质和处理器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112737781A (zh) * 2021-03-29 2021-04-30 南京易科腾信息技术有限公司 量子密钥管理服务方法、系统及存储介质
CN112737781B (zh) * 2021-03-29 2021-06-18 南京易科腾信息技术有限公司 量子密钥管理服务方法、系统及存储介质
CN113328849A (zh) * 2021-05-24 2021-08-31 清华大学 一种密钥获取方法和装置
CN113328849B (zh) * 2021-05-24 2022-07-22 清华大学 一种密钥获取方法和装置
CN114024724A (zh) * 2021-10-25 2022-02-08 四川启睿克科技有限公司 一种基于物联网的对称密钥动态生成方法
CN114024724B (zh) * 2021-10-25 2023-06-13 四川启睿克科技有限公司 一种基于物联网的对称密钥动态生成方法

Also Published As

Publication number Publication date
CN110213050B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
TWI734368B (zh) 實現隱私保護的數據同態加解密方法及裝置
US10979221B2 (en) Generation of keys of variable length from cryptographic tables
CN108965302A (zh) 媒体数据传输系统、方法、装置及存储介质
RU2752697C1 (ru) Криптографическое устройство с изменяемой конфигурацией
CN111492615B (zh) 具有可更新共享矩阵的加密设备
CN112291056B (zh) 加密密钥生成器及传输系统
CN108418686A (zh) 一种多分布式的sm9解密方法与介质及密钥生成方法
US20120269340A1 (en) Hierarchical encryption/decryption device and method thereof
US10146701B2 (en) Address-dependent key generation with a substitution-permutation network
CN110061840A (zh) 数据加密方法、装置、计算机设备及存储介质
CN110213050A (zh) 密钥生成方法、装置及存储介质
US10404468B2 (en) Technologies for CCM encryption with 64-bit block ciphers
CN111199047B (zh) 数据加密方法、解密方法、装置、设备及存储介质
EP3661115B1 (en) Encryption device, decryption device, encryption method, decryption method, encryption program, and decryption program
CN109714368B (zh) 报文加解密方法、装置、电子设备及计算机可读存储介质
US11329799B2 (en) Calculation device for encryption using public key and encryption method thereof
US8122075B2 (en) Pseudorandom number generator and encryption device using the same
US20200274709A1 (en) Calculation device for encryption using public key and encryption method thereof
JP2022095852A (ja) デジタル署名方法、署名情報の検証方法、関連装置及び電子機器
CN115632782B (zh) 基于sm4计数器模式的随机数生成方法、系统及设备
CN112948867A (zh) 加密报文的生成与解密方法、装置及电子设备
CN115277064B (zh) 数据加密、数据解密方法、装置、电子设备和介质
US11165758B2 (en) Keystream generation using media data
CN109714151A (zh) 基于aes-gcm的芯片数据处理方法及系统
CN112640359B (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
GR01 Patent grant
GR01 Patent grant