基于耦合映像格子的分组图像加解密
复合密码结构的安全性能强度优于单独采用置乱和置换操作的简单密码结构,因为复合密码结构采用循环迭代结构交替使用置乱和置换等基本操作,使得得到的密文具有更好的安全性。
根据耦合映像格子,可设计一种基于分组密码和循环迭代结构的数字图像加密算法。采用Kn作为子密钥,L和T分别表示TCML的空间和时间参数,Ln和Rn分别表示图像的左半部分和右半部分。
步骤1:对原始图像(设其大小为M×N)进行初始置换(IP),得到图像P。本文采用量化后的Logistic混沌序列与原始图像异或来实现初始置换。
步骤2:对置换后的图像P进行分割,将图像等分为左右两部分,记为L0和R0。
步骤3:以K1作为子密钥,令L=M,T=N/2,产生M×(N/2)的TCML矩阵V。
步骤4:以矩阵V构造S盒[12-13],选定V中的混沌序列{a11,a12,…,a1(N/2),a21,…,aM(N/2)},逐行(逐列)对行(列)内元素做升(降)序排列,得到矩阵V1;确定矩阵V的每一个元素在V1中的位置,形成置换矩阵S。
步骤5:将R0通过S盒进行置换,置换的结果与L0进行异或运算,得到的结果作为下一轮迭代计算的L1,下一轮迭代计算的R1直接取L0。
步骤6:采用K2,K3,…,Kn作为子密钥,重复步骤3至步骤5。步骤7合并最终的迭代计算结果Ln与Rn得到图像P′,并对P′进行与步骤1相反的逆置换(IP-1),得到最终图像Q即为密文图像。
以上算法中初始置换和逆置换的作用是对原始图像的灰度值进行扩散,用来抵抗已知明文攻击。由于加密过程采用了基于耦合映像格子的分组密码和循环迭代结构,使得设计的加密过程能够有效抵御差分攻击。
解密过程与加密过程结构一致,只需要将子密钥序列倒序输入即可得到解密图像。具体的解密流程如图所示。
相关性分析
由于图像相邻像素的灰度值具有很强的相关性,因此原始图像相邻两个像素之间的相关性较高。密文图像由于其冗余度分散到各个像素点中,所以相邻两个像素之间的相关性将会被大大降低。原始图像的相关系数远远大于密文图像的相关系数,这表明新算法具有良好的扩散性。
将分组密码中的循环迭代结构应用于图像加密算法的设计,设计出一种基于耦合映像格子的分组图像加密算法。由于在每一轮加密中采用了不同的耦合映像格子老构造S盒,保证了设计的算法具有更好的安全性能;新算法的解密过程与和加密过程都具有相同的迭代结构,因此加密、解密过程具有良好的对称性;这种基于耦合映像格子的分组图像加密算法法不仅具有密钥空间大、初值敏感性强等较好的安全性能,而且对受损密文图像也具有较好的恢复效果;同时,新算法对加密图像的规格大小没有相关限制条件,使得算法具有更好的实用性。