CN116886297A - 基于量子加密的数据加密方法及其装置、电子设备 - Google Patents

基于量子加密的数据加密方法及其装置、电子设备 Download PDF

Info

Publication number
CN116886297A
CN116886297A CN202310988598.9A CN202310988598A CN116886297A CN 116886297 A CN116886297 A CN 116886297A CN 202310988598 A CN202310988598 A CN 202310988598A CN 116886297 A CN116886297 A CN 116886297A
Authority
CN
China
Prior art keywords
data
key
matrix
encryption
encrypted
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
CN202310988598.9A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310988598.9A priority Critical patent/CN116886297A/zh
Publication of CN116886297A publication Critical patent/CN116886297A/zh
Pending legal-status Critical Current

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
    • 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/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

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)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于量子加密的数据加密方法及其装置、电子设备,涉及信息安全领域及其他相关技术领域,其中,该数据加密方法包括:接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合;基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。本发明解决了相关技术中,基于双方协商的会话密钥的数据加密方式,容易造成数据泄露,导致数据安全得不到有效保障的技术问题。

Description

基于量子加密的数据加密方法及其装置、电子设备
技术领域
本发明信息安全领域及其他相关技术领域,具体而言,涉及一种基于量子加密的数据加密方法及其装置、电子设备。
背景技术
随着物联网技术的飞速发展,硬件技术已经非常成熟,而数据逐渐变成产品的核心竞争力,很多数据信息涉及用户隐私、企业机密等,直接对数据进行传输可能会导致数据泄露或被第三方窃取,为了更好地保护数据资料不被泄露,亟需数据加密方法以保护数据安全。
许多应用对于涉及用户隐私的信息数据的交互,其传输过程普遍采用加密的形式,相关技术中,通过基于双方协商的会话密钥进行加密,而会话密钥的强度较低,容易在数据传输过程中泄露密钥进而泄露数据信息,使得数据安全性得不到有效保障。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于量子加密的数据加密方法及其装置、电子设备,以至少解决相关技术中,基于双方协商的会话密钥的数据加密方式,容易造成数据泄露,导致数据安全得不到有效保障的技术问题。
根据本发明实施例的一个方面,提供了一种基于量子加密的数据加密方法,包括:接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,所述待加密数据集合包括N个待加密数据,所述加密密钥集合包括M个加密密钥,所述数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;基于所述待加密数据构建数据矩阵,并基于所述加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;对所述数据矩阵集合和所述密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
可选地,获取待加密数据集合和加密密钥集合的步骤包括:基于所述待查询数据字段从数据库中提取数据信息,得到待加密数据;基于所述用户标识从数据库中获取加密密钥集合。
可选地,基于所述待加密数据构建数据矩阵的步骤包括:提取所述待加密数据中的K个字段信息,其中,K为大于等于1的整数;基于摘要算法将每个所述字段信息转换成长度为Q的数据字符串,得到K个数据字符串,其中,Q为大于等于1的整数;基于所述待加密数据转换后的数据大小构建初始数据矩阵,并将所述K个数据字符串写入所述初始数据矩阵,得到大小为Q*K的所述数据矩阵。
可选地,基于所述加密密钥构建密钥矩阵的步骤包括:基于所述数据矩阵的大小对所述加密密钥进行切分,得到K个密钥子段;对每个所述密钥子段进行散列变换,将所述密钥子段转换成长度为Q的密钥字符串,得到K个密钥字符串;基于转换后的加密密钥大小构建初始密钥矩阵,并将所述K个密钥字符串写入所述初始密钥矩阵,得到与所述数据矩阵大小相同的所述密钥矩阵。
可选地,在基于所述数据矩阵的大小对所述加密密钥进行切分之前,还包括:将所述加密密钥转换为密钥字符串;统计所述密钥字符串的长度和所述待加密数据的长度;在所述密钥字符串的长度小于所述待加密数据的长度的情况下,基于所述待加密数据的长度对所述密钥字符串进行填充。
可选地,对所述数据矩阵集合和所述密钥矩阵集合进行量子加密运算的步骤包括:步骤一,选取所述数据矩阵集合中当前待加密数据矩阵和所述密钥矩阵集合中当前加密密钥矩阵,对所述当前待加密数据矩阵与所述当前加密密钥矩阵进行异或运算,得到当前待加密数据矩阵对应的加密数据矩阵,其中,所述当前待加密数据矩阵为所述数据矩阵集合中任意一个未加密的数据矩阵,所述当前加密密钥矩阵为所述密钥矩阵集合中任意一个未使用的密钥矩阵;步骤二,选取所述密钥矩阵集合中下一加密密钥矩阵,将所述当前待加密数据矩阵与所述下一加密密钥矩阵进行异或运算,得到加密乱序矩阵,其中,所述下一加密密钥矩阵是所述密钥矩阵集合中任意一个未使用的密钥矩阵;步骤三,选取所述数据矩阵集合中下一待加密数据矩阵,将所述下一待加密数据矩阵与所述加密乱序矩阵进行异或运算,得到下一待加密数据矩阵对应的加密数据矩阵,其中,所述下一待加密数据矩阵是所述数据矩阵中任意一个未加密的数据矩阵;重复步骤二至步骤三,直至所述数据矩阵集合中的所有数据矩阵全部完成量子加密运算。
可选地,所述加密密钥的类型包括下述至少之一:口令密钥、指纹密钥、虹膜密钥、声纹密钥、人脸密钥。
根据本发明实施例的另一方面,还提供了一种基于量子加密的数据加密装置,包括:获取单元,用于接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,所述待加密数据集合包括N个待加密数据,所述加密密钥集合包括M个加密密钥,所述数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;构建单元,用于基于所述待加密数据构建数据矩阵,并基于所述加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;加密单元,用于对所述数据矩阵集合和所述密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
可选地,所述获取单元包括:第一提取模块,用于基于所述待查询数据字段从数据库中提取数据信息,得到待加密数据;第一获取模块,用于基于所述用户标识从数据库中获取加密密钥集合。
可选地,所述构建模块包括:第二提取模块,用于提取所述待加密数据中的K个字段信息,其中,K为大于等于1的整数;第一转换模块,用于基于摘要算法将每个所述字段信息转换成长度为Q的数据字符串,得到K个数据字符串,其中,Q为大于等于1的整数;第一构建模块,用于基于所述待加密数据转换后的数据大小构建初始数据矩阵,并将所述K个数据字符串写入所述初始数据矩阵,得到大小为Q*K的所述数据矩阵。
可选地,所述构建模块还包括:第一切分模块,用于基于所述数据矩阵的大小对所述加密密钥进行切分,得到K个密钥子段;第一变换模块,用于对每个所述密钥子段进行散列变换,将所述密钥子段转换成长度为Q的密钥字符串,得到K个密钥字符串;第二构建模块,用于基于转换后的加密密钥大小构建初始密钥矩阵,并将所述K个密钥字符串写入所述初始密钥矩阵,得到与所述数据矩阵大小相同的所述密钥矩阵。
可选地,所述基于量子加密的数据加密装置还包括:第二转换模块,用于将所述加密密钥转换为密钥字符串;第一统计模块,用于统计所述密钥字符串的长度和所述待加密数据的长度;第一填充模块,用于在所述密钥字符串的长度小于所述待加密数据的长度的情况下,基于所述待加密数据的长度对所述密钥字符串进行填充。
可选地,所述加密单元包括:第一运算模块,用于步骤一,选取所述数据矩阵集合中当前待加密数据矩阵和所述密钥矩阵集合中当前加密密钥矩阵,对所述当前待加密数据矩阵与所述当前加密密钥矩阵进行异或运算,得到当前待加密数据矩阵对应的加密数据矩阵,其中,所述当前待加密数据矩阵为所述数据矩阵集合中任意一个未加密的数据矩阵,所述当前加密密钥矩阵为所述密钥矩阵集合中任意一个未使用的密钥矩阵;第二运算模块,用于步骤二,选取所述密钥矩阵集合中下一加密密钥矩阵,将所述当前待加密数据矩阵与所述下一加密密钥矩阵进行异或运算,得到加密乱序矩阵,其中,所述下一加密密钥矩阵是所述密钥矩阵集合中任意一个未使用的密钥矩阵;第三运算单元,用于步骤三,选取所述数据矩阵集合中下一待加密数据矩阵,将所述下一待加密数据矩阵与所述加密乱序矩阵进行异或运算,得到下一待加密数据矩阵对应的加密数据矩阵,其中,所述下一待加密数据矩阵是所述数据矩阵中任意一个未加密的数据矩阵;第一重复模块,用于重复步骤二至步骤三,直至所述数据矩阵集合中的所有数据矩阵全部完成量子加密运算。
可选地,所述加密密钥的类型包括下述至少之一:口令密钥、指纹密钥、虹膜密钥、声纹密钥、人脸密钥。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项基于量子加密的数据加密方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述任意一项基于量子加密的数据加密方法。
在本公开中,通过以下步骤:先接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,待加密数据集合包括N个待加密数据,加密密钥集合包括M个加密密钥,数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;再基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;最后对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
在本公开中,在进行数据传输时,将待传输的数据和加密密钥均转换成矩阵的形式,并对数据矩阵和密钥矩阵进行量子加密运算,使得每个数据矩阵的加密除了依赖本次加密矩阵外,还与前次加密结果相关联,从而增强了数据传输的安全性,进而解决了相关技术中,基于双方协商的会话密钥的数据加密方式,容易造成数据泄露,导致数据安全得不到有效保障的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于量子加密的数据加密方法的流程图;
图2是根据本发明实施例的一种可选的量子加密示意图;
图3是根据本发明实施例的一种可选的基于量子加密的数据加密装置的示意图;
图4是根据本发明实施例的一种基于量子加密的数据加密方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本公开中的基于量子加密的数据加密方法及其装置可用于信息安全领域在对目标数据进行量子加密的情况下,也可用于除信息安全领域之外的任意领域在对目标数据进行量子加密的情况下,本公开中对基于量子加密的数据加密方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
本发明下述各实施例可应用于各种数据加密系统/应用/设备中。本发明基于待加密的数据和多种类型的加密密钥构建数据矩阵和密钥矩阵,然后对数据矩阵和密钥矩阵进行量子加密运算,既可以将多种类型的加密密钥进行融合,还可以增强数据传输的安全性,避免数据在传输过程中泄露。
下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种基于量子加密的数据加密方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的基于量子加密的数据加密方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,待加密数据集合包括N个待加密数据,加密密钥集合包括M个加密密钥,数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;
步骤S102,基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;
步骤S103,对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
通过上述步骤,先接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,待加密数据集合包括N个待加密数据,加密密钥集合包括M个加密密钥,数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;然后基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;最后对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
本实施例中,在进行数据传输时,将待传输的数据和加密密钥均转换成矩阵的形式,并对数据矩阵和密钥矩阵进行量子加密运算,使得每个数据矩阵的加密除了依赖本次加密矩阵外,还与前次加密结果相关联,从而增强了数据传输的安全性,进而解决了相关技术中,基于双方协商的会话密钥的数据加密方式,容易造成数据泄露,导致数据安全得不到有效保障的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。
需要说明的是,本发明实施例的实施主体为量子加密系统,该系统用于在应用交互过程中对数据进行加密,采用量子加密算法,将待加密数据和加密密钥均转化为矩阵的形式,然后对数据矩阵和密钥矩阵进行量子加密运算,由于每一个待加密的数据矩阵除了依赖本次加密对应的密钥矩阵之外,还与前次加密的结果相关联,因此即使通信过程中被窃取了部分数据或破解了相应的加密密钥,因其无法得到完整的数据和正确的数据加密顺序,也无法解密得到原始数据,实现了量子加密,从而进一步提高了数据的安全性。
需要说明的是,本发明实施例通过矩阵的异或运算,可以将多种形式的密钥在通信过程中进行融合,将不同类型的将待加密的信息按其字段组成矩阵的形式,与构建的密钥矩阵进行矩阵逻辑运算从而对数据进行加密,该构建的密钥矩阵可以适用于各种不同形式的密钥,如字符型密钥、生物特征密钥等等,例如对某一数据集中的数据进行加密时,可以通过口令密钥、数字密钥、人脸密钥等多种形式的密钥对数据进行加密。
步骤S101,接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合。
需要说明的是,例如金融机构的信贷系统、线上金融系统等都会提供应用接口,供用户或第三方服务查询和调用相关数据,为了避免数据在传输过程中被其他用户或应用非法读取,需要对查询的数据进行加密,保障数据安全。
可选地,获取待加密数据集合和加密密钥集合的步骤包括:基于待查询数据字段从数据库中提取数据信息,得到待加密数据;基于用户标识从数据库中获取加密密钥集合。
需要说明的是,在接收到用户端发送的数据查询请求之后,需要根据请求携带的字段在数据库中查找相应的数据,并将数据进行打包,得到待加密数据集,然后基于请求携带的用户标识从数据库中获取加密密钥集合,加密密钥集合中存储有不同形式的密钥,这些密钥可以是用户在注册时基于用户提交的密码信息存储至数据库的,也可以是系统基于用户标识随机生成后存储至数据库的。
可选地,加密密钥的类型包括下述至少之一:口令密钥、指纹密钥、虹膜密钥、声纹密钥、人脸密钥。
步骤S102,基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合。
需要说明的是,本发明实施例通过将待加密的数据按其字段组成矩阵的形式,与构建的密钥矩阵进行矩阵逻辑运算从而实现数据加密。
可选地,基于待加密数据构建数据矩阵的步骤包括:提取待加密数据中的K个字段信息,其中,K为大于等于1的整数;基于摘要算法将每个字段信息转换成长度为Q的数据字符串,得到K个数据字符串,其中,Q为大于等于1的整数;基于待加密数据转换后的数据大小构建初始数据矩阵,并将K个数据字符串写入初始数据矩阵,得到大小为Q*K的数据矩阵。
需要说明的是,在构建数据矩阵时,首先需要从待加密的数据中提取出K个字段,长度为L的待加密数据,其内容是由多个字段构成,如手机金融APP与服务器通信过程中的待加密数据,其可以是由用户名、密码、交易类型、交易金额等多个字段构成,将通信过程中的每一个字段通过摘要算法转换成统一长度为Q的字符串,并依次序写入预先构建的初始数据矩阵中,得到大小为Q*K的矩阵S。
可选地,基于加密密钥构建密钥矩阵的步骤包括:基于数据矩阵的大小对加密密钥进行切分,得到K个密钥子段;对每个密钥子段进行散列变换,将密钥子段转换成长度为Q的密钥字符串,得到K个密钥字符串;基于转换后的加密密钥大小构建初始密钥矩阵,并将K个密钥字符串写入初始密钥矩阵,得到与数据矩阵大小相同的密钥矩阵。
需要说明的是,对于口令等字符形式的加密密钥,首先需要对密钥进行拆分,将加密密钥拆分成与数据字段数量相同的K个密钥子段,然后对每个密钥子段进行散列变换,将每个密钥子段都转换成长度为Q的密钥字符串,然后将K个密钥字符串写入预先构建的初始密钥矩阵中,得到Q*K的密钥矩阵K,密钥矩阵的大小与数据矩阵大小是相同的。
需要说明的是,对于指纹、虹膜、或者人脸等图像形式的加密密钥,本身在数据库中就以矩阵的形式存储,则可以直接将其转换成与数据矩阵大小相同的矩阵。
可选地,在基于数据矩阵的大小对加密密钥进行切分之前,还包括:将加密密钥转换为密钥字符串;统计密钥字符串的长度和待加密数据的长度;在密钥字符串的长度小于待加密数据的长度的情况下,基于待加密数据的长度对密钥字符串进行填充。
需要说明的是,在对加密密钥进行拆分时,需要根据数据矩阵的大小来对加密密钥进行拆分,加密密钥的长度不足以拆分成N个密钥子段,则需要对加密密钥进行填充,例如对不足部分用数字0填充。
步骤S103,对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
需要说明的是,量子加密的实现方式在于:对于每一个待加密的数据矩阵,除了依赖本次对应的密钥矩阵进行加密外,还与前次加密的结果相关联,通过前次加密结果和本次密钥矩阵进行异或运算得到的乱序矩阵对数据矩阵进行加密,即使通信过程中被非法窃取了部分数据和/或破解了相应的密钥,因其无法得到完整的数据和正确的数据加密顺序,也无法解密得到原始数据,从而进一步提高了数据的安全性。
可选地,对数据矩阵集合和密钥矩阵集合进行量子加密运算的步骤包括:步骤一,选取数据矩阵集合中当前待加密数据矩阵和密钥矩阵集合中当前加密密钥矩阵,对当前待加密数据矩阵与当前加密密钥矩阵进行异或运算,得到当前待加密数据矩阵对应的加密数据矩阵,其中,当前待加密数据矩阵为数据矩阵集合中任意一个未加密的数据矩阵,当前加密密钥矩阵为密钥矩阵集合中任意一个未使用的密钥矩阵;步骤二,选取密钥矩阵集合中下一加密密钥矩阵,将当前待加密数据矩阵与下一加密密钥矩阵进行异或运算,得到加密乱序矩阵,其中,下一加密密钥矩阵是密钥矩阵集合中任意一个未使用的密钥矩阵;步骤三,选取数据矩阵集合中下一待加密数据矩阵,将下一待加密数据矩阵与加密乱序矩阵进行异或运算,得到下一待加密数据矩阵对应的加密数据矩阵,其中,下一待加密数据矩阵是数据矩阵中任意一个未加密的数据矩阵;重复步骤二至步骤三,直至数据矩阵集合中的所有数据矩阵全部完成量子加密运算。
需要说明的是,在对数据进行加密时,矩阵之间采用异或运算,图2是根据本发明实施例的一种可选的量子加密示意图,如图2所示,假设待加密的数据矩阵有{S1、S2......Sn},可进行加密的密钥矩阵包括{K1、K2......Kj},j≥n,在对数据进行加密时,首先在数据矩阵集合中选取当前待加密数据矩阵S1,并在密钥矩阵集合中选取当前加密密钥矩阵K1,选取方式为随机选取,然后对当前待加密数据矩阵和当前加密密钥矩阵进行异或运算,得到加密数据矩阵S1’,然后在密钥矩阵集合中选取下一加密密钥矩阵K2,并将上一次计算的加密数据矩阵S1’与该K2进行异或运算得到乱序序列X1,再在数据矩阵集合中选取下一待加密数据矩阵S2,利用乱序序列X1对S2进行加密,得到加密数据矩阵S2’,重复上述步骤,直至对所有数据矩阵进行加密,得到加密数据矩阵集合,将加密数据矩阵集合发送至用户端。
下面结合另一实施例进行详细说明。
实施例二
本实施例中提供的一种基于量子加密的数据加密置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图3是根据本发明实施例的一种可选的基于量子加密的数据加密装置的示意图,如图3所示,该数据加密装置包括:获取单元31、构建单元32、加密单元33,其中,
获取单元31,用于接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,待加密数据集合包括N个待加密数据,加密密钥集合包括M个加密密钥,数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;
构建单元32,用于基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;
加密单元33,用于对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
上述数据加密装置,通过获取单元31,用于接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,待加密数据集合包括N个待加密数据,加密密钥集合包括M个加密密钥,数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;构建单元32,用于基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;加密单元33,用于对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
本实施例中,在进行数据传输时,将待传输的数据和加密密钥均转换成矩阵的形式,并对数据矩阵和密钥矩阵进行量子加密运算,使得每个数据矩阵的加密除了依赖本次加密矩阵外,还与前次加密结果相关联,从而增强了数据传输的安全性,进而解决了相关技术中,基于双方协商的会话密钥的数据加密方式,容易造成数据泄露,导致数据安全得不到有效保障的技术问题。
需要说明的是,本发明实施例的实施主体为量子加密系统,该系统用于在应用交互过程中对数据进行加密,采用量子加密算法,将待加密数据和加密密钥均转化为矩阵的形式,然后对数据矩阵和密钥矩阵进行量子加密运算,由于每一个待加密的数据矩阵除了依赖本次加密对应的密钥矩阵之外,还与前次加密的结果相关联,因此即使通信过程中被窃取了部分数据或破解了相应的加密密钥,因其无法得到完整的数据和正确的数据加密顺序,也无法解密得到原始数据,实现了量子加密,从而进一步提高了数据的安全性。
需要说明的是,本发明实施例通过矩阵的异或运算,可以将多种形式的密钥在通信过程中进行融合,将不同类型的将待加密的信息按其字段组成矩阵的形式,与构建的密钥矩阵进行矩阵逻辑运算从而对数据进行加密,该构建的密钥矩阵可以适用于各种不同形式的密钥,如字符型密钥、生物特征密钥等等,例如对某一数据集中的数据进行加密时,可以通过口令密钥、数字密钥、人脸密钥等多种形式的密钥对数据进行加密。
可选地,获取单元包括:第一提取模块,用于基于待查询数据字段从数据库中提取数据信息,得到待加密数据;第一获取模块,用于基于用户标识从数据库中获取加密密钥集合。
需要说明的是,在接收到用户端发送的数据查询请求之后,需要根据请求携带的字段在数据库中查找相应的数据,并将数据进行打包,得到待加密数据集,然后基于请求携带的用户标识从数据库中获取加密密钥集合,加密密钥集合中存储有不同形式的密钥,这些密钥可以是用户在注册时基于用户提交的密码信息存储至数据库的,也可以是系统基于用户标识随机生成后存储至数据库的。
可选地,构建模块包括:第二提取模块,用于提取待加密数据中的K个字段信息,其中,K为大于等于1的整数;第一转换模块,用于基于摘要算法将每个字段信息转换成长度为Q的数据字符串,得到K个数据字符串,其中,Q为大于等于1的整数;第一构建模块,用于基于待加密数据转换后的数据大小构建初始数据矩阵,并将K个数据字符串写入初始数据矩阵,得到大小为Q*K的数据矩阵。
需要说明的是,在构建数据矩阵时,首先需要从待加密的数据中提取出K个字段,长度为L的待加密数据,其内容是由多个字段构成,如手机金融APP与服务器通信过程中的待加密数据,其可以是由用户名、密码、交易类型、交易金额等多个字段构成,将通信过程中的每一个字段通过摘要算法转换成统一长度为Q的字符串,并依次序写入预先构建的初始数据矩阵中,得到大小为Q*K的矩阵S。
可选地,构建模块还包括:第一切分模块,用于基于数据矩阵的大小对加密密钥进行切分,得到K个密钥子段;第一变换模块,用于对每个密钥子段进行散列变换,将密钥子段转换成长度为Q的密钥字符串,得到K个密钥字符串;第二构建模块,用于基于转换后的加密密钥大小构建初始密钥矩阵,并将K个密钥字符串写入初始密钥矩阵,得到与数据矩阵大小相同的密钥矩阵。
需要说明的是,对于口令等字符形式的加密密钥,首先需要对密钥进行拆分,将加密密钥拆分成与数据字段数量相同的K个密钥子段,然后对每个密钥子段进行散列变换,将每个密钥子段都转换成长度为Q的密钥字符串,然后将K个密钥字符串写入预先构建的初始密钥矩阵中,得到Q*K的密钥矩阵K,密钥矩阵的大小与数据矩阵大小是相同的。
需要说明的是,对于指纹、虹膜、或者人脸等图像形式的加密密钥,本身在数据库中就以矩阵的形式存储,则可以直接将其转换成与数据矩阵大小相同的矩阵即可。
可选地,基于量子加密的数据加密装置还包括:第二转换模块,用于将加密密钥转换为密钥字符串;第一统计模块,用于统计密钥字符串的长度和待加密数据的长度;第一填充模块,用于在密钥字符串的长度小于待加密数据的长度的情况下,基于待加密数据的长度对密钥字符串进行填充。
需要说明的是,在对加密密钥进行拆分时,需要根据数据矩阵的大小来对加密密钥进行拆分,加密密钥的长度不足以拆分成N个密钥子段,则需要对加密密钥进行填充,例如对不足部分用数字0填充。
可选地,加密单元包括:第一运算模块,用于步骤一,选取数据矩阵集合中当前待加密数据矩阵和密钥矩阵集合中当前加密密钥矩阵,对当前待加密数据矩阵与当前加密密钥矩阵进行异或运算,得到当前待加密数据矩阵对应的加密数据矩阵,其中,当前待加密数据矩阵为数据矩阵集合中任意一个未加密的数据矩阵,当前加密密钥矩阵为密钥矩阵集合中任意一个未使用的密钥矩阵;第二运算模块,用于步骤二,选取密钥矩阵集合中下一加密密钥矩阵,将当前待加密数据矩阵与下一加密密钥矩阵进行异或运算,得到加密乱序矩阵,其中,下一加密密钥矩阵是密钥矩阵集合中任意一个未使用的密钥矩阵;第三运算单元,用于步骤三,选取数据矩阵集合中下一待加密数据矩阵,将下一待加密数据矩阵与加密乱序矩阵进行异或运算,得到下一待加密数据矩阵对应的加密数据矩阵,其中,下一待加密数据矩阵是数据矩阵中任意一个未加密的数据矩阵;第一重复模块,用于重复步骤二至步骤三,直至数据矩阵集合中的所有数据矩阵全部完成量子加密运算。
需要说明的是,量子加密的实现方式在于:对于每一个待加密的数据矩阵,除了依赖本次对应的密钥矩阵进行加密外,还与前次加密的结果相关联,通过前次加密结果和本次密钥矩阵进行异或运算得到的乱序矩阵对数据矩阵进行加密,即使通信过程中被非法窃取了部分数据和/或破解了相应的密钥,因其无法得到完整的数据和正确的数据加密顺序,也无法解密得到原始数据,从而进一步提高了数据的安全性。
需要说明的是,在对数据进行加密时,矩阵之间采用异或运算,如图2所示,假设待加密的数据矩阵有{S1、S2......Sn},可进行加密的密钥矩阵包括{K1、K2......Kj},j≥n,在对数据进行加密时,首先在数据矩阵集合中选取当前待加密数据矩阵S1,并在密钥矩阵集合中选取当前加密密钥矩阵K1,选取方式为随机选取,然后对当前待加密数据矩阵和当前加密密钥矩阵进行异或运算,得到加密数据矩阵S1’,然后在密钥矩阵集合中选取下一加密密钥矩阵K2,并将上一次计算的加密数据矩阵S1’与该K2进行异或运算得到乱序序列X1,再在数据矩阵集合中选取下一待加密数据矩阵S2,利用乱序序列X1对S2进行加密,得到加密数据矩阵S2’,重复上述步骤,知直到对所有数据矩阵进行加密,得到加密数据矩阵集合,将加密数据矩阵集合发送至用户端。
可选地,加密密钥的类型包括下述至少之一:口令密钥、指纹密钥、虹膜密钥、声纹密钥、人脸密钥。
上述数据加密装置还可以包括处理器和存储器,上述获取单元31、构建单元32、加密单元33等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对数据进行量子加密。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项基于量子加密的数据加密方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项基于量子加密的数据加密方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,待加密数据集合包括N个待加密数据,加密密钥集合包括M个加密密钥,数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;基于待加密数据构建数据矩阵,并基于加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;对数据矩阵集合和密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
图4是根据本发明实施例的一种基于量子加密的数据加密方法的电子设备(或移动设备)的硬件结构框图。如图4所示,电子设备可以包括一个或多个(图4中采用402a、402b,……,402n来示出)处理器402(处理器402可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器404。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于量子加密的数据加密方法,其特征在于,包括:
接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,所述待加密数据集合包括N个待加密数据,所述加密密钥集合包括M个加密密钥,所述数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;
基于所述待加密数据构建数据矩阵,并基于所述加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;
对所述数据矩阵集合和所述密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
2.根据权利要求1所述的数据加密方法,其特征在于,获取待加密数据集合和加密密钥集合的步骤包括:
基于所述待查询数据字段从数据库中提取数据信息,得到待加密数据;
基于所述用户标识从数据库中获取加密密钥集合。
3.根据权利要求1所述的数据加密方法,其特征在于,基于所述待加密数据构建数据矩阵的步骤包括:
提取所述待加密数据中的K个字段信息,其中,K为大于等于1的整数;
基于摘要算法将每个所述字段信息转换成长度为Q的数据字符串,得到K个数据字符串,其中,Q为大于等于1的整数;
基于所述待加密数据转换后的数据大小构建初始数据矩阵,并将所述K个数据字符串写入所述初始数据矩阵,得到大小为Q*K的所述数据矩阵。
4.根据权利要求1所述的数据加密方法,其特征在于,基于所述加密密钥构建密钥矩阵的步骤包括:
基于所述数据矩阵的大小对所述加密密钥进行切分,得到K个密钥子段;
对每个所述密钥子段进行散列变换,将所述密钥子段转换成长度为Q的密钥字符串,得到K个密钥字符串;
基于转换后的加密密钥大小构建初始密钥矩阵,并将所述K个密钥字符串写入所述初始密钥矩阵,得到与所述数据矩阵大小相同的所述密钥矩阵。
5.根据权利要求4所述的数据加密方法,其特征在于,在基于所述数据矩阵的大小对所述加密密钥进行切分之前,还包括:
将所述加密密钥转换为密钥字符串;
统计所述密钥字符串的长度和所述待加密数据的长度;
在所述密钥字符串的长度小于所述待加密数据的长度的情况下,基于所述待加密数据的长度对所述密钥字符串进行填充。
6.根据权利要求1所述的数据加密方法,其特征在于,对所述数据矩阵集合和所述密钥矩阵集合进行量子加密运算的步骤包括:
步骤一,选取所述数据矩阵集合中当前待加密数据矩阵和所述密钥矩阵集合中当前加密密钥矩阵,对所述当前待加密数据矩阵与所述当前加密密钥矩阵进行异或运算,得到当前待加密数据矩阵对应的加密数据矩阵,其中,所述当前待加密数据矩阵为所述数据矩阵集合中任意一个未加密的数据矩阵,所述当前加密密钥矩阵为所述密钥矩阵集合中任意一个未使用的密钥矩阵;
步骤二,选取所述密钥矩阵集合中下一加密密钥矩阵,将所述当前待加密数据矩阵与所述下一加密密钥矩阵进行异或运算,得到加密乱序矩阵,其中,所述下一加密密钥矩阵是所述密钥矩阵集合中任意一个未使用的密钥矩阵;
步骤三,选取所述数据矩阵集合中下一待加密数据矩阵,将所述下一待加密数据矩阵与所述加密乱序矩阵进行异或运算,得到下一待加密数据矩阵对应的加密数据矩阵,其中,所述下一待加密数据矩阵是所述数据矩阵中任意一个未加密的数据矩阵;
重复步骤二至步骤三,直至所述数据矩阵集合中的所有数据矩阵全部完成量子加密运算。
7.根据权利要求1所述的数据加密方法,其特征在于,所述加密密钥的类型包括下述至少之一:口令密钥、指纹密钥、虹膜密钥、声纹密钥、人脸密钥。
8.一种基于量子加密的数据加密装置,其特征在于,包括:
获取单元,用于接收用户端发送的数据查询请求,获取待加密数据集合和加密密钥集合,其中,所述待加密数据集合包括N个待加密数据,所述加密密钥集合包括M个加密密钥,所述数据查询请求至少包括:待查询数据字段、用户标识,M为大于等于1的整数,N为大于等于1的整数;
构建单元,用于基于所述待加密数据构建数据矩阵,并基于所述加密密钥构建密钥矩阵,得到数据矩阵集合和密钥矩阵集合;
加密单元,用于对所述数据矩阵集合和所述密钥矩阵集合进行量子加密运算,得到加密数据矩阵集合。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的基于量子加密的数据加密方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的基于量子加密的数据加密方法。
CN202310988598.9A 2023-08-07 2023-08-07 基于量子加密的数据加密方法及其装置、电子设备 Pending CN116886297A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310988598.9A CN116886297A (zh) 2023-08-07 2023-08-07 基于量子加密的数据加密方法及其装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310988598.9A CN116886297A (zh) 2023-08-07 2023-08-07 基于量子加密的数据加密方法及其装置、电子设备

Publications (1)

Publication Number Publication Date
CN116886297A true CN116886297A (zh) 2023-10-13

Family

ID=88255000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310988598.9A Pending CN116886297A (zh) 2023-08-07 2023-08-07 基于量子加密的数据加密方法及其装置、电子设备

Country Status (1)

Country Link
CN (1) CN116886297A (zh)

Similar Documents

Publication Publication Date Title
US10769628B2 (en) Transaction messaging
CN104270338B (zh) 一种电子身份注册及认证登录的方法及其系统
CN105052072A (zh) 远程认证和业务签名
CN105306194B (zh) 供加密档案和/或通讯协定的多重加密方法与系统
CN108848058A (zh) 智能合约处理方法及区块链系统
US9325499B1 (en) Message encryption and decryption utilizing low-entropy keys
CN107277059A (zh) 一种基于二维码的一次性口令身份认证方法及系统
CN109766979A (zh) 一种二维码的生成方法、验证方法及其装置
CN104601332B (zh) 一种增强型动态二维码认证系统及其认证方法
CN111314069A (zh) 基于区块链的摇号系统、方法、电子设备及存储介质
CN110061967A (zh) 业务数据提供方法、装置、设备及计算机可读存储介质
CN108696508A (zh) 基于cn39码认证居民身份证号码的系统及方法
CN115603907A (zh) 加密存储数据的方法、装置、设备和存储介质
CN104125064A (zh) 一种动态密码认证方法、客户端及认证系统
CN110417740B (zh) 用户数据的处理方法、智能终端、服务器及存储介质
CN100459495C (zh) 一种公开加密方式的口令动态加密输入方法
CN115276978A (zh) 一种数据处理方法以及相关装置
CN112491907A (zh) 数据的传输方法及装置、系统、存储介质、电子设备
CN111212058A (zh) 一种手机验证码登录方法、装置及系统
CN110912683B (zh) 密码存储方法及装置、密码验证方法及装置
CN116108410A (zh) 一种身份凭证生成方法及装置
CN116886297A (zh) 基于量子加密的数据加密方法及其装置、电子设备
EP3276878A1 (en) Method for the safe authentication of a request made to a remote provider and generated in a personal device with bifurcation of the transmission of an authentication means
CN114282254A (zh) 加密、解密方法及装置、电子设备
CN111726320B (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