CN116455555A - 数据的加密方法、装置及电子设备 - Google Patents

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

Info

Publication number
CN116455555A
CN116455555A CN202310317799.6A CN202310317799A CN116455555A CN 116455555 A CN116455555 A CN 116455555A CN 202310317799 A CN202310317799 A CN 202310317799A CN 116455555 A CN116455555 A CN 116455555A
Authority
CN
China
Prior art keywords
encryption
data
target
algorithm
packet encryption
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
CN202310317799.6A
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 CN202310317799.6A priority Critical patent/CN116455555A/zh
Publication of CN116455555A publication Critical patent/CN116455555A/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/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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种数据的加密方法、装置及电子设备,该方法应用于信息安全领域,该方法包括:获取待加密的数据以及加密需求;确定符合加密需求的M个分组加密算法;依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法;对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法;采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据。通过本申请,解决了相关技术中随着密码分析技术的发展,以及多种计算设备较强的计算能力,导致单一加密算法的安全性较差的问题。

Description

数据的加密方法、装置及电子设备
技术领域
本申请涉及信息安全领域,具体而言,涉及一种数据的加密方法、装置及电子设备。
背景技术
在银行加密客户的交易信息时,传统的加密方法往往采用单一的加密算法对待加密的数据进行加密。但由于计算机技术的不断发展,计算设备的计算能力不断地得到加强,同时也促进了加密算法和解密技术的发展,导致曾经安全的加密算法,现如今存在被恶意攻击者暴力破解的风险,从而降低了加密后的数据的安全性,增加了客户的交易信息被泄露的风险。
针对相关技术中随着密码分析技术的发展,以及多种计算设备较强的计算能力,导致单一加密算法的安全性较差的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据的加密方法、装置及电子设备,以解决相关技术中随着密码分析技术的发展,以及多种计算设备较强的计算能力,导致单一加密算法的安全性较差的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据的加密方法,该方法包括:获取待加密的数据以及加密需求,其中,所述加密需求表示所述待加密的数据的内容对分组加密算法的需求;确定符合所述加密需求的M个分组加密算法;依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据。
进一步地,对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法包括:确定对所述待加密的数据进行加密的加密次数的下界和加密次数的上界;在所述加密次数的下界和所述加密次数的上界之间的数值范围内,随机生成加密次数L;依据所述加密次数L,从所述N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到所述L个目标分组加密算法。
进一步地,采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据包括:采用第一分组加密算法对所述待加密的数据进行第一次加密,得到第一次加密后的数据,其中,所述L个目标分组加密算法中包括:所述第一分组加密算法和第二分组加密算法;采用所述第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;将所述第二次加密后的数据作为所述加密后的数据。
进一步地,在对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,所述方法还包括:根据所述加密需求,确定每个目标分组加密算法对应的至少一种工作模式;依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对所述待加密的数据进行加密,得到加密后的数据。
进一步地,依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对所述待加密的数据进行加密,得到加密后的数据包括:随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对所述待加密的数据进行加密,得到所述加密后的数据。
进一步地,随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥包括:从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
进一步地,在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对所述待加密的数据进行加密,得到所述加密后的数据之后,所述方法还包括:依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;依据所述加密信息集合,对所述加密后的数据进行解密,得到解密后的数据。
进一步地,依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法包括:依据分组加密算法的特征,确定对所述M个分组加密算法进行分类的分类标准;按照所述分类标准对所述M个分组加密算法进行分类,得到所述N类分组加密算法。
为了实现上述目的,根据本申请的另一方面,提供了一种数据的加密装置,该装置包括:获取单元,用于获取待加密的数据以及加密需求,其中,所述加密需求表示所述待加密的数据的内容对分组加密算法的需求;第一确定单元,用于确定符合所述加密需求的M个分组加密算法;分类单元,用于依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;筛选单元,用于对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;第一加密单元,用于采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据。
进一步地,所述筛选单元包括:第一确定子单元,用于确定对所述待加密的数据进行加密的加密次数的下界和加密次数的上界;第一生成子单元,用于在所述加密次数的下界和所述加密次数的上界之间的数值范围内,随机生成加密次数L;筛选子单元,用于依据所述加密次数L,从所述N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到所述L个目标分组加密算法。
进一步地,所述第一加密单元包括:第一加密子单元,用于采用第一分组加密算法对所述待加密的数据进行第一次加密,得到第一次加密后的数据,其中,所述L个目标分组加密算法中包括:所述第一分组加密算法和第二分组加密算法;第二加密子单元,用于采用所述第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;第二确定子单元,用于将所述第二次加密后的数据作为所述加密后的数据。
进一步地,所述装置还包括:第二确定单元,用于在对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,根据所述加密需求,确定每个目标分组加密算法对应的至少一种工作模式;第二加密单元,用于依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对所述待加密的数据进行加密,得到加密后的数据。
进一步地,所述第二加密单元包括:第二生成子单元,用于随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;第三生成子单元,用于在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;第三加密子单元,用于依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对所述待加密的数据进行加密,得到所述加密后的数据。
进一步地,所述第二生成子单元包括:第一生成模块,用于从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;第二生成模块,用于依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
进一步地,所述第二加密单元还包括:获取子单元,用于在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对所述待加密的数据进行加密,得到所述加密后的数据之后,依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;解密子单元,用于依据所述加密信息集合,对所述加密后的数据进行解密,得到解密后的数据。
进一步地,所述分类单元包括:第三确定子单元,用于依据分组加密算法的特征,确定对所述M个分组加密算法进行分类的分类标准;分类子单元,用于按照所述分类标准对所述M个分组加密算法进行分类,得到所述N类分组加密算法。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项所述数据的加密方法。
通过本申请,采用以下步骤:获取待加密的数据以及加密需求,其中,所述加密需求表示所述待加密的数据的内容对分组加密算法的需求;确定符合所述加密需求的M个分组加密算法;依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据,解决了相关技术中随着密码分析技术的发展,以及多种计算设备较强的计算能力,导致单一加密算法的安全性较差的问题。通过对满足加密需求的多个分组加密算法进行分类,并且在多类分组加密算法中分别进行随机选择,得到对待加密的数据进行加密的目标分组加密算法,提高了加密过程的随机性,降低了目标分组加密算法之间的相关程度,降低了加密后的数据被破解的风险,并且能够利用少量的分组加密算法组合一个巨大的算法空间,克服了单一分组加密算法自身的弱点,增加了算法结构的复杂程度,从而增加了恶意攻击者破解加密算法的难度,达到了提高加密算法的安全性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例一提供的数据的加密方法的流程图;
图2是根据本申请实施例一提供的可选的数据的加密方法的示意图一;
图3是根据本申请实施例一提供的可选的数据的加密方法的示意图二;
图4是根据本申请实施例二提供的数据的加密装置的示意图;
图5是根据本申请实施例五提供的数据的加密电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、用户的交易数据、用户被加密的数据等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据、加密的数据、解密的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例一提供的数据的加密方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取待加密的数据以及加密需求,其中,加密需求表示待加密的数据的内容对分组加密算法的需求。
在本实施例一中,分组加密(Block cipher)算法,又称分块加密算法或块密码,是一种对称密钥算法。分组加密算法将待加密的数据分成多个等长的模块(Block),使用加密算法和对称密钥对待加密的数据的每个模块分别进行加密或解密。待加密的数据表示银行数据库中客户的交易数据,当然也可根据实际情况将待加密的数据替换为银行数据库中的其它数据,在本实施例一中不作限定。加密需求表示在加密的过程中,待加密的数据的内容对分组加密算法的具体要求或是对分组加密算法对应的工作模式的具体要求。例如,若客户的交易记录以较长的字符串存储在银行数据库中,则加密需求为采用密钥长度为128bits的分组加密算法对客户的交易记录进行加密。
步骤S102,确定符合加密需求的M个分组加密算法。
在本实施例一中,使用满足加密需求的分组加密算法对待加密数据进行加密。例如,在加密客户的交易记录时,要求使用密钥长度大于192bits的分组加密算法进行加密。现有算法A、算法B和算法C,其中,算法B的密钥长度为64bits,算法B不满足加密需求,仅有算法A和算法C满足加密需求。所以,将算法A和算法C确定为满足加密需求的分组加密算法。
步骤S103,依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数。
具体地,可采用分组加密算法的密钥长度、分组加密算法的分组长度和分组加密算法的算法效率等作为分组加密算法的特征。在本实施例一中,通过对多个分组加密算法进行分类,得到算法特征不同的多类分组加密算法,降低了多类分组加密算法之间的相关程度,以便后续采用算法特征不同的分组加密算法对待加密数据进行加密。
步骤S104,对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数。
例如,密钥长度为128bits的分组加密算法包括算法A1、算法A2和算法A3;密钥长度为192bits的分组加密算法包括算法B1和算法B2;密钥长度为256bits的分组加密算法包括算法C1、算法C2和算法C3。在密钥长度不同的三类分组加密算法中分别进行随机选择,得到算法A1、算法B2和算法C3,以便后续采用算法A1、算法B2和算法C3对待加密的数据进行加密。由于算法A1、算法B2和算法C3之间的相同点较少,所以恶意攻击者难以依据算法A1、算法B2和算法C3之间的关联确定对待加密的数据进行加密的分组加密算法,达到了提高加密算法的安全性的效果。
步骤S105,采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据。
传统的加密方法通常采用单一分组加密算法对待加密的数据进行加密,但由于单一分组加密算法的算法结构较为简单,并且单一分组加密算法由于自身可能存在弱点或后门等因素,导致采用单一分组加密算法对待加密数据进行加密的安全性较低。
为了提高分组加密算法的安全性,在本实施例一中,采用L个目标分组加密算法对待加密的数据进行加密。具体地,采用分组加密算法A、分组加密算法B和分组加密算法C对字符串X进行加密的过程为:首先,使用分组加密算法A对字符串X进行加密,得到密文X1;接着,使用分组加密算法B对密文X1进行加密,得到密文X2;最后,使用分组加密算法C对字符串X2进行加密,得到密文X3(即加密后的数据)。
综上所述,本申请实施例一提供的数据的加密方法,获取待加密的数据以及加密需求,其中,加密需求表示待加密的数据的内容对分组加密算法的需求;确定符合加密需求的M个分组加密算法;依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据,解决了相关技术中随着密码分析技术的发展,以及多种计算设备较强的计算能力,导致单一加密算法的安全性较差的问题。通过对满足加密需求的多个分组加密算法进行分类,并且在多类分组加密算法中分别进行随机选择,得到对待加密的数据进行加密的目标分组加密算法,提高了加密过程的随机性,降低了目标分组加密算法之间的相关程度,降低了加密后的数据被破解的风险,并且能够利用少量的分组加密算法组合一个巨大的算法空间,克服了单一分组加密算法自身的弱点,增加了算法结构的复杂程度,从而增加了恶意攻击者破解加密算法的难度,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例一提供的数据的加密方法中,对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法包括:确定对待加密的数据进行加密的加密次数的下界和加密次数的上界;在加密次数的下界和加密次数的上界之间的数值范围内,随机生成加密次数L;依据加密次数L,从N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到L个目标分组加密算法。
在本实施例一中,通过随机生成加密次数L和随机选择用于加密的L个分组加密算法增加了恶意攻击者破解加密过程的难度。具体地,首先,确定加密次数上界和加密次数下界,在加密次数上界和加密次数下界的范围内,采用随机函数随机生成加密次数L。然后,在N类分组加密算法中分别进行随机选择,得到L个目标分组加密算法Cipher1、Cipher2、Cipher3、……、CipherL。其中,若N类分组加密算法的算法种类数量N大于加密次数L,则在N类分组加密算法中随机选择L类分组加密算法,即在L类分组加密算法的每类分组加密算法中分别选择一个分组加密算法,得到L个目标分组加密算法;若N类分组加密算法的算法种类数量N小于加密次数L,则在N类分组加密算法中随机选择L-N次,得到L-N个分组加密算法,并在N类分组加密算法的每类分组加密算法中分别选择一个分组加密算法,得到N个分组加密算法,最后由L-N个分组加密算法和N个分组加密算法组合得到L个目标分组加密算法;若N类分组加密算法的算法种类数量N等于加密次数L,则在N类分组加密算法的每类分组加密算法中分别选择一个分组加密算法,得到N个目标分组加密算法,即L个目标分组加密算法。
例如,第一类分组加密算法包含Cipher1和Cipher2,第二类分组加密算法包含Cipher3和Cipher4以及第三类分组加密算法包含Cipher5和Cipher6。若加密次数L等于2,则在三类分组加密算法中随机选择两类分组加密算法,得到第一类分组加密算法和第三类分组加密算法,然后在第一类分组加密算法和第三类分组加密算法中分别随机选择一个分组加密算法,得到Cipher1和Cipher5,即2个目标分组加密算法。若加密次数L为4,则在三类分组加密算法中随机选择一个分组加密算法,得到Cipher4,接着在三类分组加密算法中分别随机选择一个分组加密算法,得到Cipher2、Cipher4和Cipher6,最后得到4个目标分组加密算法为Cipher4、Cipher2、Cipher4和Cipher6。若加密次数L为3,则在三类分组加密算法中分别随机选择一个分组加密算法,得到Cipher1、Cipher4和Cipher5,即3个目标分组加密算法。另外,随机选择分组加密算法时,可以依据实际的加密需求调整随机选择后的目标分组加密算法,并使用调整后的目标加密算法对待加密的数据进行加密。
通过随机确定对待加密的数据进行加密的加密次数,使恶意攻击者难以确定加密次数,增加了恶意攻击者破解加密过程的难度,并且通过在多类分组加密算法中分别随机挑选目标分组加密算法,增加了加密过程的随机性,降低了目标分组加密算法之间的相关程度,使恶意攻击者难以确定加密过程所采用的目标分组加密算法,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例一提供的数据的加密方法中,采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据包括:采用第一分组加密算法对待加密的数据进行第一次加密,得到第一次加密后的数据,其中,L个目标分组加密算法中包括:第一分组加密算法和第二分组加密算法;采用第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;将第二次加密后的数据作为加密后的数据。
在本实施例一中,图2是对待加密的数据进行加密的加密过程的示意图。如图2所示,字符串plaintext表示待加密的数据,即客户的交易记录,字符串ciphertext表示加密后的数据,Cipher1至CipherL表示L个目标分组加密算法。具体地,采用L个目标分组加密算法Cipher1、Cipher2、Cipher3、……、CipherL对待加密的数据进行加密的过程为:首先,采用目标分组加密算法Cipher1对字符串plaintext进行加密,得到字符串plaintext1;接着,采用目标分组加密算法Cipher2对字符串plaintext1进行加密,得到字符串plaintext2;然后,采用L个目标分组加密算法中的其它分组加密算法对上一次加密的加密结果进行加密,得到字符串plaintextL-1;最后,采用加密算法CipherL对字符串plaintextL-1进行加密,得到字符串ciphertext,即加密后的数据。
一般地,由于加密次数与加密算法的效率呈现负相关的关系(即加密次数越大,加密算法的安全性越高,加密算法的效率越低;相反地,加密次数越小,加密算法的安全性越低,加密算法的效率越高),所以,在加密过程中,需要在实际情况的基础上,综合加密算法的安全性和加密算法的效率两方面确定加密次数,从而得到更加合理的加密方案。
通过在多类分组加密算法中随机选择目标分组加密算法,并采用目标分组加密算法对待加密的数据进行加密,增强了加密过程的随机性,同时也增加了算法结构的复杂性,降低了加密后的数据被恶意攻击者破解的风险,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例一提供的数据的加密方法中,在对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,上述的方法还包括:根据加密需求,确定每个目标分组加密算法对应的至少一种工作模式;依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据。
工作模式(mode of operation)是一项增强分组加密算法的数据完整性或数据机密性,以使分组加密算法适应具体应用的技术。常见的工作模式包括:ECB,CBC,CTS,CFB,OFB,CTR,XTS等工作模式。例如,ECB工作模式对相同的明文进行加密时会得到相同的密文;CTS工作模式要求明文的长度大于分组后的明文的长度;CTR工作模式只能并行执行分组加密的加密过程;CBC工作模式只能串行执行分组加密的加密过程。在本实施例一中,需要依据加密需求,确定分组加密算法支持的至少一种工作模式,以便于后续使用符合加密需求的工作模式。例如,若加密需求中包括机密性需求,符合加密需求的工作模式仅包括CBC,CTS,CFB,CTR,OFB,XTS等工作模式;若加密需求中包括完整性需求,符合加密需求的仅包括CCM,EAX,GCM等工作模式。
通过随机化分组加密算法的工作模式,增加了加密算法的复杂程度,降低了加密后的数据被恶意攻击者破解的风险,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例一提供的数据的加密方法中,依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据包括:随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据。
在确定用于加密的目标分组加密算法之后,需要根据被选择的目标分组加密算法随机生成每个目标分组加密算法对应的目标密钥,以及随机选择每个目标分组加密算法对应的工作模式,以对待加密的数据进行加密。例如,在进行第2次加密时,使用分组加密算法Cipher2对第一次加密的加密结果进行加密。其中,分组加密算法Cipher2的密钥长度为256bits,支持CBC和CTS两种工作模式。在使用分组加密算法Cipher2之前,需要随机生成密钥长度为256bits的目标密钥,然后在CBC和CTS两种工作模式中,随机选择一种工作模式,得到CTS工作模式,并将CTS工作模式确定为目标工作模式。最后,使用分组加密算法Cipher2、密钥长度为256bits的目标密钥和CTS工作模式对第一次加密的加密结果进行第2次加密。
通过随机生成目标分组加密算法对应的目标密钥,以及随机选择目标分组加密算法对应的目标工作模式,增加了加密过程的随机性,也增加了恶意攻击者破解加密算法的复杂程度,降低了加密数据被恶意攻击者破解的风险,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例一提供的数据的加密方法中,随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥包括:从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
例如,若算法A支持128bits,192bits和256bits三种长度的密钥,则随机选择一种密钥长度192bits,并随机生成192bits长度的密钥作为算法A对应的目标密钥。通过随机选择目标分组加密算法的密钥长度,增加了加密过程的随机性,也增加了加密算法的复杂程度,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例一提供的数据的加密方法中,在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据之后,上述的方法还包括:依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;依据加密信息集合,对加密后的数据进行解密,得到解密后的数据。
例如,图3是对加密后的数据进行解密的过程的示意图。如图3所示,字符串ciphertext表示加密后的数据,字符串plaintext表示解密后的数据,Cipher1至CipherL表示L个目标分组加密算法。具体地,为了对字符串ciphertext进行解密,首先,获取第L次加密时采用的目标分组加密算法CipherL、CipherL对应的目标工作模式GL和CipherL对应的目标密钥WL,再根据CipherL、CipherL的目标工作模式GL和CipherL对应的目标密钥WL对字符串ciphertext进行解密,得到字符串ciphertextL-1。然后,获取第L-1次加密时采用的目标分组加密算法CipherL-1、CipherL-1对应的工作模式GL-1和CipherL-1对应的密钥WL-1,再根据CipherL-1、CipherL-1对应的工作模式GL-1和CipherL-1对应的密钥WL-1对字符串ciphertextL-1进行解密,得到字符串ciphertextL-2。最后,依据加密时采用的其它目标分组加密算法,以及其它目标分组加密算法对应的目标工作模式和其它目标分组加密算法对应的目标密钥依次进行解密,直到得到解密后的数据,即字符串plaintext。
可选地,在本申请实施例一提供的数据的加密方法中,依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法包括:依据分组加密算法的特征,确定对M个分组加密算法进行分类的分类标准;按照分类标准对M个分组加密算法进行分类,得到N类分组加密算法。
在本实施例一中对多个分组加密算法进行分类时,能够依据多种预设规则进行分类。例如,根据分组加密算法支持的密钥长度,将多个分组加密算法划分为128bits组、192bits组和256bits组;根据分组加密算法支持的分组长度,将多个分组加密算法划分为128bits组和256bits组;根据分组加密算法的内部结构,将多个分组加密算法划分为Feistel组和ARX组;根据分组加密算法的加密效率,将多个分组加密算法划分为轻量组和其它组;根据分组加密算法的来源,将多个分组加密算法划分为国家标准组和国际标准组。
通过多种预设规则对多个分组加密算法进行分类,降低了多个分组加密算法之间的相关程度,提高了对多个分组加密算法进行分类的灵活性,也增加了加密过程的随机性,降低了恶意攻击者破解加密后的数据的风险,达到了提高加密算法的安全性的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例二
本申请实施例二还提供了一种数据的加密装置,需要说明的是,本申请实施例二的数据的加密装置可以用于执行本申请实施例一所提供的用于数据的加密方法。以下对本申请实施例二提供的数据的加密装置进行介绍。
图4是根据本申请实施例二的数据的加密装置的示意图。如图4所示,该装置包括:获取单元401、第一确定单元402、分类单元403、筛选单元404和第一加密单元405。
获取单元401,用于获取待加密的数据以及加密需求,其中,加密需求表示待加密的数据的内容对分组加密算法的需求。
第一确定单元402,用于确定符合加密需求的M个分组加密算法。
分类单元403,用于依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数。
筛选单元404,用于对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数。
第一加密单元405,用于采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据。
本申请实施例二提供的数据的加密装置,通过获取单元401获取待加密的数据以及加密需求,其中,加密需求表示待加密的数据的内容对分组加密算法的需求。第一确定单元402确定符合加密需求的M个分组加密算法;分类单元403依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;筛选单元404对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;第一加密单元405采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据,解决了相关技术中随着密码分析技术的发展,以及多种计算设备较强的计算能力,导致单一加密算法的安全性较差的问题。通过对满足加密需求的多个分组加密算法进行分类,并且在多类分组加密算法中分别进行随机选择,得到对待加密的数据进行加密的目标分组加密算法,提高了加密过程的随机性,降低了目标分组加密算法之间的相关程度,降低了加密后的数据被破解的风险,并且能够利用少量的分组加密算法组合一个巨大的算法空间,克服了单一分组加密算法自身的弱点,增加了算法结构的复杂程度,从而增加了恶意攻击者破解加密算法的难度,达到了提高加密算法的安全性的效果。
可选地,在本申请实施例二提供的数据的加密装置中,上述的筛选单元404包括:第一确定子单元,用于确定对待加密的数据进行加密的加密次数的下界和加密次数的上界;第一生成子单元,用于在加密次数的下界和加密次数的上界之间的数值范围内,随机生成加密次数L;筛选子单元,用于依据加密次数L,从N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到L个目标分组加密算法。
可选地,在本申请实施例二提供的数据的加密装置中,上述的第一加密单元405包括:第一加密子单元,用于采用第一分组加密算法对待加密的数据进行第一次加密,得到第一次加密后的数据,其中,L个目标分组加密算法中包括:第一分组加密算法和第二分组加密算法;第二加密子单元,用于采用第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;第二确定子单元,用于将第二次加密后的数据作为加密后的数据。
可选地,在本申请实施例二提供的数据的加密装置中,上述的装置还包括:第二确定单元,用于在对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,根据加密需求,确定每个目标分组加密算法对应的至少一种工作模式;第二加密单元,用于依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据。
可选地,在本申请实施例二提供的数据的加密装置中,上述的第二加密单元包括:第二生成子单元,用于随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;第三生成子单元,用于在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;第三加密子单元,用于依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据。
可选地,在本申请实施例二提供的数据的加密装置中,上述的第二生成子单元包括:第一生成模块,用于从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;第二生成模块,用于依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
可选地,在本申请实施例二提供的数据的加密装置中,上述的第二加密单元还包括:获取子单元,用于在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据之后,依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;解密子单元,用于依据加密信息集合,对加密后的数据进行解密,得到解密后的数据。
可选地,在本申请实施例二提供的数据的加密装置中,上述的分类单元403包括:第三确定子单元,用于依据分组加密算法的特征,确定对M个分组加密算法进行分类的分类标准;分类子单元,用于按照分类标准对M个分组加密算法进行分类,得到N类分组加密算法。
所述数据的加密装置包括处理器和存储器,上述的获取单元401、第一确定单元402、分类单元403、筛选单元404和第一加密单元405等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高加密算法的安全性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例三提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现数据的加密方法。
本发明实施例四提供了一种处理器,处理器用于运行程序,其中,程序运行时执行数据的加密方法。
如图5所示,本发明实施例五提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取待加密的数据以及加密需求,其中,加密需求表示待加密的数据的内容对分组加密算法的需求;确定符合加密需求的M个分组加密算法;依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据。
处理器执行程序时还实现以下步骤:对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法包括:确定对待加密的数据进行加密的加密次数的下界和加密次数的上界;在加密次数的下界和加密次数的上界之间的数值范围内,随机生成加密次数L;依据加密次数L,从N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到L个目标分组加密算法。
处理器执行程序时还实现以下步骤:采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据包括:采用第一分组加密算法对待加密的数据进行第一次加密,得到第一次加密后的数据,其中,L个目标分组加密算法中包括:第一分组加密算法和第二分组加密算法;采用第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;将第二次加密后的数据作为加密后的数据。
处理器执行程序时还实现以下步骤:在对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,上述的方法还包括:根据加密需求,确定每个目标分组加密算法对应的至少一种工作模式;依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据。
处理器执行程序时还实现以下步骤:依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据包括:随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据。
处理器执行程序时还实现以下步骤:随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥包括:从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
处理器执行程序时还实现以下步骤:在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据之后,上述的方法还包括:依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;依据加密信息集合,对加密后的数据进行解密,得到解密后的数据。
处理器执行程序时还实现以下步骤:依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法包括:依据分组加密算法的特征,确定对M个分组加密算法进行分类的分类标准;按照分类标准对M个分组加密算法进行分类,得到N类分组加密算法。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取待加密的数据以及加密需求,其中,加密需求表示待加密的数据的内容对分组加密算法的需求;确定符合加密需求的M个分组加密算法;依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法包括:确定对待加密的数据进行加密的加密次数的下界和加密次数的上界;在加密次数的下界和加密次数的上界之间的数值范围内,随机生成加密次数L;依据加密次数L,从N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到L个目标分组加密算法。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:采用L个目标分组加密算法对待加密的数据进行加密,得到加密后的数据包括:采用第一分组加密算法对待加密的数据进行第一次加密,得到第一次加密后的数据,其中,L个目标分组加密算法中包括:第一分组加密算法和第二分组加密算法;采用第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;将第二次加密后的数据作为加密后的数据。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在对N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,上述的方法还包括:根据加密需求,确定每个目标分组加密算法对应的至少一种工作模式;依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对待加密的数据进行加密,得到加密后的数据包括:随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥包括:从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对待加密的数据进行加密,得到加密后的数据之后,上述的方法还包括:依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;依据加密信息集合,对加密后的数据进行解密,得到解密后的数据。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:依据分组加密算法的特征,对M个分组加密算法进行分类,得到N类分组加密算法包括:依据分组加密算法的特征,确定对M个分组加密算法进行分类的分类标准;按照分类标准对M个分组加密算法进行分类,得到N类分组加密算法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据的加密方法,其特征在于,包括:
获取待加密的数据以及加密需求,其中,所述加密需求表示所述待加密的数据的内容对分组加密算法的需求;
确定符合所述加密需求的M个分组加密算法;
依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;
对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;
采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据。
2.根据权利要求1所述的方法,其特征在于,对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法包括:
确定对所述待加密的数据进行加密的加密次数的下界和加密次数的上界;
在所述加密次数的下界和所述加密次数的上界之间的数值范围内,随机生成加密次数L;
依据所述加密次数L,从所述N类分组加密算法的每类分组加密算法中分别进行随机算法选择,得到所述L个目标分组加密算法。
3.根据权利要求1所述的方法,其特征在于,采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据包括:
采用第一分组加密算法对所述待加密的数据进行第一次加密,得到第一次加密后的数据,其中,所述L个目标分组加密算法中包括:所述第一分组加密算法和第二分组加密算法;
采用所述第二分组加密算法对第一次加密后的数据进行迭代加密,得到第二次加密后的数据;
将所述第二次加密后的数据作为所述加密后的数据。
4.根据权利要求1所述的方法,其特征在于,在对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法之后,所述方法还包括:
根据所述加密需求,确定每个目标分组加密算法对应的至少一种工作模式;
依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对所述待加密的数据进行加密,得到加密后的数据。
5.根据权利要求4所述的方法,其特征在于,依据每个目标分组加密算法和每个目标分组加密算法对应的至少一种工作模式,对所述待加密的数据进行加密,得到加密后的数据包括:
随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥;
在每个目标分组加密算法对应的至少一种工作模式中,随机选择每个目标分组加密算法对应的工作模式,得到每个目标分组加密算法对应的目标工作模式;
依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对所述待加密的数据进行加密,得到所述加密后的数据。
6.根据权利要求5所述的方法,其特征在于,随机生成每个目标分组加密算法对应的密钥,得到每个目标分组加密算法对应的目标密钥包括:
从每个目标分组加密算法支持的多个密钥长度中随机选择一个密钥长度;
依据选择的密钥长度,生成每个目标分组加密算法对应的目标密钥。
7.根据权利要求5所述的方法,其特征在于,在依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,对所述待加密的数据进行加密,得到所述加密后的数据之后,所述方法还包括:
依据每个目标分组加密算法、每个目标分组加密算法对应的目标工作模式和每个目标分组加密算法对应的目标密钥,得到加密信息集合;
依据所述加密信息集合,对所述加密后的数据进行解密,得到解密后的数据。
8.根据权利要求1所述的方法,其特征在于,依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法包括:
依据分组加密算法的特征,确定对所述M个分组加密算法进行分类的分类标准;
按照所述分类标准对所述M个分组加密算法进行分类,得到所述N类分组加密算法。
9.一种数据的加密装置,其特征在于,包括:
获取单元,用于获取待加密的数据以及加密需求,其中,所述加密需求表示所述待加密的数据的内容对分组加密算法的需求;
第一确定单元,用于确定符合所述加密需求的M个分组加密算法;
分类单元,用于依据分组加密算法的特征,对所述M个分组加密算法进行分类,得到N类分组加密算法,其中,M大于或等于N,M、N为正整数;
筛选单元,用于对所述N类分组加密算法中的每类分组加密算法分别进行随机选择,得到L个目标分组加密算法,其中,L为正整数;
第一加密单元,用于采用所述L个目标分组加密算法对所述待加密的数据进行加密,得到加密后的数据。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的数据的加密方法。
CN202310317799.6A 2023-03-27 2023-03-27 数据的加密方法、装置及电子设备 Pending CN116455555A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310317799.6A CN116455555A (zh) 2023-03-27 2023-03-27 数据的加密方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310317799.6A CN116455555A (zh) 2023-03-27 2023-03-27 数据的加密方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN116455555A true CN116455555A (zh) 2023-07-18

