CN116846542A - 一种数据加密和解密方法、装置及电子设备 - Google Patents
一种数据加密和解密方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116846542A CN116846542A CN202310900416.8A CN202310900416A CN116846542A CN 116846542 A CN116846542 A CN 116846542A CN 202310900416 A CN202310900416 A CN 202310900416A CN 116846542 A CN116846542 A CN 116846542A
- Authority
- CN
- China
- Prior art keywords
- matrix
- transformation
- key
- sub
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 85
- 239000011159 matrix material Substances 0.000 claims abstract description 492
- 230000009466 transformation Effects 0.000 claims abstract description 266
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 72
- 238000013507 mapping Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 description 32
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 11
- 238000006467 substitution reaction Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
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)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据加密和解密方法、装置及电子设备,涉及信息安全技术领域,以解决传统AES算法的加密安全性不足的技术问题,该数据加密方法包括:获取高级加密标准AES算法的密钥;对密钥进行AES密钥扩展,获取预设数量的子密钥;对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;利用目标矩阵,对待加密明文数据进行加密,获取密文数据;本发明将密钥扩展得到的多个子密钥排列在一个子密钥矩阵空间里,对子密钥矩阵里的矩阵元素进行置乱变换,使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个变换后的子密钥推算出其余子密钥,增强AES算法的加密安全性,从而保障了传输数据的安全性。
Description
技术领域
本发明涉及信息安全技术领域,特别涉及一种数据加密方法和装置、数据解密方法和装置及电子设备。
背景技术
在互联网信息时代的蓬勃发展的时代,大量数据信息通过网络传输,因此,对信息传输安全性的要求也日益提高,信息加解密相关的算法也成为重要的研究议题。AES(Advanced Encryption Standard,高级加密标准)算法是应用极为广泛的一种传统的加密算法,它利用密钥流生成随机密钥流,之后利用密钥对明文串加密获得密文串,以此来保护数据的安全。
现有技术中,AES算法通过密钥扩展算法来生成新的子密钥,新生成子密钥与上一轮密钥之间存在确定的关系;由于密钥扩展是具有可逆性,若某一轮的密钥被攻破,利用密钥拓展计算公式便可获得每一轮的密钥,甚至推导出种子密钥;种子密钥被破解后,明文数据信息也将被泄漏,数据的加密安全性将无法得到保障。
因此,如何能够增强AES算法的加密安全性,从而保障传输数据的安全性,是现今急需解决的问题。
发明内容
本发明的目的是提供一种数据加密方法和装置、数据解密方法和装置及电子设备,以增强AES算法的加密安全性,从而保障传输数据的安全性。
为解决上述技术问题,本发明提供一种数据加密方法,包括:
获取高级加密标准AES算法的密钥;
对所述密钥进行AES密钥扩展,获取预设数量的子密钥;
对所述子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
利用所述目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,所述待加密明文数据和所述密文数据的大小均为预设AES数据分组大小。
在一些实施例中,所述对所述子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵,包括:
对所述子密钥矩阵进行左右变换,得到左右变换矩阵;
对所述左右变换矩阵进行旋转变换,得到旋转变换矩阵;
对所述旋转变换矩阵进行映射变换,得到所述目标矩阵;其中,所述子密钥矩阵、所述左右变换矩阵、所述旋转变换矩阵和所述目标矩阵的行数相同且列数相同。
在一些实施例中,所述对所述左右变换矩阵进行旋转变换,得到旋转变换矩阵,包括:
对所述左右变换矩阵中的各划分方阵分别旋转90度,得到所述旋转变换矩阵;其中,所述划分方阵为4*4矩阵,划分方阵的数量为nm/16,n为所述左右变换矩阵的行数,m为所述左右变换矩阵的列数。
在一些实施例中,所述对所述左右变换矩阵中的各划分方阵分别旋转90度,得到所述旋转变换矩阵,包括:
对所述左右变换矩阵中的各划分方阵分别右旋90度,得到所述旋转变换矩阵;其中,c(i,m-j-1)=b(i,j),c(i,m-j-1)为所述旋转变换矩阵中行号为i+1且列号m-j的矩阵元素,b(i,j)为所述左右变换矩阵中行号为i+1且列号j+1的矩阵元素。
在一些实施例中,所述对所述旋转变换矩阵进行映射变换,得到所述目标矩阵,包括:
利用预设置换矩阵,将所述旋转变换矩阵中的各矩阵元素分别映射变化到各自对应的位置,得到所述目标矩阵;其中,所述预设置换矩阵、所述旋转变换矩阵和所述目标矩阵的行数相同且列数相同。
在一些实施例中,所述对所述子密钥矩阵进行左右变换,得到左右变换矩阵,包括:
对所述子密钥矩阵进行垂直于中轴的对称变化,得到所述左右变换矩阵;其中,b(i,j)=a(i,m-j-1),b(i,j)为所述左右变换矩阵中行号为i+1且列号j+1的矩阵元素,a(i,m-j-1)为所述子密钥矩阵中行号为i+1且列号m-j的矩阵元素,i大于或等于0且小于n,n为所述子密钥矩阵的行数,j大于或等于0且小于m,m为所述子密钥矩阵的列数。
本发明还提供了一种数据加密装置,包括:
密钥获取模块,用于获取高级加密标准AES算法的密钥;
密钥扩展模块,用于对所述密钥进行AES密钥扩展,获取预设数量的子密钥;
置乱变换模块,用于对所述子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
加密模块,用于利用所述目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,所述待加密明文数据的大小为预设AES数据分组大小。
本发明还提供了一种数据解密方法,包括:
获取目标矩阵和待解密密文数据;其中,所述目标矩阵为对子密钥对应的子密钥矩阵进行矩阵置乱变换生成的矩阵;所述子密钥为高级加密标准AES算法的密钥进行AES密钥扩展后得到的预设数量的密钥;所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
利用所述目标矩阵,对所述待解密密文数据进行解密,获取明文数据;其中,所述待解密密文数据和所述明文数据的大小均为预设AES数据分组大小。
本发明还提供了一种数据解密装置,包括:
解密获取模块,用于获取目标矩阵和待解密密文数据;其中,所述目标矩阵为对子密钥对应的子密钥矩阵进行矩阵置乱变换生成的矩阵;所述子密钥为高级加密标准AES算法的密钥进行AES密钥扩展后得到的预设数量的密钥;所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
解密模块,用于利用所述目标矩阵,对所述待解密密文数据进行解密,获取明文数据;其中,所述待解密密文数据和所述明文数据的大小均为预设AES数据分组大小。
此外,本发明还提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的数据加密方法和/或如上述所述的数据解密方法的步骤。
本发明所提供的一种数据加密方法,包括:获取高级加密标准AES算法的密钥;对密钥进行AES密钥扩展,获取预设数量的子密钥;对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,子密钥矩阵与目标矩阵的行数相同且列数相同,矩阵置乱变换包括左右变换、旋转变换和/或映射变换;利用目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,待加密明文数据和密文数据的大小均为预设AES数据分组大小;
可见,本发明通过对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵,可以将密钥扩展得到的多个子密钥排列在一个子密钥矩阵空间里,对子密钥矩阵里的矩阵元素进行置乱变换,使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个变换后的子密钥推算出其余变换后的子密钥,增强了AES算法的加密安全性,从而保障了传输数据的安全性。此外,本发明还提供了一种数据加密装置、数据解密方法和装置及电子设备,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种数据加密方法的流程图;
图2为本发明实施例所提供的另一种数据加密方法的轮密钥加操作的流程示意图;
图3为本发明实施例所提供的一种图文互检的模型训练方法的流程图;
图4为本发明实施例所提供的一种图像数据加密传输方法的流程示意图;
图5为本发明实施例所提供的一种图像数据加密传输方法的过程示意图;
图6为本发明实施例所提供的一种数据加密装置的结构框图;
图7为本发明实施例所提供的一种数据解密装置的结构框图;
图8为本发明实施例所提供的一种电子设备的结构示意图;
图9为本发明实施例所提供的一种电子设备的具体结构示意图;
图10为本发明实施例所提供的一种计算机可读存储介质的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前AES算法的密钥扩展过程的复杂性是确保算法安全性的重要部分。根据AES算法的加密标准,若待加密明文数据的长度为128位(即比特位,bit),采用密钥长度为128位,需要执行10次轮密钥加的操作,共需要10个子密钥;会通过密钥扩展将输入的128位密钥扩展为11个128位子密钥。AES算法的密钥扩展算法是以32bits的字为一个基本单位,每个字刚好是子密钥矩阵的一列,128位密钥排列成一个4行4列的矩阵,将第k列定义为w[k],依次求解w[k],按照如下方式进行密钥扩展:
上式中,T(.)为利用AES算法的S盒进行字节替换。根据上述公式,若某一轮的子密钥w[k]、w[k+1]、w[k+2]和w[k+3]全部截获,则可以反推出上一轮的全部子密钥,如w[k+2]和w[k+3]异或得到w[k-1],w[k+1]和w[k+2]异或得到w[k-2],w[k]和w[k+1]异或得到w[k-3],最后利用w[k-1]和w[k]异或得到w[k-4]。同样,正向计算可以推出下一轮的全部密钥,如w[k]和w[k+3]异或得到w[k+4],w[k+1]和w[k+4]异或得到w[k+5],w[k+2]和w[k+5]异或得到w[k+6],w[k+3]和w[k+6]异或得到w[k+7]。由此可见,若破解出某一轮的子密钥,按照现有的密钥扩展过程,其余所有轮的子密钥也将遭到破解,密文的安全性将无法得到保障。
鉴于目前所存在的上述问题,本发明提出了对AES算法的密钥扩展过程进行改进的数据加密和解密技术方案,通过该技术方案,能够使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个改进后的子密钥推算出其余改进后的子密钥,增强了AES算法的加密安全性,从而保障了传输数据的安全性。
为了便于理解,请参考图1,图1为本发明实施例所提供的一种数据加密方法的流程图。该方法可以包括:
步骤101:获取高级加密标准AES算法的密钥。
可以理解的是,本步骤中的密钥可以为对待加密明文数据进行加密所使用的密钥。对于本实施例中的AES算法的密钥的具体内容和获取方式,可以由设计人员根据实用场景和用户需求自行设置,如可以采用与现有技术中AES算法的密钥的设置方式对应进行设置,例如,本实施例中AES算法的密钥的大小(或称长度)可以为128位(bit)、198位或256位,只要处理器可以获取每个待加密明文数据所采用的密钥,本实施例对此不做任何限制。
步骤102:对密钥进行AES密钥扩展,获取预设数量的子密钥。
其中,本步骤中处理器可以采用现有技术中AES算法的密钥扩展过程,对密钥进行密钥扩展,获取预设数量的初始的子密钥;每个子密钥的大小均可以与密钥的大小相同。
对应的,对于本实施例中预设数量的具体数值,即密钥通过AES算法的密钥扩展得到的子密钥的具体数量,可以由设计人员根据实用场景和用户需求自行设置,如预设数量可以为密钥的大小对应的轮密钥加次数加1,例如密钥的大小为128位时,轮密钥加的次数可以为10,预设数量可以为11,即本步骤中处理器可以对128位的密钥进行AES密钥扩展,获取11个128位的子密钥;密钥的大小为192位时,轮密钥加的次数可以为12,预设数量可以为13,即本步骤中处理器可以对192位的密钥进行AES密钥扩展,获取13个192位的子密钥;密钥的大小为256位时,轮密钥加的次数可以为14,预设数量可以为15,即本步骤中处理器可以对256位的密钥进行AES密钥扩展,获取15个256位的子密钥。
步骤103:对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,子密钥矩阵与目标矩阵的行数相同且列数相同,矩阵置乱变换包括左右变换、旋转变换和/或映射变换。
可以理解的是,本步骤中的子密钥可以为以字节(即8bit)为单位的矩阵表示,该矩阵每一列可以为1个32位(bit)的字,如每个128位的子密钥可以为4*4的矩阵;本步骤中的子密钥对应的子密钥矩阵可以为预设数量的子密钥排列组成的矩阵,即子密钥矩阵中的每个矩阵元素可以为8位的字,如128位的密钥进行AES密钥扩展得到的11个128位的子密钥对应的子密钥矩阵可以为4*44的矩阵或44*4矩阵;192位的密钥进行AES密钥扩展得到的15个192位的子密钥对应的子密钥矩阵可以为4*90的矩阵或90*4矩阵。
对应的,本步骤中处理器可以对子密钥矩阵进行矩阵置乱变换,通过一次或多次乱序变换对预设数量的初始的子密钥组成的子密钥矩阵的矩阵元素顺序进行打乱,得到预设数量的变换后的子密钥组成的矩阵(即目标矩阵),从而实现对AES算法的密钥扩展过程的改进,削弱变换后的子密钥之间的关联性,使得即便某个变换后的子密钥被攻破,也无法利用AES算法的密钥扩展规则推算出其余变换后的子密钥,增强了AES算法的加密安全性。
需要说明的是,对于本步骤中处理器对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵的具体方式,即矩阵置乱变换的具体变换方式,可以由设计人员根据实用场景和用户需求自行设置,如矩阵置乱变换可以包括左右变换、旋转变换和/或映射变换,以削弱目标矩阵对应的预设数量的变换后的子密钥之间的关联性;例如,本实施例中矩阵置乱变换可以包括左右变换、旋转变换和映射变换。
举例来说,矩阵置乱变换包括左右变换、旋转变换和映射变换时,处理器可以对子密钥对应的子密钥矩阵进行左右变换、旋转变换和映射变换,生成目标矩阵。例如,处理器可以对子密钥矩阵依次进行左右变换、旋转变换和映射变换,生成目标矩阵;即处理器可以对子密钥矩阵进行左右变换,得到左右变换矩阵;对左右变换矩阵进行旋转变换,得到旋转变换矩阵;对旋转变换矩阵进行映射变换,得到目标矩阵;其中,子密钥矩阵、左右变换矩阵、旋转变换矩阵和目标矩阵的行数相同且列数相同,如均为4*44的矩阵。
对应的,对于上述处理器对子密钥矩阵进行左右变换,得到左右变换矩阵的具体过程,可以由设计人员自行设置,如处理器可以对子密钥矩阵进行垂直于中轴的对称变化,得到左右变换矩阵;其中,b(i,j)=a(i,m-j-1),b(i,j)为左右变换矩阵中行号为i+1且列号j+1的矩阵元素,a(i,m-j-1)为子密钥矩阵中行号为i+1且列号m-j的矩阵元素,i大于或等于0且小于n,n为子密钥矩阵的行数,j大于或等于0且小于m,m为子密钥矩阵的列数;如子密钥矩阵为4*44的矩阵时,n可以为4,m可以为44,0≤i<3,0≤j<43。
其中,对于上述处理器对左右变换矩阵进行旋转变换,得到旋转变换矩阵的具体过程,可以由设计人员自行设置,如处理器可以对左右变换矩阵中的各划分方阵分别旋转90度,得到旋转变换矩阵;其中,划分方阵为4*4矩阵,划分方阵的数量为nm/16,n为左右变换矩阵的行数,m为左右变换矩阵的列数;也就是说,每个划分方阵可以为左右变换后的子密钥矩阵(即左右变换矩阵)中各一次变换后的子密钥各自对应的4*4矩阵。例如,处理器可以对左右变换矩阵中的各划分方阵分别右旋90度,得到旋转变换矩阵;其中,c(i,m-j-1)=b(i,j),c(i,m-j-1)为旋转变换矩阵中行号为i+1且列号m-j的矩阵元素,b(i,j)为左右变换矩阵中行号为i+1且列号j+1的矩阵元素。处理器也可以对左右变换矩阵中的各划分方阵分别左旋90度,得到旋转变换矩阵。本实施例对此不做任何限制。
相应的,对于上述处理器对旋转变换矩阵进行映射变换,得到目标矩阵的具体过程,可以由设计人员自行设置,如处理器可以利用预设置换矩阵,将旋转变换矩阵中的各矩阵元素分别映射变化到各自对应的位置,得到目标矩阵。也就是说,处理器可以利用预先设置的置换矩阵L(即预设置换矩阵L),将旋转变换矩阵中(i,j)处的矩阵元素由预设置换矩阵L一对一映射变换到位置(i′,j′)处,即其中,预设置换矩阵的行数和列数可以与子密钥矩阵相对应,如预设置换矩阵、旋转变换矩阵和目标矩阵的行数相同且列数相同。对应的,不同的预设置换矩阵L可以令旋转变换矩阵形成不同的置乱变换,乱序变换后的目标矩阵对应的预设数量的子密钥之间的关联性不再存在,从而可以利用乱序变换后的子密钥矩阵(即目标矩阵)进行AES算法加密操作。
步骤104:利用目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,待加密明文数据和密文数据的大小均为预设AES数据分组大小。
可以理解的是,本步骤中处理器可以利用乱序变换后的目标矩阵,即预设数量的变换后的子密钥,对待加密明文数据进行AES算法的加密操作,得到相应的密文数据。也就是说,本步骤中处理器可以利用预设数量的变换后的子密钥,采用与现有技术中AES算法的加密操作相似的方式,对待加密明文数据进行加密,获取密文数据。
对应的,本实施例中的待加密明文数据可以为经过AES算法的拆分后得到的任意一组当前需要进行加密的明文数据(即明文块),待加密明文数据的大小可以为预设AES数据分组大小(如128位),即本实施例中处理器可以将明文数据差分成预设AES数据分组大小的待加密明文数据,从而分别对各待加密明文数据进行加密,得到各待加密明文数据各自对应的预设AES数据分组大小的密文数据;将各待加密明文数据对应的密文数据进行拼接,得到完整的明文数据对应的密文数据。
其中,本实施例中的待加密明文数据可以为网络传输数据,即网络传输过程中需要加密的数据,以通过对网络传输数据的加密,来保护网络数据传输的安全性。对于本实施例中的待加密明文数据的具体内容,可以由设计人员根据实用场景和用户需求自行设置,如网络传输数据为图像数据时,待加密明文数据可以为待加密图像数据,即经过AES算法的拆分后得到的任意一组当前需要进行加密的图像数据;从而通过在网络传输过程中,对网络传输的图像数据进行加密,避免图像数据泄露的情况发生;例如,处理器可以将需要加密传输的图像转换为二进制的图像数据(即明文数据),按预设AES数据分组大小(如128位)对图像数据进行分组,得到预设AES数据分组大小的图像数据(即待加密图像数据)。网络传输数据为网络交易数据时,待加密明文数据也可以为待加密网络交易数据(如银行卡号),以通过在网络传输过程中,对网络交易数据进行加密,保证网络交易的安全性。本实施例对此不做任何限制。
需要说明的是,对于本步骤中处理器利用目标矩阵,对待加密明文数据进行加密,获取密文数据的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如可以采用与现有技术中AES算法的加密操作相同或相似的方式实现,如处理器可以利用目标矩阵,通过字节代换、行移位、列混合和轮密钥加对待加密明文数据进行加密,获取密文数据,即加密过程可以包括字节代换、行移位、列混合和轮密钥加这四种数据变换操作;其中,轮密钥加操作利用目标矩阵,改变了现有的AES算法的加密方式,不再将数据直接与密钥扩展算法生成的子密钥进行异或操作,而是将数据与进行了矩阵置乱变换后的子密钥矩阵(即目标矩阵)执行轮加密的循环迭代操作,如图2所示,密钥的大小为128位,预设数量为11时,目标矩阵对应的11个变换后的子密钥的矩阵(4*4矩阵)中的每一列可以称为1个32位比特字,预设数量的子密钥可以组成的序列w′[0],w′[1],…,w′[43],利用各变换后的子密钥对应的序列元素,可以执行轮加密的循环迭代操作,如图2中w′[0,3]可以为w′[0]、w′[1]、w′[2]和w′[3]串联组成的128位子密钥;通过执行数据与变换矩阵元素顺序后的子密钥矩阵的轮加密操作,削弱密钥扩展后生成的子密钥之间的关联,实现了密文的随机性,增强了AES加密算法的安全性,使得即便攻击者可攻破某一轮变换后的子密钥,从已知子密钥推算出来的其余变换后的子密钥也不正确,只能采用穷举的方式,增大了破译难度,使得这种数据加密方法具有良好的抗攻击能力。
对应的,上述字节代换操作可以将输入的待加密明文数据通过S_box表完成从一个字节到另一个字节的映射,S_box表可以为AES算法定义的S盒的表格;行移位操作可以将数据作为一个4*4的字节矩阵操作,将该矩阵的字节进行行移位处理;列混合操作可以对该矩阵中的每一列进行变换。
相应的,密文数据的解密过程可以上述加密过程的逆过程,即处理器可以采用目标矩阵,采用与上述加密过程相对应的逆过程,对密文数据进行解密,得到加密前的待加密明文数据。
对应的,本实施例中加密端设备的处理器还可以将密文数据发送到解密端设备,如加密端设备可以通过TCP(Transmission Control Protocol,传输控制协议)或UDP(OpenSystem Interconnection,开放式系统互联)网络传输协议,将密文数据发送到解密端设备;使得解密端设备可以对密文数据进行解密,得到待加密明文数据。例如,处理器可以将密文数据和目标矩阵发送到解密端设备,以使解密端设备可以利用目标矩阵,对密文数据进行AES解密,得到待加密明文数据。处理器也可以将密文数据和目标矩阵对应的预设数量的变换后的子密钥发送到解密端设备,以使解密端设备可以利用预设数量的变换后的子密钥,对密文数据进行AES解密,得到待加密明文数据。处理器还可以将密文数据和AES算法的密钥发送到解密端设备,以使解密端设备可以利用密钥生成目标矩阵,并利用目标矩阵,对密文数据进行AES解密,得到待加密明文数据。本实施例对此不做任何限制。
本实施例中,本发明实施例通过对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵,可以将密钥扩展得到的多个子密钥排列在一个子密钥矩阵空间里,对子密钥矩阵里的矩阵元素进行置乱变换,使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个变换后的子密钥推算出其余变换后的子密钥,增强了AES算法的加密安全性,从而保障了传输数据的安全性。
基于上述实施例,本发明实施例还提供了一种数据解密方法,以对上述实施例中通过改进的AES算法加密得到的密文数据进行解密,得到正确的明文数据。具体的,请参考图3,图3为本发明实施例所提供的一种图文互检的模型训练方法的流程图。该方法可以包括:
步骤201:获取目标矩阵和待解密密文数据。
其中,目标矩阵为对子密钥对应的子密钥矩阵进行矩阵置乱变换生成的矩阵;子密钥为高级加密标准AES算法的密钥进行AES密钥扩展后得到的预设数量的密钥;子密钥矩阵与目标矩阵的行数相同且列数相同,矩阵置乱变换包括左右变换、旋转变换和/或映射变换。
可以理解的是,本实施例是以解密端设备的处理器利用AES算法的密钥进行密钥扩展和矩阵置乱变换得到的预设数量的子密钥的矩阵(即目标矩阵),对待解密密文数据进行解密为例进行的展示,即解密端设备可以接收加密端设备发送的目标矩阵和待解密密文数据,直接利用目标矩阵对待解密密文数据进行解密,获取相应的明文数据。解密端设备的处理器也可以利用AES算法的密钥进行密钥扩展和矩阵置乱变换得到的预设数量的子密钥,对待解密密文数据进行解密,如解密端设备可以接收加密端设备发送的预设数量的子密钥和待解密密文数据,利用经历过矩阵置乱变换得到的子密钥对待解密密文数据进行解密,获取相应的明文数据。本实施例对此不做任何限制。
其中,本实施例中的待解密密文数据的大小可以为预设AES数据分组大小(如128位),本实施例中的AES算法的密钥、该密钥经过AES密钥扩展后得到的子密钥、子密钥对应的子密钥矩阵经过矩阵置乱变换后得到的目标矩阵可以采用与上述实施例中AES算法的密钥扩展过程相对应的方式对应进行设置,本实施例对此不做任何限制。
步骤202:利用目标矩阵,对待解密密文数据进行解密,获取明文数据;其中,待解密密文数据和明文数据的大小均为预设AES数据分组大小。
可以理解的是,本步骤中处理器可以利用乱序变换后的目标矩阵,即预设数量的变换后的子密钥,对待解密密文数据进行AES算法的解密操作,得到相应的明文数据。也就是说,本步骤中处理器可以利用预设数量的变换后的子密钥,采用与现有技术中AES算法的解密操作相似的方式,对待解密密文数据进行解密,获取明文数据。
对应的,对于本步骤中处理器利用目标矩阵,对待解密密文数据进行解密,获取明文数据的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以采用上述实施例中步骤104的逆过程,利用目标矩阵完成对待解密密文数据的解密,得到相应的明文数据。
需要说明的是,本实施例中的明文数据可以为网络传输数据,如图像数据;相应的,本实施例中的待解密密文数据可以为网络传输数据对应的密文数据。例如,处理器可以利用目标矩阵,对网络传输过程中加密的数据(即待解密密文数据)进行解密,解密得到相应的明文数据。
本实施例中,本发明实施例利用对子密钥对应的子密钥矩阵进行矩阵置乱变换后生成的目标矩阵,对子密钥矩阵里的矩阵元素进行置乱变换,使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个变换后的子密钥推算出其余变换后的子密钥,增强了AES算法的安全性;从而利用目标矩阵,对待解密密文数据进行解密,获取正确的明文数据。
基于上述实施例,本发明还提供了一种图像数据加密传输方法,以保证图像数据的传输安全性。具体的,请参考图4,图4为本发明实施例所提供的一种图像数据加密传输方法的流程示意图,该方法可以包括:
步骤301:加密端设备利用目标矩阵,对待加密图像数据进行加密,获取密文数据。
其中,本实施例中的目标矩阵可以为上述实施例中AES算法的密钥经过AES密钥扩展和矩阵置乱变换后得到的子密钥矩阵。本步骤中目标矩阵可以采用与上述数据加密方法中的目标矩阵获取方式相同或相似的方式实现,在此不再赘述。
可以理解的是,本实施例中的待加密图像数据可以为需要加密传输的图像数据,如预设AES数据分组的二进制的图像数据。对应的,本步骤之前还可以包括获取待加密图像数据的过程;例如,加密端设备可以获取传输图像;将传输图像转换为二进制的图像数据;按预设AES数据分组大小(如128位),对图像数据进行分组,得到待加密图像数据。
需要说明的是,本步骤中加密端设备利用目标矩阵,对待加密图像数据进行加密,获取密文数据的具体过程,可以采用与上述数据加密方法中待加密明文数据的加密方式相同或相似的方式实现,在此不再赘述。如图5所示,加密端设备可以作为发送方,先将需要加密传输的图像(即传输图像)转换为二进制的图像数据(即明文数据);之后对明文数据进行分组,每128位(即预设AES数据分组大小)为一组,得到明文P(即待加密图像数据);利用经历过矩阵置乱变换后的目标矩阵密钥K(即目标矩阵)作为加密密钥,对明文P进行AES算法加密,获得密文C(即密文数据)。
步骤302:加密端设备将目标矩阵和密文数据发送到解密端设备。
可以理解的是,本实施例中加密端设备可以作为图像加密传输的发送方,将目标矩阵(如图5中的目标矩阵密钥K)和密文数据(如图5中的密文C)通过网络传输(如TCP或UDP网络传输)发送到作为接收方的解密端设备。
步骤303:解密端设备利用目标矩阵,对密文数据进行解密,获取待加密图像数据。
可以理解的是,本步骤中解密端设备利用目标矩阵,对密文数据进行解密,获取待加密图像数据的具体过程,可以采用与上述数据解密方法中待解密密文数据的解密方式相同或相似的方式实现,在此不再赘述。
如图5所示,解密端设备可以作为图像加密传输的接收方,利用目标矩阵密钥K(即目标矩阵),对明文P(即密文数据)进行AES算法加密,获得明文P(即待加密图像数据),完成明文P的加密传输;之后解密端设备还可以对明文P对应的二进制的图像数据进行恢复,得到加密传输的图像。
对应的,解密端设备在利用目标矩阵,对密文数据进行解密,获取待加密图像数据之后,还可以对待加密图像数据进行组合转换,得到传输图像。
本实施例中,本发明实施例利用密钥经过AES密钥扩展和矩阵置乱变换后得到的目标矩阵,对待加密图像数据进行加密传输和接收解密,实现了网络传输过程中的图像加密,保证了图像数据的传输安全性。
相应于上面的方法实施例,本发明实施例还提供了一种数据加密装置,下文描述的一种数据加密装置与上文描述的一种数据加密方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的一种数据加密装置的结构框图。该装置可以包括:
密钥获取模块10,用于获取高级加密标准AES算法的密钥;
密钥扩展模块20,用于对密钥进行AES密钥扩展,获取预设数量的子密钥;
置乱变换模块30,用于对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,子密钥矩阵与目标矩阵的行数相同且列数相同,矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
加密模块40,用于利用目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,待加密明文数据的大小为预设AES数据分组大小。
在一些实施例中,置乱变换模块30可以包括:
左右变换子模块,用于对子密钥矩阵进行左右变换,得到左右变换矩阵;
旋转变换子模块,用于对左右变换矩阵进行旋转变换,得到旋转变换矩阵;
映射变换子模块,用于对旋转变换矩阵进行映射变换,得到目标矩阵;其中,子密钥矩阵、左右变换矩阵、旋转变换矩阵和目标矩阵的行数相同且列数相同。
在一些实施例中,旋转变换子模块可以具体用于对左右变换矩阵中的各划分方阵分别旋转90度,得到旋转变换矩阵;其中,划分方阵为4*4矩阵,划分方阵的数量为nm/16,n为左右变换矩阵的行数,m为左右变换矩阵的列数。
在一些实施例中,旋转变换子模块可以具体用于对左右变换矩阵中的各划分方阵分别右旋90度,得到旋转变换矩阵;其中,c(i,m-j-1)=b(i,j),c(i,m-j-1)为旋转变换矩阵中行号为i+1且列号m-j的矩阵元素,b(i,j)为左右变换矩阵中行号为i+1且列号j+1的矩阵元素。
在一些实施例中,映射变换子模块可以具体用于利用预设置换矩阵,将旋转变换矩阵中的各矩阵元素分别映射变化到各自对应的位置,得到目标矩阵;其中,预设置换矩阵、旋转变换矩阵和目标矩阵的行数相同且列数相同。
在一些实施例中,左右变换子模块可以具体用于对子密钥矩阵进行垂直于中轴的对称变化,得到左右变换矩阵;其中,b(i,j)=a(i,m-j-1),b(i,j)为左右变换矩阵中行号为i+1且列号j+1的矩阵元素,a(i,m-j-1)为子密钥矩阵中行号为i+1且列号m-j的矩阵元素,i大于或等于0且小于n,n为子密钥矩阵的行数,j大于或等于0且小于m,m为子密钥矩阵的列数。
本实施例中,本发明实施例通过置乱变换模块30对子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵,可以将密钥扩展得到的多个子密钥排列在一个子密钥矩阵空间里,对子密钥矩阵里的矩阵元素进行置乱变换,使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个变换后的子密钥推算出其余变换后的子密钥,增强了AES算法的加密安全性,从而保障了传输数据的安全性。
相应于上面的方法实施例,本发明实施例还提供了一种数据解密装置,下文描述的一种数据解密装置与上文描述的一种数据解密方法可相互对应参照。
请参考图7,图7为本发明实施例所提供的一种数据解密装置的结构框图。该装置可以包括:
解密获取模块50,用于获取目标矩阵和待解密密文数据;其中,目标矩阵为对子密钥对应的子密钥矩阵进行矩阵置乱变换生成的矩阵;子密钥为高级加密标准AES算法的密钥进行AES密钥扩展后得到的预设数量的密钥;子密钥矩阵与目标矩阵的行数相同且列数相同,矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
解密模块60,用于利用目标矩阵,对待解密密文数据进行解密,获取明文数据;其中,待解密密文数据和明文数据的大小均为预设AES数据分组大小。
在一些实施例中,目标矩阵为对旋转变换矩阵进行映射变换得到的矩阵,旋转变换矩阵为对左右变换矩阵进行旋转变换得到的矩阵,左右变换矩阵为对子密钥矩阵进行左右变换得到的矩阵;其中,子密钥矩阵、左右变换矩阵、旋转变换矩阵和目标矩阵的行数相同且列数相同。
在一些实施例中,旋转变换矩阵可以具体为对左右变换矩阵中的各划分方阵分别旋转90度得到的矩阵;其中,划分方阵为4*4矩阵,划分方阵的数量为nm/16,n为左右变换矩阵的行数,m为左右变换矩阵的列数。
在一些实施例中,旋转变换矩阵可以具体为对左右变换矩阵中的各划分方阵分别右旋90度得到的矩阵;其中,c(i,m-j-1)=b(i,j),c(i,m-j-1)为旋转变换矩阵中行号为i+1且列号m-j的矩阵元素,b(i,j)为左右变换矩阵中行号为i+1且列号j+1的矩阵元素。
在一些实施例中,目标矩阵可以具体为利用预设置换矩阵,将旋转变换矩阵中的各矩阵元素分别映射变化到各自对应的位置得到的矩阵;其中,预设置换矩阵、旋转变换矩阵和目标矩阵的行数相同且列数相同。
在一些实施例中,左右变换矩阵可以具体为对子密钥矩阵进行垂直于中轴的对称变化得到的矩阵;其中,b(i,j)=a(i,m-j-1),b(i,j)为左右变换矩阵中行号为i+1且列号j+1的矩阵元素,a(i,m-j-1)为子密钥矩阵中行号为i+1且列号m-j的矩阵元素,i大于或等于0且小于n,n为子密钥矩阵的行数,j大于或等于0且小于m,m为子密钥矩阵的列数。
本实施例中,本发明实施例利用对子密钥对应的子密钥矩阵进行矩阵置乱变换后生成的目标矩阵,对子密钥矩阵里的矩阵元素进行置乱变换,使得子密钥之间的关联性被削弱,无法利用AES密钥扩展算法从某个变换后的子密钥推算出其余变换后的子密钥,增强了AES算法的安全性;从而通过解密模块60利用目标矩阵,对待解密密文数据进行解密,获取正确的明文数据。
相应于上面的方法实施例,本发明实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种数据加密方法和数据解密方法可相互对应参照。
请参考图8,图8为本发明实施例所提供的一种电子设备的结构示意图。该电子设备可以包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例所提供的数据加密方法和/或数据解密方法的步骤。
相应的,请参考图9,图9为本发明实施例所提供的一种电子设备的具体结构示意图,该电子设备310可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上单元(图示没标出),每个单元可以包括对主机中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在电子设备310上执行存储介质330中的一系列指令操作。
电子设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
上文所描述的数据加密方法和/或数据解密方法中的步骤可以由电子设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种数据加密方法和数据解密方法可相互对应参照。
请参考图10,图10为本发明实施例所提供的一种计算机可读存储介质的结构示意图。该计算机可读存储介质70上存储有计算机程序71,计算机程序71被处理器执行时实现如上述方法实施例所提供的数据加密方法和/或数据解密方法的步骤。
该计算机可读存储介质70具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、电子设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种数据加密方法和装置、数据解密方法和装置及电子设备进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种数据加密方法,其特征在于,包括:
获取高级加密标准AES算法的密钥;
对所述密钥进行AES密钥扩展,获取预设数量的子密钥;
对所述子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
利用所述目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,所述待加密明文数据和所述密文数据的大小均为预设AES数据分组大小。
2.根据权利要求1所述的数据加密方法,其特征在于,所述对所述子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵,包括:
对所述子密钥矩阵进行左右变换,得到左右变换矩阵;
对所述左右变换矩阵进行旋转变换,得到旋转变换矩阵;
对所述旋转变换矩阵进行映射变换,得到所述目标矩阵;其中,所述子密钥矩阵、所述左右变换矩阵、所述旋转变换矩阵和所述目标矩阵的行数相同且列数相同。
3.根据权利要求2所述的数据加密方法,其特征在于,所述对所述左右变换矩阵进行旋转变换,得到旋转变换矩阵,包括:
对所述左右变换矩阵中的各划分方阵分别旋转90度,得到所述旋转变换矩阵;其中,所述划分方阵为4*4矩阵,划分方阵的数量为nm/16,n为所述左右变换矩阵的行数,m为所述左右变换矩阵的列数。
4.根据权利要求3所述的数据加密方法,其特征在于,所述对所述左右变换矩阵中的各划分方阵分别旋转90度,得到所述旋转变换矩阵,包括:
对所述左右变换矩阵中的各划分方阵分别右旋90度,得到所述旋转变换矩阵;其中,c(i,m-j-1)=b(i,j),c(i,m-j-1)为所述旋转变换矩阵中行号为i+1且列号m-j的矩阵元素,b(i,j)为所述左右变换矩阵中行号为i+1且列号j+1的矩阵元素。
5.根据权利要求2所述的数据加密方法,其特征在于,所述对所述旋转变换矩阵进行映射变换,得到所述目标矩阵,包括:
利用预设置换矩阵,将所述旋转变换矩阵中的各矩阵元素分别映射变化到各自对应的位置,得到所述目标矩阵;其中,所述预设置换矩阵、所述旋转变换矩阵和所述目标矩阵的行数相同且列数相同。
6.根据权利要求2所述的数据加密方法,其特征在于,所述对所述子密钥矩阵进行左右变换,得到左右变换矩阵,包括:
对所述子密钥矩阵进行垂直于中轴的对称变化,得到所述左右变换矩阵;其中,b(i,j)=a(i,m-j-1),b(i,j)为所述左右变换矩阵中行号为i+1且列号j+1的矩阵元素,a(i,m-j-1)为所述子密钥矩阵中行号为i+1且列号m-j的矩阵元素,i大于或等于0且小于n,n为所述子密钥矩阵的行数,j大于或等于0且小于m,m为所述子密钥矩阵的列数。
7.一种数据加密装置,其特征在于,包括:
密钥获取模块,用于获取高级加密标准AES算法的密钥;
密钥扩展模块,用于对所述密钥进行AES密钥扩展,获取预设数量的子密钥;
置乱变换模块,用于对所述子密钥对应的子密钥矩阵进行矩阵置乱变换,生成目标矩阵;其中,所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
加密模块,用于利用所述目标矩阵,对待加密明文数据进行加密,获取密文数据;其中,所述待加密明文数据的大小为预设AES数据分组大小。
8.一种数据解密方法,其特征在于,包括:
获取目标矩阵和待解密密文数据;其中,所述目标矩阵为对子密钥对应的子密钥矩阵进行矩阵置乱变换生成的矩阵;所述子密钥为高级加密标准AES算法的密钥进行AES密钥扩展后得到的预设数量的密钥;所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
利用所述目标矩阵,对所述待解密密文数据进行解密,获取明文数据;其中,所述待解密密文数据和所述明文数据的大小均为预设AES数据分组大小。
9.一种数据解密装置,其特征在于,包括:
解密获取模块,用于获取目标矩阵和待解密密文数据;其中,所述目标矩阵为对子密钥对应的子密钥矩阵进行矩阵置乱变换生成的矩阵;所述子密钥为高级加密标准AES算法的密钥进行AES密钥扩展后得到的预设数量的密钥;所述子密钥矩阵与所述目标矩阵的行数相同且列数相同,所述矩阵置乱变换包括左右变换、旋转变换和/或映射变换;
解密模块,用于利用所述目标矩阵,对所述待解密密文数据进行解密,获取明文数据;其中,所述待解密密文数据和所述明文数据的大小均为预设AES数据分组大小。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的数据加密方法和/或如权利要求8所述的数据解密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310900416.8A CN116846542A (zh) | 2023-07-21 | 2023-07-21 | 一种数据加密和解密方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310900416.8A CN116846542A (zh) | 2023-07-21 | 2023-07-21 | 一种数据加密和解密方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116846542A true CN116846542A (zh) | 2023-10-03 |
Family
ID=88160016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310900416.8A Pending CN116846542A (zh) | 2023-07-21 | 2023-07-21 | 一种数据加密和解密方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116846542A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117499023A (zh) * | 2024-01-02 | 2024-02-02 | 深圳市玩视科技股份有限公司 | 基于aes算法的硬件安全方法、设备及存储介质 |
CN117676562A (zh) * | 2024-01-31 | 2024-03-08 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种数据安全通信方法 |
CN117749532A (zh) * | 2024-02-07 | 2024-03-22 | 珠海芯烨电子科技有限公司 | 一种云打印机数据加密方法以及相关装置 |
-
2023
- 2023-07-21 CN CN202310900416.8A patent/CN116846542A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117499023A (zh) * | 2024-01-02 | 2024-02-02 | 深圳市玩视科技股份有限公司 | 基于aes算法的硬件安全方法、设备及存储介质 |
CN117499023B (zh) * | 2024-01-02 | 2024-04-09 | 深圳市玩视科技股份有限公司 | 基于aes算法的硬件安全方法、设备及存储介质 |
CN117676562A (zh) * | 2024-01-31 | 2024-03-08 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种数据安全通信方法 |
CN117676562B (zh) * | 2024-01-31 | 2024-05-10 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种数据安全通信方法 |
CN117749532A (zh) * | 2024-02-07 | 2024-03-22 | 珠海芯烨电子科技有限公司 | 一种云打印机数据加密方法以及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101753292B (zh) | 用于链接式加密模式的方法和设备 | |
US8416947B2 (en) | Block cipher using multiplication over a finite field of even characteristic | |
US8358781B2 (en) | Nonlinear feedback mode for block ciphers | |
CN116846542A (zh) | 一种数据加密和解密方法、装置及电子设备 | |
CN108964872B (zh) | 一种基于aes的加密方法及装置 | |
US20120170739A1 (en) | Method of diversification of a round function of an encryption algorithm | |
US7925009B2 (en) | Hybrid data encryption | |
US11057193B2 (en) | Enhanced randomness for digital systems | |
US8804953B2 (en) | Extensive ciphertext feedback | |
US8041033B2 (en) | Cipher feedback with variable block chaining | |
JP6187624B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Patel et al. | Hybrid security algorithms for data transmission using AES-DES | |
CN117318986A (zh) | 一种基于多重加密的数据传输方法及系统 | |
CN107493164B (zh) | 一种基于混沌系统的des加密方法和系统 | |
US20240097880A1 (en) | High-speed circuit combining aes and sm4 encryption and decryption | |
Mohan et al. | Revised aes and its modes of operation | |
CN114826558A (zh) | 一种海量数据快速加密方法及系统 | |
JP4395527B2 (ja) | 情報処理装置 | |
CN111262685B (zh) | 一种新型密钥生成的Shield分组密码实现方法、装置及可读存储介质 | |
KR101807259B1 (ko) | 암호화 장치 및 방법 | |
KR100494560B1 (ko) | Rijndael암호를 이용한 블록 데이터 실시간암호복호화 장치 및 방법 | |
CN112311527A (zh) | 一种主密钥变换为多项式表格子密钥查表的加密方法 | |
CN109962766A (zh) | 基于ieee802-15-4标准的安全服务协处理器的实现方法 | |
CN109936450B (zh) | 面向调控运行数据的实时感知混合加解密方法及装置 | |
Maheta | Design and simulation of AES algorithm-Encryption using VHDL |
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 |