CN117135291A - 一种图像加密方法、系统、设备及介质 - Google Patents
一种图像加密方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117135291A CN117135291A CN202311095499.4A CN202311095499A CN117135291A CN 117135291 A CN117135291 A CN 117135291A CN 202311095499 A CN202311095499 A CN 202311095499A CN 117135291 A CN117135291 A CN 117135291A
- Authority
- CN
- China
- Prior art keywords
- matrix
- key
- plaintext
- encryption
- 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 60
- 230000000739 chaotic effect Effects 0.000 claims abstract description 85
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 67
- 238000013507 mapping Methods 0.000 claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims description 219
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
- H04N1/448—Rendering the image unintelligible, e.g. scrambling
- H04N1/4486—Rendering the image unintelligible, e.g. scrambling using digital data encryption
-
- 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/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- 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
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/20—Manipulating the length of blocks of bits, e.g. padding or block truncation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于计算机领域,具体涉及一种图像加密方法、系统、设备及介质。其中方法包括:基于初始密钥通过三维混沌映射算法获取若干密钥流;基于图像数据的明文生成明文特征集;基于所述密钥流和明文特征集生成加密密钥;返回执行前述步骤直至生成的加密密钥的数量达到预设数量;将所述预设数量的所述加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。通过本发明提出的一种加密密钥生成方法一种图像加密方法,充分借助明文数据的数据特性打乱AES加密算法所使用的密钥的规律性,打破传统密钥间的关联性限制,使得AES加密的破解难度更大,有效保证图像数据传输的安全性。
Description
技术领域
本发明属于计算机领域,具体涉及一种图像加密方法、系统、设备及介质。
背景技术
在生活中,互联网成为了我们生活不可或缺的一部分。社交软件、移动支付、云盘存储、人脸识别等等技术极大的方便了我们的生活,但其中也存在着安全隐患。大量的数字信息通过互联网进行传输,实现了信息的联通和共享,却也给数字信息的安全传输带来了挑战。图像数据一种较为常见互联网传输数据,由于图像数据包含大量信息,因此图像数据持有者在传输或者保存数据时需要考虑到图像信息的安全性,对于某些特殊行业(例如医疗、军工等)其对图像数据传输的保密性要求更为严格。
目前,较为常见的图像数据加密采用的是传统的AES加密模块中的密钥扩展算法,该密钥扩展算法通过固定的密钥扩展规则由种子密钥生成其余轮子密钥,新生成子密钥与上一轮密钥之间存在确定的关系。这种算法本身结构较为简单,一旦某一轮子密钥被攻击方获知,那么利用密钥扩展公式,只需要有限的运算即可获取全部密钥,甚至推导出种子密钥,那么明文内容也轻而易举推算出来。因此,由于传统的AES加密算法中密钥的规律性导致加密通信的安全性无法得到有效保证,致使在图像数据在网络传输的过程中被截取并破解。
发明内容
为解决上述问题,本发明提出一种图像加密方法,包括:
基于初始密钥通过三维混沌映射算法获取若干密钥流;
基于图像数据的明文生成明文特征集;
基于所述密钥流和明文特征集生成加密密钥;
返回执行所述基于初始密钥通过三维混沌映射算法获取若干密钥流的步骤直至生成的加密密钥的数量达到预设数量;
将所述预设数量的加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。
在本发明的一些实施方式中,方法还包括:基于所述若干密钥流生成密钥流矩阵;
基于图像数据的明文生成明文特征集的步骤包括:根据所述密钥流矩阵的尺寸将明文构建成明文矩阵。
在本发明的一些实施方式中,基于所述若干密钥流生成密钥流矩阵的步骤包括:
构建第一预定尺寸的第一矩阵;
将所述若干组密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵。
在本发明的一些实施方式中,将所述若干组密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵的步骤包括:
将所述若干组密钥流数据按照预定大小切分成多个子密钥流数据;
将所述多个子密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵。
在本发明的一些实施方式中,根据所述密钥流矩阵的尺寸将明文构建成明文矩阵的步骤包括:
构建第二预定尺寸的第二矩阵;
根据所述密钥流矩阵的行列数分别确定所述密钥流矩阵行数和列数对应的最小二进制数的位数;
将所述密钥流矩阵行数和列数对应的最小二进制数的位数的总和作为所述明文矩阵中的元素的二进制形式的数据位数;
基于所述第二矩阵和所述明文矩阵中的元素的二进制形式的数据位数构建所述明文矩阵。
在本发明的一些实施方式中,基于所述第二矩阵和所述明文矩阵中的元素的二进制形式的数据位数构建所述明文矩阵的步骤还包括:
根据所述二进制形式的数据位数从所述明文中以二进制的方式读取对应的数据填充到所述第二矩阵中以形成所述明文矩阵。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤包括:
生成与所述明文矩阵同样大小的目标密钥矩阵;
将所述明文矩阵中的元素拆分成第一元素和第二元素;
将第一元素的二进制数值和第二元素的二进制数值分别作为横坐标和纵坐标从所述密钥流矩阵中选择对应的密钥数据;
将选择的所述密钥数据填充到与所述明文矩阵中的元素位置对应的目标密钥矩阵中的位置。
在本发明的一些实施方式中,将所述明文矩阵中的元素拆分成第一元素和第二元素的步骤包括:
根据所述密钥流矩阵的横向长度和纵向长度确定所述第一元素和第二元素对应的位数;
基于第一元素和第二元素对应的位数将所述明文矩阵中的元素拆分成第一元素和第二元素。
在本发明的一些实施方式中,基于所述第一元素和第二元素对应的位数将所述明文矩阵中的元素拆分成第一元素和第二元素的步骤包括:
按照从低位到高位或从高位到低位的取数顺序,基于所述第一元素的和第二元素的位数从所述明文矩阵中的元素中取出第一元素和第二元素。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
响应于所述目标密钥矩阵填充完成,将所述目标密钥矩阵中的元素按照矩阵的正序拼接成加密密钥。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
响应于完成一次加密密钥的生成,将所述密钥流矩阵中的数据进行一次随机排列并重复将所述目标密钥矩阵中的元素按照矩阵的正序拼接成加密密钥的步骤。
在本发明的一些实施方式中,基于图像数据的明文生成明文特征集的步骤包括:
将所述明文的二进制数除以预定数值的余数作为抽取序数。
在本发明的一些实施方式中,基于初始密钥通过三维混沌映射算法获取若干密钥流的步骤包括:
基于初始密钥通过三维混沌映射算法生成若干组混沌序列。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
根据所述抽取序数从每一组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流得到若干组第一预定长度的密钥流。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
将所述若干组第一预定长度的密钥流进行异或计算并将计算结果作为用于加密明文的加密密钥。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
每从全部若干组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流后,将若干组混沌序列中剩余的序列内容重新随机排列并重复将所述若干组第一预定长度的密钥流进行异或计算并将计算结果作为用于加密明文的加密密钥的步骤。
在本发明的一些实施方式中,基于初始密钥通过三维混沌映射算法生成若干组混沌序列的步骤包括:
将输入的若干组的初始密钥进行分段。
在本发明的一些实施方式中,基于初始密钥通过三维混沌映射算法生成若干组混沌序列的步骤还包括:
将分段后的若干组初始密钥代入到三维混沌映射算法得到若干组混沌序列。
本发明的另一方面还提出一种图像加密系统,包括:
混沌序列生成模块,所述混沌序列生成模块配置用于基于初始密钥通过三维混沌映射算法获取若干密钥流;
明文特征集生成模块,所述明文特征集生成模块配置用于基于图像数据的明文生成明文特征集;
密钥生成模块,所述密钥生成模块配置用于基于所述密钥流和明文特征集生成加密密钥;
返回模块,所述返回模块配置用于返回所述混沌序列生成模块直至生成的加密密钥的数量达到预设数量;
数据加密模块,所述数据加密模块配置用于将所述预设数量的加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。
本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的再一方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种图像加密方法,通过明文生成的明文特征集与从三维混沌映射算法中获得的对应数据组成加密密钥,充分借助明文数据的数据特性打乱AES加密算法所使用的密钥的规律性,每轮密钥之间不存在任何的线性关系,即使某一轮密钥被穷举破解,也无法推算出其余轮密钥,打破传统密钥间的关联性限制,使得AES加密的破解难度更大,有效保证图像数据传输的安全性。
进一步,通过将密钥流数据转换成密钥流矩阵,然后构建明文矩阵按照明文矩阵的元素的值从密钥流矩阵中选择对应的数据组成加密密钥。借助明文的规律生成加密密钥,以“自然”随机的方式确定加密密钥的生成过程。而不是计算机的伪随机。
进一步,通过明文生成对应的抽取序数,并通过抽取序数从三维混沌映射算法输出的若干混沌序列抽取出若干个密钥流数据并进行异或得到对应加密密钥。根据明文的“自然”特性快速生成对应的加密密钥。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的传统的AES加密算法的加密过程示意图;
图2为本发明实施例提供的密钥流矩阵的结构示意图;
图3为本发明实施例提供的明文矩阵和目标密钥矩阵的结构示意图以及目标密钥矩阵的生成过程示意图;
图4为本发明实施例提供的AES加密算法加密过程中的11轮密钥生成过程示意图;
图5为本发明实施例提供的一种图像加密方法的流程示意图;
图6为本发明实施例提供的一种图像加密系统的结构示意图;
图7为本发明实施例提供的一种计算机设备的结构示意图;
图8为本发明实施例提供的一种计算机可读存储介质的结构示意图;
图9为本发明实施例提供的一种图像数据加密传输的过程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明旨在解决传统的AES加密中多轮加密密钥因密钥扩展算法导致的关联性问题,即在一个密钥被破解后其他密钥的安全性降低的问题。
进一步,传统AES算法主要由密钥扩展部分、加密过程和解密过程三部分组成,解密过程是加密过程的逆过程,因此不作过多的讨论。密钥扩展算法的复杂性是确保算法安全性的重要部分。根据AES算法加密标准,若待加密明文数据的长度为128位,执行10次轮密钥加的操作,共需要10个子密钥。通过密钥扩展将输入的128位密钥扩展为11个128位密钥。AES的密钥扩展算法是以32bits的字为一个基本单位,刚好是密钥矩阵的一列,128位密钥排列成一个4行4列的矩阵,将第i列定义为w[i],依次求解w[i],按照如下方式进行密钥扩展:
根据上述公式,若某一轮的子密钥w[i]、w[i+1]、w[i+2]和w[i+3]全部截获,根据上述公式可以反推出上一轮的全部密钥:w[i+2]和w[i+3]异或得到w[i-1],w[i+1]和w[i+2]异或得到w[i-2],w[i]和w[i+1]异或得到w[i-3],最后利用w[i-1]和w[i]异或得到w[i-4]。同样,正向计算可以推出下一轮的全部密钥:w[i]和w[i+3]异或得到w[i+4],w[i+1]和w[i+4]异或得到w[i+5],w[i+2]和w[i+5]异或得到w[i+6],w[i+3]和w[i+6]异或得到w[i+7]。
传统AES算法的加密流程如图1所示,每一轮加密迭代过程中的轮密钥由上一轮密钥经过上述密钥扩展算法生成,轮密钥之间存在着一定的关系。由此可见,若破解出某一轮的子密钥,根据密钥扩展算法,其余所有轮的子密钥也将遭到破解,密文的安全性将无法得到保障。
如图5所示,本发明提出一种图像加密方法,包括:
步骤S1、基于初始密钥通过三维混沌映射算法获取若干密钥流;
步骤S2、基于图像数据的明文生成明文特征集;
步骤S3、基于所述密钥流和明文特征集生成加密密钥;
步骤S4,返回执行步骤S1直至生成的加密密钥的数量达到预设数量;其中,预设数量是指预先设定的数值,具体来说可以根据高级加密标准算法所需要的密钥数量进行设置。
步骤S5、将所述预设数量的加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。
在本发明的一些实施例中,在步骤S1中,本发明提出一种使用三维混沌映射产生的混沌序列作为AES加密算法的密钥的方法,在安全性上具有更安全的混沌特性,因此有更安全的加密效果。
Lorenz混沌系统的状态方程如下:
在a=10,b=8/3,c=28时,Lorenz系统呈现混沌态。
改进算法的具体执行步骤如下:
用户随机输入三组128的密钥序列,将每组其按照每16位分段,分别记为:
使用如下的方法计算出Lorenz混沌映射的初始值x0、y0、z0:
式中x,y,z为给定值;
其中
根据计算得到的x0,y0,z0作为Lorenz映射的初始值,代入三维Lorenz混沌系统的状态方程,进行迭代运算产生三组混沌序列。从每组混沌序列中选择128位二进制数据作为混沌密钥流,分别记为key1、key2和key3。
在步骤S2中,本发明提出根据明文数据的特性构建明文特征集,明文特征集是表示明文数据特点的数据。
在本发明的一些实施例中,明文是图像数据并按照AES加密算法的加密规格进行切分的数据,即在一些场景下的128bit的明文数据。
进一步,在本发明的一些实施例中,明文数据还可以是其他非图像数据类型的数据,并按照128bit进行拆分成对应的明文数据。即不仅可应用于网络传输过程中的图像加密,诸如在电子商务中,可以采用本方案对用户证图像、交易合同图像等进行加密,进行安全的网络交易。相关保密信息等都可转化为二进制的比特流信息,进行加密后,在网络中传输,保障信息的安全。
在本发明的一些实施方式中,明文特征集是根据明文的内容构建的明文矩阵。在本发明的一些实施例中,明文特征集则是根据明文内容进行相关计算后得到的一个数值。
在步骤S3中,通过明文特征集中不同类型的数据内容和密钥流生成加密用的密钥,例如通过明文矩阵和密钥流进行相关逻辑运算得到密钥流矩阵。
在步骤S5中,将迭代执行步骤S1至步骤S3所生成的加密密钥输入到AES加密算法中对该加密密钥进行加密,通常来说AES加密采用11轮加密的方式进行加密,因此在对同一个明文进行11轮加密使需要生成11个加密密钥,使用生成11个加密密钥对图像数据的明文进行加密。即将图像数据以128bit为单位进行拆分生成多个128bit的明文,并根据每个128bit的明文生成对应的11轮加密密钥对图像数据进行加密,将加密后的数据通过网络进行传输。
进一步,如图9所示,首先将图像信息转换为二进制的明文数据,发送方对明文数据进行分组,每128位为一组,记为明文P。通过利用基于混沌映射生成的密钥流和明文特征集结合生的目标密钥矩阵进行AES加密,获得加密密文C。之后发送方将密文C通过TCP/UDP网络传输协议进行网络传输。接收方采用相同的加密密钥根据AES解密算法对密文进行解密,获得明文P,最后对二进制明文数据流进行恢复,得到明文图像。
在本发明的一些实施例中,也可以从图像数据切分成多个的128bit的明文数据中随机或者按照一定规律选择出11个128bit的明文数据,并基于该11组明文数据生成11个加密密钥,并通过该11组加密密钥对图像数据的所有的128bit的明文数据进行AES算法的加密流程。以此来降低生成加密密钥的频次。
在本发明的一些实施方式中,方法还包括:基于所述若干密钥流生成密钥流矩阵。基于图像数据的明文生成明文特征集包括:根据所述密钥流矩阵的尺寸将明文构建成明文矩阵。
在本发明的一些实施例中,通过明文生成明文特征集是以生成明文矩阵的方式生成。在生成明文矩阵之前,首先根据若干个密钥流生成密钥流矩阵。密钥流矩阵可参考图2,图2示出了16x16的密钥流矩阵,每一行每一个列都是16个元素,行和列的编号采用16进制的命名方式即图中1~f。将上述步骤S2中得到的三组密钥流以8bit为单位按序填充到该密钥流矩阵中。
进一步,在确定密钥流矩阵的尺寸之后,根据密钥流矩阵的尺寸构建明文矩阵。
在本发明的一些实施方式中,基于所述若干密钥流生成密钥流矩阵的步骤包括:
构建第一预定尺寸的第一矩阵;
将所述若干组密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵。
在本发明的一些实施方式中,将所述若干组密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵的步骤包括:
将所述若干组密钥流数据按照预定大小切分成多个子密钥流数据;
将所述多个子密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵。
在本实施例中,如图2所示,在构建密钥流矩阵时,首先创建一个16*16的第一矩阵,即空矩阵,然后将密钥流(本实施例中,共有3组密钥流)切分成8bit大小的数据,然后填充到该空矩阵中形成密钥流矩阵。
在本发明的一些实施方式中,根据所述密钥流矩阵的尺寸将明文构建成明文矩阵的步骤包括:
构建第二预定尺寸的第二矩阵;
根据所述密钥流矩阵的行列数分别确定所述密钥流矩阵行数和列数对应的最小二进制数的位数;
将所述密钥流矩阵行数和列数对应的最小二进制数的位数的总和作为所述明文矩阵中的元素的二进制形式的数据位数;
基于所述第二矩阵和所述明文矩阵中的元素的二进制形式的数据位数构建所述明文矩阵。
在本发明的一些实施方式中,基于所述第二矩阵和所述明文矩阵中的元素的二进制形式的数据位数构建所述明文矩阵的步骤还包括:
根据所述二进制形式的数据位数从所述明文中以二进制的方式读取对应的数据填充到所述第二矩阵中以形成所述明文矩阵。
在本发明的一些实施例中,密钥流矩阵的尺寸影响明文矩阵的大小,密钥流矩阵的元素个数与最终生成的加密密钥的长度会影响明文矩阵的大小,例如,加密密钥是128位的密钥,密钥流矩阵中每个元素的数据位是8bit的话,则通过8bit的密钥流矩阵的元素组成128bit的加密密钥需要使用16个8bit的密钥流矩阵的元素。
因此,明文矩阵中元素的总个数需要16个,可设置明文矩阵的尺寸为4*4的矩阵。
具体地,如图3左侧所示的明文矩阵为4*4的矩阵。在确认明文矩阵的大小之后,进一步则确定明文矩阵中元素的数据大小,即每个明文矩阵的元素的二进制位下的长度。
每个明文矩阵中的元素由两部分组成,即用来在密钥流矩阵中选取对应元素的横纵坐标,横坐标代表密钥流矩阵的元素的行数,纵坐标表示密钥流矩阵中的列数。
进一步,在确定明文矩阵中的元素的数据大小时,需要根据密钥流矩阵的行列数的二进制位来确定。例如以图2所示的密钥流矩阵,行和列均是16,则二进制表示需要4bit的数据,则每个明文矩阵中的数据大小即为4bit+4bit=8bit,因此明文矩阵中的每个元素即为8bit。
在本发明的一些实施例中,依据上述密钥流尺寸与明文矩阵中元素的大小关系,密钥流矩阵的大小也可以由明文矩阵而确定。例如先确定明文矩阵的尺寸以及每个明文矩阵中元素的数据位长度,此时若明文矩阵中元素的长度为7bit,并且按照4:3的比例进行划分,则说明分别对应24个行和23个列的密钥流矩阵,因此在构建密钥流矩阵时需要构建16行8列的密钥流矩阵。密钥流矩阵中的元素长度等于加密密钥的长度(均为二进制形式)除以明文矩阵中元素的总个数。
进一步,在明文矩阵的尺寸及对应的元素的长度皆确定之后,便从明文中以二进制的方式读取对应长度的数据逐一填充到明文矩阵中。例如,假设明文是128bit的数据块,如果明文矩阵中的元素大小为8bit,则以8bit为单位从明文中读取16组数据分别填充到4*4的矩阵中。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤包括:
生成与所述明文矩阵同样大小的目标密钥矩阵;
将所述明文矩阵中的元素拆分成第一元素和第二元素;
将第一元素的二进制数值和第二元素的二进制数值分别作为横坐标和纵坐标从所述密钥流矩阵中选择对应的密钥数据;
将选择的所述密钥数据填充到与所述明文矩阵中的元素位置对应的目标密钥矩阵中的位置。
在本发明的一些实施方式中,将所述明文矩阵中的元素拆分成第一元素和第二元素的步骤包括:
根据所述密钥流矩阵的横向长度和纵向长度确定所述第一元素和第二元素对应的位数;
基于所述第一元素和第二元素对应的位数将所述明文矩阵中的元素拆分成第一元素和第二元素。
在本发明的一些实施方式中,基于所述第一元素和第二元素对应的位数将所述明文矩阵中的元素拆分成第一元素和第二元素包括:
按照从低位到高位或从高位到低位的取数顺序,基于所述第一元素的和第二元素的位数从所述明文矩阵中的元素中取出第一元素和第二元素。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
响应于所述目标密钥矩阵填充完成,将所述目标密钥矩阵中的元素按照矩阵的正序拼接成加密密钥。
在本发明的一些实施例中,如图3右侧所示,根据明文矩阵的尺寸创建与明文矩阵尺寸相同的目标密钥矩阵,初始的目标密钥矩阵为空,需要从密钥流矩阵中挑选对应的数据填充到目标密钥矩阵中。
具体地,如图3所示,逐一地读取出明文矩阵中的元素,然后按照前述的比例拆分成两个值,如前述实施例中的4:4的拆分方式拆分成第一元素和第二元素,根据第一元素的二进制表示的数值作为横坐标,根据第二元素的二进制表示的数值作为纵坐标从密钥流矩阵中选择对应的密钥数据,即8bit的密钥数据填充到目标密钥矩阵对应位置中。
进一步,如图3所示的实现方式中,明文矩阵中共有16个元素,则根据16个元素的值从对应的密钥流矩阵中取出16个8bit的密钥数据最终填充到目标密钥矩阵中,在目标密钥矩阵填充完成后,则将目标密钥矩阵中的16个数据按照前后顺序或者是预定的随机顺序进行组装成一个128bit的加密密钥。
在本发明的一些实施例中,第一元素和第二元素的位数由密钥流矩阵的横向长度和纵向长度决定。如果是密钥流矩阵的长度是16*16则第一元素和第二元素应该都是4bit。
在一些实施例中,对于明文矩阵的元素的位数超过密钥流矩阵的尺寸时,只选取前几位满足密钥流尺寸的数据。例如,假设密钥流矩阵的长度是16*16而明文矩阵中的元素大小是10bit,按照前述的方式,只需两个4bit的数据即可完成从密钥流矩阵中挑选数据的需要,即上述选择机制。此时对与明文矩阵中多余的2bit数据可以直接选择忽略。当然上述是从高到底的优先选择方式,在一些情况下也可以选择从低位到高位的选择方式。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
响应于完成一次加密密钥的生成,将所述密钥流矩阵中的数据进行一次随机排列并重复将所述目标密钥矩阵中的元素按照矩阵的正序拼接成加密密钥的步骤。
进一步,在本实施例中,当每完成一次加密密钥的生成之后,对密钥流矩阵中的密钥数据进行异常随机排列,并根据相应加密算法的需要重新从密钥流矩阵中获取对应的加密密钥。
在本发明的一些实施例中,如前所述可以设定生成加密密钥的随机策略,即每完成一次加密密钥的生成之后,对密钥流矩阵中的密钥数据进行异常随机排列,或者是在目标密钥矩阵填充完成后根据预设的随机顺序从目标密钥矩阵中获取对应的密钥数据进行组合后生成加密密钥。以实现对AES算法加密过程中11组密钥的生成。
在本发明的一些实施方式中,基于图像数据的明文生成明文特征集的步骤包括:
将所述明文的二进制数除以预定数值的余数作为抽取序数。
在本发明的一些实施方式中,基于初始密钥通过三维混沌映射算法获取若干密钥流的步骤包括:
基于初始密钥通过三维混沌映射算法生成若干组混沌序列。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
根据所述抽取序数从每一组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流得到若干组第一预定长度的密钥流。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
将所述若干组第一预定长度的密钥流进行异或计算并将计算结果作为用于加密明文的加密密钥。
在本发明的一些实施例中,明文特征集还包括只有一维数据的特征即抽取序数。将明文的二进制形式的数据除以预定的数值取余,将余数作为抽取序数,然后根据抽取序数从若干组混沌序列中抽取出若干组一定长度的密钥流数据。在从混沌序列中抽取数据时采用不放回抽样的抽取方式获得若干组密钥流数据。
进一步,如图4所示在获取到相应的密钥流数据之后,将获取到的若干组密钥流数据进行异或计算得到用于加密明文的加密密钥。
在本发明的一些实施方式中,基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
每从全部若干组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流后,将若干组混沌序列中剩余的序列内容重新随机排列并重复将所述若干组第一预定长度的密钥流进行异或计算并将计算结果作为用于加密明文的加密密钥的步骤。
在本发明的一些实施例中,当从若干组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流后;
根据需要将若干组混沌序列中剩余的序列内容重新随机排列,用于下一次密钥流数据的生成。
在本发明的一些实施方式中,基于初始密钥通过三维混沌映射算法生成若干组混沌序列的步骤包括:
将输入的若干组的初始密钥进行分段。
在本发明的一些实施方式中,基于初始密钥通过三维混沌映射算法生成若干组混沌序列的步骤还包括:
将分段后的若干组初始密钥代入到三维混沌映射算法得到若干组混沌序列。
如前所述,将用户随机输入三组128的密钥序列,将每组其按照每16位分段,然后将分段后的数据代入到三维混沌映射算法得到若干组混沌序列。
通过本发明提出的一种图像加密方法,可有效解决AES加密算法中需要的11组加密密钥的生成问题,有效抑制对一轮加密密钥破解后的其他轮加密密钥的连锁破解情况。并且将三维混沌映射原理和AES加密过程结合起来,根据用户输入的初始密钥,经过计算得出三维Lorenz混沌映射的初始值。利用Lorenz混沌映射的初值敏感性、混乱性和扩散性,产生三组混沌密钥序列,随机选取128位混沌序列数据作为混沌密钥,之后将三组混沌密钥进行异或,异或结果即为一轮AES加密的轮密钥。利用混沌系统生成的每一轮的子密钥都不相同,而且每轮子密钥之间不存在任何的线性关系,即使某一轮子密钥被穷举破解,也无法推算出其余轮密钥,对明文内容的保护性大大增强。
进一步,采用的混沌系统产生混沌序列和AES算法的子密钥系统结合起来的方法,每进行一次加密迭代循环就使用一次新的混沌序列,即使通过穷举法破获了其中一轮密钥,也无法根据已知密钥推导出其余轮密钥,也就无法恢复明文数据信息。对应的优势如下:
加密密钥变化:
传统AES算法在进行迭代运算时中的轮密钥是由种子密钥扩展生成的。显然,掌握了种子密钥,也就推导出轮密钥。
但是,若某一轮密钥被穷举破解,也可以由密钥扩展公式得到种子密钥。因此,通过改进AES算法,利用Lorenz混沌系统动态生成密钥,每一轮AES迭代过程中都使用一个新的加密密钥,由此增强了密钥的安全性,提高了算法的抗攻击能力。改进前后的密钥数对比如下表1:
表1算法改进前后生成的加密密钥数对比
混乱性和扩散性分析:
三维Lorenz模型是混沌映射,可以极好地保证各轮子密钥的伪随机性。每次都由用户随机输入三轮初始密钥经过运算后得到Lorenz映射的初始值,因此每轮三维Lorenz映射所用到的初始值均不相同,而混沌又具有对初始值极度敏感的特性,经过迭代后产生的混沌状态值也会出现很大的区别,造成了每次产生的子密钥也均不相同,这种方法彻底打破了子密钥之间彼此相互推导的依赖关系,所以使得AES算法的攻击者即使侥幸得到其中的某一轮子密钥,也不能通过推导得到其他轮的子密钥,进而使得密码分析者难于破解,其随机性、抗破译能力均极大地优于传统的序列密码。
进一步,采用与明文具有相关性的特征作为明文特征集,以此来生成对应的加密密钥可以有效根据明文的特点进行确定对应的加密密钥的生成方式。以真实数据消弭计算机存在的“伪随机”的情况。
如图6所示,本发明的另一方面还提出一种图像加密系统,包括:
混沌序列生成模块1,所述混沌序列生成模块1配置用于基于初始密钥通过三维混沌映射算法获取若干密钥流;
明文特征集生成模块2,所述明文特征集生成模块2配置用于基于图像数据的明文生成明文特征集;
密钥生成模块3,所述密钥生成模块3配置用于基于所述密钥流和明文特征集生成加密密钥;
返回模块4,所述返回模块4配置用于返回所述混沌序列生成模块1直至生成的加密密钥的数量达到预设数量;
数据加密模块5,所述数据加密模块5配置用于将所述预设数量的加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。
如图7所示,本发明的又一方面还提出一种计算机设备,包括:
至少一个处理器2001;以及
存储器2002,所述存储器2002存储有可在所述处理器2001上运行的计算机指令2003,所述指令2003由所述处理器2001执行时实现上述实施方式中任意一项所述方法的步骤。
如图8所示,本发明的再一方面还提出一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (21)
1.一种图像加密方法,其特征在于,包括:
基于初始密钥通过三维混沌映射算法获取若干密钥流;
基于图像数据的明文生成明文特征集;
基于所述密钥流和明文特征集生成加密密钥;
返回执行所述基于初始密钥通过三维混沌映射算法获取若干密钥流的步骤直至生成的加密密钥的数量达到预设数量;
将所述预设数量的加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。
2.根据权利要求1所述的方法,其特征在于,还包括:基于所述若干密钥流生成密钥流矩阵;
所述基于图像数据的明文生成明文特征集的步骤包括:根据所述密钥流矩阵的尺寸将明文构建成明文矩阵。
3.根据权利要求2所述的方法,其特征在于,所述基于所述若干密钥流生成密钥流矩阵的步骤包括:
构建第一预定尺寸的第一矩阵;
将所述若干组密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵。
4.根据权利要求3所述的方法,其特征在于,所述将所述若干组密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵的步骤包括:
将所述若干组密钥流数据按照预定大小切分成多个子密钥流数据;
将所述多个子密钥流数据填充到所述第一矩阵以形成所述密钥流矩阵。
5.根据权利要求4所述的方法,其特征在于,所述根据所述密钥流矩阵的尺寸将明文构建成明文矩阵的步骤包括:
构建第二预定尺寸的第二矩阵;
根据所述密钥流矩阵的行列数分别确定所述密钥流矩阵行数和列数对应的最小二进制数的位数;
将所述密钥流矩阵行数和列数对应的最小二进制数的位数的总和作为所述明文矩阵中的元素的二进制形式的数据位数;
基于所述第二矩阵和所述明文矩阵中的元素的二进制形式的数据位数构建所述明文矩阵。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第二矩阵和所述明文矩阵中的元素的二进制形式的数据位数构建所述明文矩阵的步骤还包括:
根据所述二进制形式的数据位数从所述明文中以二进制的方式读取对应的数据填充到所述第二矩阵中以形成所述明文矩阵。
7.根据权利要求2所述的方法,其特征在于,所述基于所述密钥流和明文特征集生成加密密钥的步骤包括:
生成与所述明文矩阵同样大小的目标密钥矩阵;
将所述明文矩阵中的元素拆分成第一元素和第二元素;
将第一元素的二进制数值和第二元素的二进制数值分别作为横坐标和纵坐标从所述密钥流矩阵中选择对应的密钥数据;
将选择的所述密钥数据填充到与所述明文矩阵中的元素位置对应的目标密钥矩阵中的位置。
8.根据权利要求7所述的方法,其特征在于,所述将所述明文矩阵中的元素拆分成第一元素和第二元素的步骤包括:
根据所述密钥流矩阵的横向长度和纵向长度确定所述第一元素和第二元素对应的位数;
基于所述第一元素和第二元素对应的位数将所述明文矩阵中的元素拆分成第一元素和第二元素。
9.根据权利要求8所述的方法,其特征在于,所述基于第一元素和第二元素对应的位数将所述明文矩阵中的元素拆分成第一元素和第二元素的步骤包括:
按照从低位到高位或从高位到低位的取数顺序,基于所述第一元素的和第二元素的位数从所述明文矩阵中的元素中取出第一元素和第二元素。
10.根据权利要求7所述的方法,其特征在于,所述基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
响应于所述目标密钥矩阵填充完成,将所述目标密钥矩阵中的元素按照矩阵的正序拼接成加密密钥。
11.根据权利要求10所述的方法,其特征在于,所述基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
响应于完成一次加密密钥的生成,将所述密钥流矩阵中的数据进行一次随机排列并重复所述将所述目标密钥矩阵中的元素按照矩阵的正序拼接成加密密钥的步骤。
12.根据权利要求1所述的方法,其特征在于,所述基于图像数据的明文生成明文特征集的步骤包括:
将所述明文的二进制数除以预定数值的余数作为抽取序数。
13.根据权利要求12所述的方法,其特征在于,所述基于初始密钥通过三维混沌映射算法获取若干密钥流的步骤包括:
基于初始密钥通过三维混沌映射算法生成若干组混沌序列。
14.根据权利要求13所述的方法,其特征在于,所述基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
根据所述抽取序数从每一组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流得到若干组第一预定长度的密钥流。
15.根据权利要求14所述的方法,其特征在于,所述基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
将所述若干组第一预定长度的密钥流进行异或计算并将计算结果作为用于加密明文的加密密钥。
16.根据权利要求15所述的方法,其特征在于,所述基于所述密钥流和明文特征集生成加密密钥的步骤还包括:
每从全部若干组混沌序列中以不放回抽样的方式抽取出第一预定长度的密钥流后,将若干组混沌序列中剩余的序列内容重新随机排列并重复将所述若干组第一预定长度的密钥流进行异或计算并将计算结果作为用于加密明文的加密密钥的步骤。
17.根据权利要求1所述的方法,其特征在于,所述基于初始密钥通过三维混沌映射算法生成若干组混沌序列的步骤包括:
将输入的若干组的初始密钥进行分段。
18.根据权利要求17所述的方法,其特征在于,所述基于初始密钥通过三维混沌映射算法生成若干组混沌序列的步骤还包括:
将分段后的若干组初始密钥代入到三维混沌映射算法得到若干组混沌序列。
19.一种图像加密系统,其特征在于,包括:
混沌序列生成模块,所述混沌序列生成模块配置用于基于初始密钥通过三维混沌映射算法获取若干密钥流;
明文特征集生成模块,所述明文特征集生成模块配置用于基于图像数据的明文生成明文特征集;
密钥生成模块,所述密钥生成模块配置用于基于所述密钥流和明文特征集生成加密密钥;
返回模块,所述返回模块配置用于返回所述混沌序列生成模块直至生成的加密密钥的数量达到预设数量;
数据加密模块,所述数据加密模块配置用于将预设数量的加密密钥输入到高级加密标准算法对所述图像数据进行加密并通过网络发出。
20.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-18任意一项所述方法的步骤。
21.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-18任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311095499.4A CN117135291A (zh) | 2023-08-29 | 2023-08-29 | 一种图像加密方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311095499.4A CN117135291A (zh) | 2023-08-29 | 2023-08-29 | 一种图像加密方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117135291A true CN117135291A (zh) | 2023-11-28 |
Family
ID=88862432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311095499.4A Pending CN117135291A (zh) | 2023-08-29 | 2023-08-29 | 一种图像加密方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117135291A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117676562A (zh) * | 2024-01-31 | 2024-03-08 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种数据安全通信方法 |
-
2023
- 2023-08-29 CN CN202311095499.4A patent/CN117135291A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117676562A (zh) * | 2024-01-31 | 2024-03-08 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种数据安全通信方法 |
CN117676562B (zh) * | 2024-01-31 | 2024-05-10 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种数据安全通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10951392B2 (en) | Fast format-preserving encryption for variable length data | |
US7346160B2 (en) | Randomization-based encryption apparatus and method | |
Ali et al. | A novel improvement with an effective expansion to enhance the MD5 hash function for verification of a secure E-document | |
US11381394B2 (en) | High speed encryption key generating engine | |
US8180048B2 (en) | Method and system for computational transformation | |
US20190140819A1 (en) | System and method for mekle puzzles symeteric key establishment and generation of lamport merkle signatures | |
CN110795762A (zh) | 基于流密码的保留格式加密方法 | |
CN111010266B (zh) | 消息的加解密、读写方法、装置、计算机设备和存储介质 | |
CN114175572A (zh) | 利用拟群运算对加密数据实行相等和小于运算的系统和方法 | |
CN117135291A (zh) | 一种图像加密方法、系统、设备及介质 | |
Marzan et al. | An enhanced key security of Playfair cipher algorithm | |
CN113098675B (zh) | 基于多项式完全同态的二进制数据加密系统及方法 | |
CN116418481A (zh) | 一种文本隐私数据双重加密保护方法、装置及设备 | |
US9391770B2 (en) | Method of cryption | |
CN112100144A (zh) | 区块链文件共享方法、装置、存储介质及电子设备 | |
Achkoun et al. | SPF-CA: A new cellular automata based block cipher using key-dependent S-boxes | |
CN110889695A (zh) | 基于安全多方计算保存和恢复隐私数据的方法和装置 | |
Cortez et al. | Cryptanalysis of the Modified SHA256 | |
Sanober et al. | Crytographical primitive for blockchain: a secure random DNA encoded key generation technique | |
CN115766244A (zh) | 车联网信息加密方法、装置、计算机设备和存储介质 | |
Jain et al. | Honey2fish-a hybrid encryption approach for improved password and message security | |
KR101105384B1 (ko) | 키 암호화 및 셔플링이 적용된 부채널 공격에 안전한 키 관리방법 | |
Kothandan | Modified Blowfish Algorithm to Enhance its Performance and Security | |
Sharma et al. | Comparative analysis of block key encryption algorithms | |
Appaji et al. | Recent Advancements on symmetric cryptography techniques-A comprehensive Case Study |
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 |