CN108124076A - 基于异构混沌和keccak哈希函数的图像加密方法 - Google Patents
基于异构混沌和keccak哈希函数的图像加密方法 Download PDFInfo
- Publication number
- CN108124076A CN108124076A CN201711222578.1A CN201711222578A CN108124076A CN 108124076 A CN108124076 A CN 108124076A CN 201711222578 A CN201711222578 A CN 201711222578A CN 108124076 A CN108124076 A CN 108124076A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- pixel
- plane
- pixels
- 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 44
- 230000006870 function Effects 0.000 title abstract description 20
- 238000006467 substitution reaction Methods 0.000 claims abstract description 6
- 230000000739 chaotic effect Effects 0.000 claims description 55
- 238000009792 diffusion process Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 2
- 108020004705 Codon Proteins 0.000 abstract 2
- 238000004422 calculation algorithm Methods 0.000 description 28
- 238000006073 displacement reaction Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000035945 sensitivity Effects 0.000 description 6
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000006185 dispersion Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 238000010219 correlation analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 101150023426 Ccin gene Proteins 0.000 description 1
- 108091028043 Nucleic acid sequence Proteins 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005183 dynamical system Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000000844 transformation Methods 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/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32267—Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
- H04N1/32272—Encryption or ciphering
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
本发明公开了基于异构混沌和keccak哈希函数的图像加密方法,将待加密图像的所有图像像素作为keccak哈希函数的输入值,输出值分别作为超混沌Lorenz系统和超混沌Chen系统的初始值,分别得到第一混沌序列和第二混沌序列;将待加密图像由二维图像扩展到三维空间;将第一混沌序列和第二混沌序列进行迭代产生伪随机序列,然后对伪随机序列进行变换,得到用于扰乱像素的位置坐标;根据第一混沌序列构建密码置换盒S‑Box,然后根据密码置换盒S‑Box输出值选择三维空间的三种加密策略的执行顺序;进行迭代设定次数,最后将图像从三维空间重构成二维图像,得到加密后的图像。
Description
技术领域
本发明涉及基于异构混沌和keccak哈希函数的图像加密方法。
背景技术
随着互联网的快速发展和智能手机的普及,用户的安全和隐私受到越来越多的威胁。在云存储时代,图像的安全性越来越重要。考虑到数据量大和相邻像素间相关性强的特征,传统的加密方法并不适用于图像加密。并且,云计算和大数据分析等新技术的应用,使得原有的加密算法很容易被破解。因此,有必要研究新型的安全密码体制,以适应当今时代的安全要求。
混沌映射是一个复杂的非线性动力学系统。由于具有周期性、对初始条件敏感、伪随机序列的随机性好等特征,在图像加密领域得到了广泛的应用。到目前为止,基于混沌的图像加密算法已经引起了很多学者的关注,一些基本的理论成果也逐渐成熟。Rothenfluh等人提出了一种基于二维逻辑混沌的数字图像加密方案;Guesmi等人提出了一种基于DNA序列掩蔽操作和Lorenz系统的彩色图像加密方案;王等人利用两种复杂的混沌系统:复杂Chen和复杂Lorenz系统,研究了一种新的混合彩色图像加密算法;李用二维的Henon映射设计了一种新的高级加密标准方案。Norouzi等人研究了基于超混沌系统的两种不同的图像加密算法。Zhu提出了一种基于改进的超混沌序列的图像加密方案。与低维混沌相比,高维混沌映射,特别是超混沌映射,具有更复杂的结构和更好的混沌性能。由于它们具有更大的密钥空间和更复杂的动态行为,基于超混沌映射的图像加密技术可以获得更高的安全性。而且,多个混沌系统的组合更能抵御常见的已知攻击。
S-box是一个非线性组件,它能使密文不确定。通过这种方式,Hussain等人提出了几种通过使用S-box方法来获得更好的加密效果的密码系统。根据上述发现,S-box也被应用于使用Lorenz混沌伪随机序列来提高加密的安全性。同时,将二维2D图像扩展到三维3D空间,增加了算法的空间复杂度。
在理论上,一次性密钥是一种无条件安全的加密方案。但是它不适用于图像加密,因为密钥流至少需要等于加密信息的长度。
发明内容
为了解决现有技术的不足,本发明提供了基于异构混沌和keccak哈希函数的图像加密方法,其具有使密文更加混乱和不可预测;
基于异构混沌和keccak哈希函数的图像加密方法,包括:
步骤(1):将待加密图像的所有图像像素作为keccak哈希函数的输入值,输出值分别作为超混沌Lorenz系统和超混沌Chen系统的初始值,分别得到第一混沌序列和第二混沌序列;
步骤(2):将待加密图像由二维图像扩展到三维空间;
步骤(3):将第一混沌序列和第二混沌序列进行迭代产生伪随机序列,然后对伪随机序列进行变换,得到用于扰乱像素的位置坐标;
步骤(4):根据第一混沌序列构建密码置换盒S-Box,然后根据密码置换盒S-Box输出值选择三维空间的三种加密策略的执行顺序;每种加密策略均包括:
将用于扰乱像素的位置坐标所决定的平面与三维空间中的任一平面进行对调;
然后将对调后的每个平面的每一行像素与其平面自身竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;得到的平面再与二维随机像素平面进行异或;
步骤(5):对步骤(4)进行迭代设定次数,最后将图像从三维空间重构成二维图像,得到加密后的图像。
所述步骤(1)的步骤为:将待加密图像的所有图像像素作为keccak哈希函数的输入值,输出值为二进制数据,将所述二进制数据转换为十六进制数据H;将十六进制数据H的每12个哈希值作为一个密钥处理,得到八个值u01,u02,u03,u04,u05,u06,u07,c2;
将u01,u02,u03,u04作为超混沌Lorenz系统的初始值,输出混沌序列是Lx、Ly、Lz和Lw;
将u05,u06,u07作为超混沌Chen系统的初始值,将c2作为超混沌Chen系统的控制参数,超混沌Chen系统的输出混沌序列是Cx、Cy和Cz。
所述将十六进制数据H的每12个哈希值作为一个密钥处理,得到八个值u01,u02,u03,u04,u05,u06,u07,c2,是指:
将u01,u02,u03,u04作为超混沌Lorenz系统的初始值,将u05,u06,u07作为超混沌Chen系统的初始值,将c2作为超混沌Chen系统的控制参数;Double表示取值为双精度值;hex2dec是将二进位转换为10进位;H(1:12)取十六进制数串的第1至12位。
所述步骤(2):
扩展满足条件:3×m×n=M×N×H;
其中,3表示待加密图像的三个通道、m为待加密图像长的像素点数、n为待加密图像宽的像素点数、M表示三维空间的长、N表示三维空间的宽、H表示三维空间的高;
首先,将3×m×n转换成以底数2连乘的形式;
然后,根据超混沌Chen系统生成的混沌序列中的任意两个将以底数2连乘的形式拆分成三部分;
最后,通过计算每一部分质数相乘的乘积,第一部分质数相乘的乘积为M;第二部分质数相乘的乘积为N,第三部分质数相乘的乘积为H。
步骤(3):将超混沌Lorenz系统得到的混沌序列与超混沌Chen系统得到的混沌序列进行迭代,产生7个伪随机序列:Cx,Cy,Cz,Lx,Ly,Lz,Lw,经过变换,得到用于扰乱像素的位置坐标;
所述步骤(3)经过变换:
cx(i)=Cx(i)×1014modM,cy(i)=Cy(i)×1014modN,cz(i)=Cz(i)×1014modH,
lxm(i)=Lx(i)×1014modM,lxn(i)=Lx(i)×1014modN,lxh(i)=Lx(i)×1014modH,
lym(i)=Ly(i)×1014modM,lyn(i)=Ly(i)×1014modN,lyh(i)=Ly(i)×1014modH,
lzm(i)=Lz(i)×1014modM,lzn(i)=Lz(i)×1014modN,lzh(i)=Lz(i)×1014modH.
其中,
cx(i)表示待加密图像由二维图像扩展到三维空间后的像素的x坐标;
cy(i)表示待加密图像由二维图像扩展到三维空间后的像素的y坐标;
cz(i)表示待加密图像由二维图像扩展到三维空间后的像素的z坐标;
lxm(i)表示第一组置乱三维空间的像素的x坐标;
lym(i)表示第一组置乱三维空间的像素的y坐标;
lzm(i)表示第一组置乱三维空间的像素的z坐标;
lxn(i)表示第二组置乱三维空间的像素的x坐标;
lyn(i)表示第二组置乱三维空间的像素的y坐标;
lzn(i)表示第二组置乱三维空间的像素的z坐标;
lxh(i)表示第三组置乱三维空间的像素的x坐标;
lyh(i)表示第三组置乱三维空间的像素的y坐标;
lzh(i)表示第三组置乱三维空间的像素的z坐标;
当mod代表模运算。
步骤(4):平面对调有三种排列方式:
方式一:
方式二:
方式三:
其中,表示由三维空间中像素的x坐标cx(i)决定的平面与由第一组置乱三维空间的像素的x坐标lxm(i)决定的平面的像素值进行对调;
表示由三维空间中像素的y坐标cy(i)决定的平面与由第二组置乱三维空间的像素的y坐标lyn(i)决定的平面的像素值进行对调;
表示由三维空间中像素的z坐标cz(i)决定的平面与由第三组置乱三维空间的像素的z坐标lzh(i)决定的平面的像素值进行对调;
表示由三维空间中像素的x坐标cx(i)决定的平面与由第一组置乱三维空间的像素的y坐标lym(i)决定的平面的像素值进行对调;
表示由三维空间中像素的y坐标cy(i)决定的平面与由第二组置乱三维空间的像素的z坐标lzn(i)决定的平面的像素值进行对调;
表示由三维空间中像素的z坐标cz(i)决定的平面与由第三组置乱三维空间的像素的x坐标lxh(i)决定的平面的像素值进行对调;
表示由三维空间中像素的x坐标cx(i)决定的平面与由第一组置乱三维空间的像素的z坐标lzm(i)决定的平面的像素值进行对调;
表示由三维空间中像素的y坐标cy(i)决定的平面与由第二组置乱三维空间的像素的x坐标lxn(i)决定的平面的像素值进行对调;
表示由三维空间中像素的z坐标cz(i)决定的平面与由第三组置乱三维空间的像素的y坐标lyh(i)决定的平面的像素值进行对调。
所述二维随机像素平面的生成过程为:
在扩散过程中,由7个伪随机序列产生一个组合混沌序列;利用组合混沌序列构造二维随机像素平面:MN(i),NH(i),MH(i),其中,MN(i)相当于x-y平面,NH(i)相当于y-z平面,MH(i)相当于x-z平面,i={0,1,2,3,4,5},然后在每个像素与其高度方向上相邻像素之间进行异或XOR操作。
所述二维随机像素平面的生成过程为:
在扩散过程中,由7个伪随机序列产生一个组合混沌序列;
假设7个伪随机序列为Si(t),i=1,2,...7,t=1,2,...,N,其中,N为整数,则组合混沌序列为S1(1),S2(1),...,S7(1),S1(2),S2(2),...,S7(2),S1(3),S2(3),...,S7(3),...,S1(N),S2(N),...,S7(N)。
按照组合混沌序列的顺序构建18个二维随机像素平面,分别为:
MN(0),MN(1),…,MN(5),NH(0),NH(1),…,NH(5),MH(0),MH(1),…NH(5),
其中,MN(i)相当于x-y平面,NH(i)相当于y-z平面,MH(i)相当于x-z平面,i={0,1,2,3,4,5}。
所述三种加密策略,包括:第一加密策略、第二加密策略和第三加密策略。
所述第一加密策略是指:
公式(7)表示:
首先,将由三维空间中像素的x坐标cx(i)决定的y-z平面的像素值与由第一组置乱三维空间的像素的x坐标lxm(i)决定的y-z平面的像素值进行对调;
然后把由三维空间中像素的x坐标cx(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
由第一组置乱三维空间的像素的x坐标lxm(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
第二,将由三维空间中像素的y坐标cy(i)决定的x-z平面的像素值与由第二组置乱三维空间的像素的y坐标lyn(i)决定的x-z平面的像素值进行对调;
然后把由三维空间中像素的y坐标cy(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
由第二组置乱三维空间的像素的y坐标lyn(i)决定的x-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
第三,将由三维空间中像素的z坐标cz(i)决定的x-y平面的像素值与由第三组置乱三维空间的像素的z坐标lzh(i)决定的x-y平面的像素值进行对调;
然后把三维空间中像素的z坐标cz(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
由第三组置乱三维空间的像素的z坐标lzh(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或。
所述第二加密策略是指:
公式(8)表示:
首先,将由三维空间中像素的x坐标cx(i)决定的y-z平面的像素值与由第一组置乱三维空间的像素的y坐标lym(i)决定的x-z平面的像素值进行对调;
然后把由三维空间中像素的x坐标cx(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
由第一组置乱三维空间的像素的y坐标lym(i)决定的x-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
第二,将由三维空间中像素的y坐标cy(i)决定的x-z平面的像素值与由第二组置乱三维空间的像素的z坐标lzn(i)决定的x-y平面的像素值进行对调;
然后把由三维空间中像素的y坐标cy(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
由第二组置乱三维空间的像素的z坐标lzn(i)决定的x-y平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
第三,将由三维空间中像素的z坐标cz(i)决定的x-y平面的像素值与由第三组置乱三维空间的像素的x坐标lxh(i)决定的y-z平面的像素值进行对调;
然后把三维空间中像素的z坐标cz(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
由第三组置乱三维空间的像素的x坐标lxh(i)决定的y-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或。
所述第三加密策略是指:
公式(9)表示:
首先,将由三维空间中像素的x坐标cx(i)决定的y-z平面的像素值与由第一组置乱三维空间的像素的z坐标lzm(i)决定的x-y平面的像素值进行对调;
然后把由三维空间中像素的x坐标cx(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
由第一组置乱三维空间的像素的z坐标lzm(i)决定的x-y平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
第二,将由三维空间中像素的y坐标cy(i)决定的x-z平面的像素值与由第二组置乱三维空间的像素的x坐标lxn(i)决定的y-z平面的像素值进行对调;
然后把由三维空间中像素的y坐标cy(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
由第二组置乱三维空间的像素的x坐标lxn(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
第三,将由三维空间中像素的z坐标cz(i)决定的x-y平面的像素值与由第三组置乱三维空间的像素的y坐标lyh(i)决定的x-z平面的像素值进行对调;
然后把三维空间中像素的z坐标cz(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
由第三组置乱三维空间的像素的y坐标lyh(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或。
所述步骤(4)通过公式(10)用Lw(i)序列构建S-Box,
l(i)=Lw(i)×1014mod6, (10)
其中,mod6表示按6取模;
利用式(10)产生的混沌序列l(i)随机选择一个顺序来完成置换和扩散。
步骤(5):迭代步骤(4)k次,将图像从3D重构成2D,最后得到加密后的图像。
与现有技术相比,本发明的有益效果是:
本发明采用Lorenz超混沌映射和Chen系统共同构建加密系统。本发明设计了一个更复杂的置换扩散模型,即将R,G,B通道混淆在一起,在排列和扩散过程中交替进行。上述方法使密文更加混乱和不可预测。此外,本发明还采取了一些措施来提高加密速度,使得算法在实时加密中变得可行。安全性和性能的分析表明,本发明提出的加密方案具有更好的性能,适合于图像加密。
本发明设计了一个等效替代方案来实现一次性密钥的效果。哈希函数具有单向和雪崩效应,它可以为两个输入生成两个完全不同的哈希值,且只有细微差别。本发明介绍了最新的哈希标准keccak,它以全明文作为输入,可以生成作为混沌系统初始条件和参数的哈希值。混沌系统的迭代可以产生一次性密钥流,keccak哈希函数和混沌系统的灵敏度可以保证一次性密钥的效果。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为加密的过程;
图2为生成M,N和H的过程;
图3(a)-图3(c)为图像的加密解密过程;
图4(a)为由右密钥K的解密图像;
图4(b)为用K′的错误解密结果;
图4(c)为由K和K′加密的两个图像的差异显示在中;
图5(a)-图5(f)为各通道中原始和加密的Lena图像的直方图;
图6(a)-图6(f)在水平方向上相邻像素之间的灰度分散图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本发明使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
SHA-3
哈希函数是一个压缩映射函数,它可以将任何长度的信息压缩到一个固定长度。它可用于伪随机数的生成和认证加密领域。2004年,王小云给出了MD-5算法[Norouzi B,Seyedzadeh S M,Mirzakuchaki S,Mosavi M R.A novel image encryption based onhash function with only two-round diffusion process.Multimedia Systems,2014,20(1):45-64]的一个碰撞实例,后来她证明SHA-1在理论上可以被破解[Wang X Y,Yu HB.How to break MD5and other hash functions.In:Cramer R L(ed.),EUROCRYPT2005.vol.3494,pp.19-35.Springer,Heidelberg,2005];因此,我们应该避免在一些安全性要求高的领域使用这些算法。
NIST宣布名为SHA-3的keccak哈希函数算法成为2012年的最新标准。理想情况下,可以证明哈希值的结果与随机序列不可区分。KECCAK哈希函数的时间性能在硬件实现上优越是由于基于比特级的操作。由于独特的海绵结构,包括两个过程(吸收和挤压),SHA-1和SHA-2的一些攻击方法和分析工具对SHA-3很少或没有影响。Keccak算法具有很强的抵抗原始图像攻击、碰撞攻击和差分攻击的能力[Wang X Y,Yin Y L,Yu H B.Findingcollisions in the full SHA-1.In:Shoup V(ed.),CRYPTO 2005.vol.3621,pp.17-36.Springer,Heidelberg,2005]。
Keccak的核心是一组名为keccak-f[b]的五种排列组合,其中b=1600bit。在keccak-f[1600]内部,所有的处理操作都在5×5×64的3D空间中进行。每个循环函数包含5个变换,包括线性混合层(θ),层间和层内分散步骤(ρ,π),非线性层(χ)和附加的循环常数(τ):
该变换具有良好的扩散效应,因为XOR运算在每个比特和它相邻的左右列值之间;
其中t是由x和y决定的,满足条件
并且这个变换函数是一个比特沿着z方向循环移位;
π:a[x][y][z]←a[x′][y′][z],
当
它可以通过使用特定的矩阵将每个比特映射到新的位置,并使每个比特在x-y平面上改变位置;
置换是一个非线性变换,通过Λ操作实现,实现了一个比特沿x方向的位移;
τ:a[0][0][z]←a[0][0][z]+RC[],
经过上述4个步骤后,该过程添加一个64位常量来破坏3D数组的原始对称性。
经过24轮迭代运算和几次压缩过程,我们可以得到相应的哈希结果。本发明以全明文为输入,以SHA-3作为混沌系统的初始条件和参数,生成伪随机哈希值。一次性密钥的效果因一次性键实现。
2.2混沌系统的描述
2008年,作者构建了超混沌Lorenz系统[Bertoni G,Daemen J,Peeters M,VanG.The Keccak SHA-3submission.Medicus,2011,134(3):1493-1498]:
其中a1,b1,c1和r是系统参数。当a1=10,b1=8/3,c1=28和r=-1,系统的Lyapunov指数谱是λ1=0.3381,λ2=0.1586,λ3=0,λ4=-15.1725,系统(1)是超混沌的,可以得到四个混沌序列[18]。
另一个著名的混沌系统叫Chen系统,描述如下[Wang X Y,Wang M J.A hyper-chaos generated from Lorenz system.Physica A,2008,387(14):3751-3758]:
a2,b2,和c2是参数。参数和初始值的微小变化会极大地影响系统的行为,a2=35,b2=3,c2∈[20,28.4],系统(2)是混沌的,可以产生三个伪随机序列[Li M D,Shao P L,Li XL,A short review on SHA-3winner:keccak.Journal of Beijing Electronic Scienceand Technology Institute,2013,21(2):18-23]。
3加密算法的描述
在这一节中,我们提出的算法的目的是通过在三个通道中混淆不同的位置和隐藏像素值。一般情况下,我们假设彩色图像的大小和像素的取值范围是从0到255。为了提高图像加密的效果,采取了一些措施,如两个混沌系统,SHA-3,S-Box和置换扩散的复杂模型等。加密的过程如图1所示。
以下是所提出的加密算法的细节:
步骤1:将所有的图像像素作为输入,KECCAK哈希函数可以生成384位的二进制数据,并将其转换为十六进制数:H。有8个值,包括超混沌Lorenz系统的初始值:u01,u02,u03,u04和Chen系统的初始值和控制参数:u05,u06,u07和c2。根据公式(3),H的每12个哈希值被作为一个密钥处理:
步骤2:将二维图像扩展到三维空间,满足条件:3×m×n=M×N×H。生成M,N和H的过程显示在图2中。假设m=256,n=256,首先,它们将被转换成质数相乘的形式。然后,由Chen混沌系统生成的两个随机值可以将质数相乘的形式分成三部分。最后,我们可以得到M,N和H作为三维空间的大小。混沌系统的迭代可以产生7个伪随机序列:Cx,Cy,Cz,Lx,Ly,Lz,Lw,经过变换,我们可以得到可用的数据来扰乱像素的位置:
cx(i)=Cx(i)×1014modM,cy(i)=Cy(i)×1014modN,cz(i)=Cz(i)×1014modH,
lxm(i)=Lx(i)×1014modM,lxn(i)=Lx(i)×1014modN,lxh(i)=Lx(i)×1014modH,
lym(i)=Ly(i)×1014modM,lyn(i)=Ly(i)×1014modN,lyh(i)=Ly(i)×1014modH,
lzm(i)=Lz(i)×1014modM,lzn(i)=Lz(i)×1014modN,lzh(i)=Lz(i)×1014modH.
当i∈[0,1/3max(M,N,H)),mod代表模运算。
步骤3:有三种排列方式:
每一种方法包含三个不同平面的平面位移。例如,表示由cx(i)和lxm(i)决定的两个y-z平面上的位移;表示由cy(i)和lyn(i)确定两个x-z平面上的位移;表示由cz(i)和lzh(i)确定两个x-y平面上的位移。
步骤4:在扩散过程中,组合混沌序列的值是在7个伪随机序列中选择的。利用组合序列构造二维随机像素平面:MN(i),NH(i),MH(i),i={0,1,2,3,4,5}相当于x-y,y-z,x-z,每个平面上的像素值都不同。然后在每个像素与其相邻像素之间进行XOR操作。同时,在一个明文平面上的XOR运算保持在相应的二维随机平面上。
步骤5:采用置换与扩散的交替模式对图像进行加密,每一轮包括以下三个方面:
然后,通过公式(10)用Lw(i)序列构建
S-Box,l(i)=Lw(i)×1014mod6, (10)
基于上述三种情况的自由排列,作者可以在一轮中实现六个顺序,并基于l(i)随机选择一个顺序来完成排列和扩散。
步骤6:迭代5次,将图像从3D重构成2D,最后得到加密后的图像。
解密是加密的逆过程。按照这些步骤即将S-Box转换成逆S-Box,置换扩散顺序变成扩散置换,平面转换顺序由y-z,x-z,x-y变为x-y,x-z,y-z,我们可以得到解密后的图像。图像的加密解密过程如图3所示。
4安全和性能分析
一个好的图像加密算法应该能够抵御各种已知的攻击,如暴力攻击,统计攻击和选择明文/密文攻击。为了分析所提出的加密方案的安全性和性能,我们选择了五个标准的256×256×3彩色图像进行模拟实验。在这一部分,我们研究了密钥空间、密钥敏感度、直方图、相邻像素相关系数、信息熵、抵抗差分攻击能力和执行时间运行速度的结果。
4.1密钥空间分析
一般来说,密钥越多意味着密钥空间越大。在所提出的密码系统中,我们使用两个复杂的混沌系统来扩大密钥空间。密钥包括由384位二进制数据确定的u01,u02,u03,u04,u05,u06,u07的初始值和c2的控制参数。因此,总的密钥空间大小为2384>>2100,并且有足够大的密钥空间来承受强力攻击。
4.2密钥安全性分析
一个好的加密系统应该对安全密钥的变化非常敏感。一位原始密钥的改变可以准确的产生与正确的加密图像完全不同的另一加密图像。也可以这样说,虽然与正确的密钥只有细微的差别,但我们不能用错误的密钥来恢复原始的图像。为了说明加密方案的密钥敏感度,作者将通过K和K′来观察加密和解密在Lena图像中的实验效果。K′是从右密钥K导出的,具体的差异如下所示:
K='de5b3a09ed3502b502……4d5efb5f1574a48ad9fc1f0',
K′='de5b3a09ed3502b502……4d5efb5f1574a48ad9fc1f1'.
图4(a)显示了由右密钥K的解密图像,图4(b)展示了用K′的错误解密结果。同时,由K和K′加密的两个图像的差异显示在图4(c)中。可以看出,我们的加密方案对加密和解密过程中的密钥都非常敏感。
4.3直方图分析
图像的直方图显示了像素值的分布,是验证算法加密效果的重要手段。一个好的图像算法应该使得密码图像的直方图尽可能的平坦。为了抵抗潜在的统计攻击,必须消除加密图像与原始图像之间的任何统计相关性。
图5(a)-图5(f)显示了各通道中原始和加密的Lena图像的直方图。如图5(a)、图5(b)和图5(c)中所示,普通图像的像素值集中在一些灰度级上,使得直方图不均匀。但在图5(d)、图5(e)和图5(f),它们覆盖了所有的灰度级,表现出了明显的均匀性和随机性。显然,我们提出的算法可以保证很高的安全性,使得攻击者不能通过统计分析得到任何有用的信息。
4.4信息熵分析
信息熵是衡量密码系统随机性最突出的特征,由Claude E.Shannon于1949年提出。计算公式由公式(11)给出:
其中P(si)是si的发生概率,M是信息源的总状态,信息源的取值范围是0到255。对于理想的随机加密图像,熵的理论值为H(m)=8。它越接近8,攻击者解密图像的可能性就越小。表1显示了R、G、B组件中不同图像的信息熵,并提供了与其它加密算法的比较结果。熵的值更接近理想值8。这意味着加密过程中的信息泄露是可以忽略的,并且加密系统可以抵抗熵攻击。
表1 R、G、B组件中不同图像的信息熵
4.5相关分析
在图像处理中,通常采用相关分析来研究两个相邻像素之间的关系。一个安全的加密算法应该将原始图像转换成相邻像素间相关性低或不相关的加密图像。在图6(a)-图6(f)中显示了在水平方向上相邻像素之间的灰度分散图,该图揭示了平面图像中的强相关性。对于攻击者来说,这个特征常常被用来进行统计密码分析。
因此,一个安全的密码系统应该能够打破这个特性。理论上相邻像素的相关系数(CC)应为0。此外,我们使用以下公式计算每对的CC:
其中x和y是两个相邻像素的值,并且
随机地,我们从不同的图像分别选择三个方向上的3000对相邻像素。进行30次测试,记录每组的平均值。结果如表2所测。经计算,在水平、垂直和对角线上,密码的平均相关系数分别为0.0023,0.0013和0.0012。同时,与其它算法的对比测试结果也显示在表2中。考虑到CC的值,在大多数情况下,我们提出的算法表现出比其它方案更好的性能。表明该算法对统计攻击具有较高的安全性。
4.6差分攻击
差分攻击是破解加密方案的有效方法。普通图像中的一个小的变化可能导致密码图像发生很大的变化。在不失一般性的情况下,应用像素数目变化率(NPCR)和统一平均变化强度(UACI)的标准来评估密码系统的抗差错攻击能力。他们是通过下面进行计算的:
表2 Theaverage values of adjacent pixel’s CCin three channels
其中C1和C2是两个密码图像,它们对应的纯图像只有一个像素不同;M和N分别是加密图像的宽度和高度。D(i,j)是由C1(i,j)和C2(i,j)决定的,即,如果C1(i,j)=C2(i,j),D(i,j)=0;否则,D(i,j)=1。NPCR和UACI的理想值是99.6094%和33.4635%[24]。我们随机的改变原始明文中的一个像素值(像素值加1),不同图像的得分列于表3中。从仿真结果可以看出,我们提出的算法在NPCR≈99.6020%和UACI≈33.4637%接近理想值的情况下达到了令人满意的性能。因此,所提出的密码系统能很好的抵抗已知明文和所选明文攻击。
表3 TheNPCR and UACI values
4.7速度性能
在本节中,我们将讨论所提出的算法的速度性能。开发环境为64位UltimateWindows7系统,2.00GB RAM,Intel(R)Core(TM)Duo CPU E4500@2.20GHz,2.19GHz和MatlabR2012a。表4中列出了我们提出的算法的平均执行时间。如表4所示,速度性能不是很理想,因为高阶或超混沌系统比低阶系统需要更多的执行时间来产生相同长度的混沌序列。在复杂的Chen和超Lorenz系统中,虽然产生混沌序列的计算成本较高,但是加密系统的安全性比其它方案要高。在第3节,第2步和第4步,作者还做了一些优化,以重用混沌序列。例如,每一轮中有三个平面位移,一个2D混沌像素平面也可以随机加密几个明文平面。如果作者不采用这种技术,最大执行时间可以达到6.2546s。在表4中,当前程序的执行时间是可以接受的。
表4 Encryption speed of different algorithms
5结论
本发明设计了一种基于SHA-3和多混沌系统的彩色图像加密算法。机密的384位伪随机哈希密钥由KECCAK哈希函数产生,被认为是Chen混沌和超混沌Lorenz系统的初始值。由于SHA-3和两个复杂混沌系统的敏感性,一次性密钥的效果可以得到保证。利用组合混沌序列,在三维空间中进行复杂的置换扩散处理等,大大提高了加密系统的复杂度。为了提高运行速度,每轮有3个平面位移,一个组合混沌序列可以随机加密几个明文平面。安全性和性能分析表明,加密方案具有较高的敏感度和较大的密钥空间。信息熵接近8,任意两个相邻点之间的相关性接近0,NPCR和UACI测试时是理想的。因此,我们提出的算法是一个高安全的彩色图像密码系统。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.基于异构混沌和keccak哈希函数的图像加密方法,其特征是,包括:
步骤(1):将待加密图像的所有图像像素作为keccak哈希函数的输入值,输出值分别作为超混沌Lorenz系统和超混沌Chen系统的初始值,分别得到第一混沌序列和第二混沌序列;
步骤(2):将待加密图像由二维图像扩展到三维空间;
步骤(3):将第一混沌序列和第二混沌序列进行迭代产生伪随机序列,然后对伪随机序列进行变换,得到用于扰乱像素的位置坐标;
步骤(4):根据第一混沌序列构建密码置换盒S-Box,然后根据密码置换盒S-Box输出值选择三维空间的三种加密策略的执行顺序;每种加密策略均包括:
将用于扰乱像素的位置坐标所决定的平面与三维空间中的任一平面进行对调;
然后将对调后的每个平面的每一行像素与其平面自身竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;得到的平面再与二维随机像素平面进行异或;
步骤(5):对步骤(4)进行迭代设定次数,最后将图像从三维空间重构成二维图像,得到加密后的图像。
2.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述步骤(1)的步骤为:将待加密图像的所有图像像素作为keccak哈希函数的输入值,输出值为二进制数据,将所述二进制数据转换为十六进制数据H;将十六进制数据H的每12个哈希值作为一个密钥处理,得到八个值u01,u02,u03,u04,u05,u06,u07,c2;
将u01,u02,u03,u04作为超混沌Lorenz系统的初始值,输出混沌序列是Lx、Ly、Lz和Lw;
将u05,u06,u07作为超混沌Chen系统的初始值,将c2作为超混沌Chen系统的控制参数,超混沌Chen系统的输出混沌序列是Cx、Cy和Cz。
3.如权利要求2所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述将十六进制数据H的每12个哈希值作为一个密钥处理,得到八个值u01,u02,u03,u04,u05,u06,u07,c2,是指:
<mrow>
<mfenced open = '{' close = ''>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>01</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>:</mo>
<mn>12</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>02</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>13</mn>
<mo>:</mo>
<mn>24</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>03</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>25</mn>
<mo>:</mo>
<mn>36</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>04</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>37</mn>
<mo>:</mo>
<mn>48</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>05</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>49</mn>
<mo>:</mo>
<mn>60</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>06</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>61</mn>
<mo>:</mo>
<mn>72</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>u</mi>
<mn>07</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>73</mn>
<mo>:</mo>
<mn>84</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mn>2</mn>
</msub>
<mo>=</mo>
<mi>d</mi>
<mi>o</mi>
<mi>u</mi>
<mi>b</mi>
<mi>l</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>h</mi>
<mi>e</mi>
<mi>x</mi>
<mn>2</mn>
<mi>d</mi>
<mi>e</mi>
<mi>c</mi>
<mo>(</mo>
<mrow>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mrow>
<mn>85</mn>
<mo>:</mo>
<mn>96</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
<mo>/</mo>
<msup>
<mn>2</mn>
<mn>48</mn>
</msup>
<mo>)</mo>
</mrow>
<mo>&times;</mo>
<mn>8</mn>
<mo>+</mo>
<mn>20</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
<mo>;</mo>
</mrow>
将u01,u02,u03,u04作为超混沌Lorenz系统的初始值,将u05,u06,u07作为超混沌Chen系统的初始值,将c2作为超混沌Chen系统的控制参数;Double表示取值为双精度值;hex2dec是将二进位转换为10进位;H(1:12)取十六进制数串的第1至12位。
4.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述步骤(2):
扩展满足条件:3×m×n=M×N×H;
其中,3表示待加密图像的三个通道、m为待加密图像长的像素点数、n为待加密图像宽的像素点数、M表示三维空间的长、N表示三维空间的宽、H表示三维空间的高;
首先,将3×m×n转换成以底数2连乘的形式;
然后,根据超混沌Chen系统生成的混沌序列中的任意两个将以底数2连乘的形式拆分成三部分;
最后,通过计算每一部分质数相乘的乘积,第一部分质数相乘的乘积为M;第二部分质数相乘的乘积为N,第三部分质数相乘的乘积为H。
5.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,步骤(3):将超混沌Lorenz系统得到的混沌序列与超混沌Chen系统得到的混沌序列进行迭代,产生7个伪随机序列:Cx,Cy,Cz,Lx,Ly,Lz,Lw,经过变换,得到用于扰乱像素的位置坐标。
6.如权利要求5所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述步骤(3)经过变换:
cx(i)=Cx(i)×1014modM,cy(i)=Cy(i)×1014modN,cz(i)=Cz(i)×1014modH,
lxm(i)=Lx(i)×1014modM,lxn(i)=Lx(i)×1014modN,lxh(i)=Lx(i)×1014modH,
lym(i)=Ly(i)×1014modM,lyn(i)=Ly(i)×1014modN,lyh(i)=Ly(i)×1014modH,
lzm(i)=Lz(i)×1014modM,lzn(i)=Lz(i)×1014modN,lzh(i)=Lz(i)×1014modH.
其中,
cx(i)表示待加密图像由二维图像扩展到三维空间后的像素的x坐标;
cy(i)表示待加密图像由二维图像扩展到三维空间后的像素的y坐标;
cz(i)表示待加密图像由二维图像扩展到三维空间后的像素的z坐标;
lxm(i)表示第一组置乱三维空间的像素的x坐标;
lym(i)表示第一组置乱三维空间的像素的y坐标;
lzm(i)表示第一组置乱三维空间的像素的z坐标;
lxn(i)表示第二组置乱三维空间的像素的x坐标;
lyn(i)表示第二组置乱三维空间的像素的y坐标;
lzn(i)表示第二组置乱三维空间的像素的z坐标;
lxh(i)表示第三组置乱三维空间的像素的x坐标;
lyh(i)表示第三组置乱三维空间的像素的y坐标;
lzh(i)表示第三组置乱三维空间的像素的z坐标;
当mod代表模运算。
7.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,步骤(4):平面对调有三种排列方式:
方式一:
方式二:
方式三:
其中,表示由三维空间中像素的x坐标cx(i)决定的平面与由第一组置乱三维空间的像素的x坐标lxm(i)决定的平面的像素值进行对调;
表示由三维空间中像素的y坐标cy(i)决定的平面与由第二组置乱三维空间的像素的y坐标lyn(i)决定的平面的像素值进行对调;
表示由三维空间中像素的z坐标cz(i)决定的平面与由第三组置乱三维空间的像素的z坐标lzh(i)决定的平面的像素值进行对调;
表示由三维空间中像素的x坐标cx(i)决定的平面与由第一组置乱三维空间的像素的y坐标lym(i)决定的平面的像素值进行对调;
表示由三维空间中像素的y坐标cy(i)决定的平面与由第二组置乱三维空间的像素的z坐标lzn(i)决定的平面的像素值进行对调;
表示由三维空间中像素的z坐标cz(i)决定的平面与由第三组置乱三维空间的像素的x坐标lxh(i)决定的平面的像素值进行对调;
表示由三维空间中像素的x坐标cx(i)决定的平面与由第一组置乱三维空间的像素的z坐标lzm(i)决定的平面的像素值进行对调;
表示由三维空间中像素的y坐标cy(i)决定的平面与由第二组置乱三维空间的像素的x坐标lxn(i)决定的平面的像素值进行对调;
表示由三维空间中像素的z坐标cz(i)决定的平面与由第三组置乱三维空间的像素的y坐标lyh(i)决定的平面的像素值进行对调。
8.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述二维随机像素平面的生成过程为:
在扩散过程中,由7个伪随机序列产生一个组合混沌序列;利用组合混沌序列构造二维随机像素平面:MN(i),NH(i),MH(i),其中,MN(i)相当于x-y平面,NH(i)相当于y-z平面,MH(i)相当于x-z平面,i={0,1,2,3,4,5},然后在每个像素与其高度方向上相邻像素之间进行异或XOR操作;
所述二维随机像素平面的生成过程为:
在扩散过程中,由7个伪随机序列产生一个组合混沌序列;
假设7个伪随机序列为Si(t),i=1,2,...7,t=1,2,...,N,其中,N为整数,则组合混沌序列为S1(1),S2(1),...,S7(1),S1(2),S2(2),...,S7(2),S1(3),S2(3),...,S7(3),...,S1(N),S2(N),...,S7(N);
按照组合混沌序列的顺序构建18个二维随机像素平面,分别为:
MN(0),MN(1),…,MN(5),NH(0),NH(1),…,NH(5),MH(0),MH(1),…NH(5),
其中,MN(i)相当于x-y平面,NH(i)相当于y-z平面,MH(i)相当于x-z平面,i={0,1,2,3,4,5}。
9.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述三种加密策略,包括:第一加密策略、第二加密策略和第三加密策略;
所述第一加密策略是指:
<mrow>
<mfenced open = '{' close = ''>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>N</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>N</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>7</mn>
<mo>)</mo>
</mrow>
</mrow>
公式(7)表示:
首先,将由三维空间中像素的x坐标cx(i)决定的y-z平面的像素值与由第一组置乱三维空间的像素的x坐标lxm(i)决定的y-z平面的像素值进行对调;
然后把由三维空间中像素的x坐标cx(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
由第一组置乱三维空间的像素的x坐标lxm(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
第二,将由三维空间中像素的y坐标cy(i)决定的x-z平面的像素值与由第二组置乱三维空间的像素的y坐标lyn(i)决定的x-z平面的像素值进行对调;
然后把由三维空间中像素的y坐标cy(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
由第二组置乱三维空间的像素的y坐标lyn(i)决定的x-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
第三,将由三维空间中像素的z坐标cz(i)决定的x-y平面的像素值与由第三组置乱三维空间的像素的z坐标lzh(i)决定的x-y平面的像素值进行对调;
然后把三维空间中像素的z坐标cz(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
由第三组置乱三维空间的像素的z坐标lzh(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
所述第二加密策略是指:
<mrow>
<mfenced open = '{' close = ''>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>N</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>N</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
公式(8)表示:
首先,将由三维空间中像素的x坐标cx(i)决定的y-z平面的像素值与由第一组置乱三维空间的像素的y坐标lym(i)决定的x-z平面的像素值进行对调;
然后把由三维空间中像素的x坐标cx(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
由第一组置乱三维空间的像素的y坐标lym(i)决定的x-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
第二,将由三维空间中像素的y坐标cy(i)决定的x-z平面的像素值与由第二组置乱三维空间的像素的z坐标lzn(i)决定的x-y平面的像素值进行对调;
然后把由三维空间中像素的y坐标cy(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
由第二组置乱三维空间的像素的z坐标lzn(i)决定的x-y平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
第三,将由三维空间中像素的z坐标cz(i)决定的x-y平面的像素值与由第三组置乱三维空间的像素的x坐标lxh(i)决定的y-z平面的像素值进行对调;
然后把三维空间中像素的z坐标cz(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
由第三组置乱三维空间的像素的x坐标lxh(i)决定的y-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
所述第三加密策略是指:
<mrow>
<mfenced open = '{' close = ''>
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>c</mi>
<mi>x</mi>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>N</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>z</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>N</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>m</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>y</mi>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>x</mi>
<mi>n</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>h</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>H</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>&LeftRightArrow;</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>,</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>c</mi>
<mi>z</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>i</mi>
<mi>m</mi>
<mi>g</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>,</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>,</mo>
<msub>
<mi>l</mi>
<mrow>
<mi>y</mi>
<mi>h</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
<mo>&CirclePlus;</mo>
<mi>M</mi>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>9</mn>
<mo>)</mo>
</mrow>
</mrow>
公式(9)表示:
首先,将由三维空间中像素的x坐标cx(i)决定的y-z平面的像素值与由第一组置乱三维空间的像素的z坐标lzm(i)决定的x-y平面的像素值进行对调;
然后把由三维空间中像素的x坐标cx(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
由第一组置乱三维空间的像素的z坐标lzm(i)决定的x-y平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面NH(l)进行异或;
第二,将由三维空间中像素的y坐标cy(i)决定的x-z平面的像素值与由第二组置乱三维空间的像素的x坐标lxn(i)决定的y-z平面的像素值进行对调;
然后把由三维空间中像素的y坐标cy(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
由第二组置乱三维空间的像素的x坐标lxn(i)决定的y-z平面的每一行像素与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MH(l)进行异或;
第三,将由三维空间中像素的z坐标cz(i)决定的x-y平面的像素值与由第三组置乱三维空间的像素的y坐标lyh(i)决定的x-z平面的像素值进行对调;
然后把三维空间中像素的z坐标cz(i)决定的x-y平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或;
由第三组置乱三维空间的像素的y坐标lyh(i)决定的x-z平面的每一行像素值与其竖轴坐标减一的相邻像素进行异或,最后一行像素与第一行像素进行异或;然后,得到的平面再与二维随机像素平面MN(l)进行异或。
10.如权利要求1所述的基于异构混沌和keccak哈希函数的图像加密方法,其特征是,所述步骤(4)通过公式(10)用Lw(i)序列构建S-Box,
l(i)=Lw(i)×1014mod6, (10)
其中,mod6表示按6取模;
利用式(10)产生的混沌序列l(i)随机选择一个顺序来完成置换和扩散;
步骤(5):迭代步骤(4)k次,将图像从3D重构成2D,最后得到加密后的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711222578.1A CN108124076A (zh) | 2017-11-29 | 2017-11-29 | 基于异构混沌和keccak哈希函数的图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711222578.1A CN108124076A (zh) | 2017-11-29 | 2017-11-29 | 基于异构混沌和keccak哈希函数的图像加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108124076A true CN108124076A (zh) | 2018-06-05 |
Family
ID=62228566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711222578.1A Pending CN108124076A (zh) | 2017-11-29 | 2017-11-29 | 基于异构混沌和keccak哈希函数的图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108124076A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245501A (zh) * | 2019-05-10 | 2019-09-17 | 西安理工大学 | 一种基于无穷维超混沌的图像加密方法 |
CN111598842A (zh) * | 2020-04-24 | 2020-08-28 | 云南电网有限责任公司电力科学研究院 | 一种绝缘子缺陷样本生成模型的方法、系统及存储介质 |
CN113364573A (zh) * | 2021-06-11 | 2021-09-07 | 兰州大学 | 基于公钥系统和哈希算法的混沌图像加密及传输方法 |
-
2017
- 2017-11-29 CN CN201711222578.1A patent/CN108124076A/zh active Pending
Non-Patent Citations (1)
Title |
---|
XINGYUAN WANG,ET AL: "A one-time pad color image cryptosystem based on SHA-3 and multiple chaotic systems", 《OPTICS AND LASERS IN ENGINEERING》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245501A (zh) * | 2019-05-10 | 2019-09-17 | 西安理工大学 | 一种基于无穷维超混沌的图像加密方法 |
CN110245501B (zh) * | 2019-05-10 | 2023-03-24 | 西安理工大学 | 一种基于无穷维超混沌的图像加密方法 |
CN111598842A (zh) * | 2020-04-24 | 2020-08-28 | 云南电网有限责任公司电力科学研究院 | 一种绝缘子缺陷样本生成模型的方法、系统及存储介质 |
CN113364573A (zh) * | 2021-06-11 | 2021-09-07 | 兰州大学 | 基于公钥系统和哈希算法的混沌图像加密及传输方法 |
CN113364573B (zh) * | 2021-06-11 | 2023-04-18 | 兰州大学 | 基于公钥系统和哈希算法的混沌图像加密及传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102982499B (zh) | 基于多分数阶混沌系统的彩色图像加密和解密方法 | |
Ghebleh et al. | An image encryption scheme based on irregularly decimated chaotic maps | |
Patidar et al. | A robust and secure chaotic standard map based pseudorandom permutation-substitution scheme for image encryption | |
CN101739695B (zh) | 一种基于三维Arnold映射的图像分组加密方法 | |
Es-Sabry et al. | A new color image encryption algorithm using multiple chaotic maps with the intersecting planes method | |
CN103440613B (zh) | 超混沌Rossler系统的彩色图像加密方法 | |
CN103258312B (zh) | 具有快速密钥流生成机制的数字图像加密方法 | |
Laiphrakpam et al. | Encrypting multiple images with an enhanced chaotic map | |
CN109660696A (zh) | 一种新的图像加密方法 | |
Agrawal et al. | Elliptic curve cryptography with hill cipher generation for secure text cryptosystem | |
Gafsi et al. | High securing cryptography system for digital image transmission | |
CN109361830B (zh) | 一种基于明文的图像加密方法 | |
EP2742644A1 (en) | Encryption and decryption method | |
CN108124076A (zh) | 基于异构混沌和keccak哈希函数的图像加密方法 | |
Sharma et al. | Analysis of AES Encryption with ECC | |
Brindha | Confidentiality, integrity and authentication of DICOM medical images | |
Choi et al. | Color image encryption based on PC-MLCA and 3-D chaotic cat map | |
Farajallah et al. | Efficient image encryption and authentication scheme based on chaotic sequences | |
CN117114959B (zh) | 基于多参数一维混沌系统的秘钥反馈机制的图像加密方法 | |
CN103258313A (zh) | 基于Hénon映射与魔方变换的图像加密方法 | |
AbuTaha et al. | Chaos-based cryptosystems using dependent diffusion: An overview | |
CN116996626A (zh) | 基于混沌系统的双量子图像加密方法 | |
Mohammed et al. | Image Encryption in IOT Using Hyper-chaotic System. | |
CN106921486A (zh) | 数据加密的方法和装置 | |
Li et al. | A novel hybrid scheme for chaotic image 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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180605 |
|
WD01 | Invention patent application deemed withdrawn after publication |