Family

ID=87123080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310317799.6A Pending CN116455555A (zh) 2023-03-27 2023-03-27 数据的加密方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116455555A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221018A (zh) * 2023-11-09 2023-12-12 北京睿航至臻科技有限公司 一种基于数据编码的数据安全传输方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221018A (zh) * 2023-11-09 2023-12-12 北京睿航至臻科技有限公司 一种基于数据编码的数据安全传输方法及系统
CN117221018B (zh) * 2023-11-09 2024-01-30 北京睿航至臻科技有限公司 一种基于数据编码的数据安全传输方法及系统

Similar Documents

Publication Publication Date Title
CN110224808B (zh) 基于区块链的银行数据共享方法、装置、计算机设备和存储介质
CN109728914B (zh) 数字签名验证方法、系统、装置及计算机可读存储介质
Mandal et al. Symmetric key image encryption using chaotic Rossler system
Hoang et al. A secure searchable encryption framework for privacy-critical cloud storage services
CN105577379A (zh) 一种信息处理方法及装置
EP1779584A1 (en) Stream cipher combining system and method
CN114327261B (zh) 数据文件的存储方法及数据安全代理
CN111274599A (zh) 一种基于区块链的数据共享方法及相关装置
CN110505054B (zh) 一种基于动态白盒的数据处理方法、装置及设备
CN116455555A (zh) 数据的加密方法、装置及电子设备
KR100936937B1 (ko) 버킷내 부분 순서 보존을 통한 데이터베이스 처리 방법
CN113886418B (zh) 一种数据处理方法、装置、电子设备及机器可读存储介质
CN108965278B (zh) 交易请求处理方法及装置
Zeng et al. Cryptanalyzing an image encryption algorithm based on scrambling and Veginère cipher
Miloslavskaya et al. Survey of big data information security
CN111798236B (zh) 交易数据加、解密方法、装置及设备
WO2024139320A1 (zh) 一种数据排序方法、装置、设备及可读存储介质
Oli et al. Confidentiality technique to encrypt and obfuscate non-numerical and numerical data to enhance security in public cloud storage
CN115694921A (zh) 一种数据存储方法、设备及介质
Shankar et al. An optimal lightweight cryptographic hash function for secure image transmission in wireless sensor networks
Ul Haq et al. A novel data classification-based scheme for cloud data security using various cryptographic algorithms
CN106570410A (zh) 一种数据的加密方法、解密方法、装置和系统
Awadh et al. Implementing the Triple-Data Encryption Standard for Secure and Efficient Healthcare Data Storage in Cloud Computing Environments
CN113572611B (zh) 密钥处理方法、装置及电子装置
Adak et al. Dynamic Data Masking by Two-Step Encryption

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