基于
改进
二维
混沌
映射
彩色
图像
加密算法
纪元
基金项目:国家重点研发计划资助(2018YFB0505103);国家自然科学基金(61861008,11603041,62061010);广 西 科 技 厅 项 目(桂 科AA19182007,桂 科 AA19254029);广 西 自 然 科 学 基 金(2018JJA170090)收稿日期:2021-05-31 修回日期:2021-06-05 第 40 卷 第 4 期计 算 机 仿 真2023 年 4 月 文章编号:1006-9348(2023)04-0180-06基于改进二维混沌映射的彩色图像加密算法纪元法1,2,3,李 菊1,2,孙希延1,2,3,严素清1,2(1.桂林电子科技大学广西精密导航技术与应用重点实验室,广西 桂林 541004;2.桂林电子科技大学信息与通信学院,广西 桂林 541004;3.卫星导航定位与位置服务国家地方联合工程研究中心,广西 桂林 541004)摘要:针对数字图像在网络传输中的安全性和可靠性问题,提出了一种由一维 Logistic 和 Sine 映射耦合而来的新的二维混沌映射(2D-SLSM),进而提出了一种基于 2D-SLSM 的彩色图像加密算法(SLSM-IEA)。首先使用 Arnold 变换分别对彩色图像的 R、G、B 分量进行位置混淆,接着将其旋转不同角度后水平组合成一个二维矩阵,最后应用一种改进的置乱和扩散结构,对图像信息进行混淆和扩散,循环移位和像素异或操作穿插其中,从而确保更好的加密效果。结果表明,上述加密算法的密钥空间大且敏感性强,比特变化率在整个范围内都逼近 50%,加密过的图像相邻像素相关性被极大减弱,近似于 0,且具有一定抵抗数据丢失和差分攻击能力,能够实现高安全的图像加密处理。关键词:混沌;加密;置乱;扩散中图分类号:TP317.4 文献标识码:BA Color Image Encryption Algorithm Based on Improved2D Chaotic MapJI Yuan-fa1,2,3,LI Ju1,2,SUN Xi-yan1,2,3,YAN Su-qing1,2(1.Guangxi Key Laboratory of precision Navigation Technology and Application,Guilin University of Electronic Technology,Guilin Guangxi 541004,China;2.School of Information and Communication,Guilin University of Electronic Technology,Guilin Guangxi 541004,China;3.National&Local Joint Engineering Research Center of Satellite Navigation Positioningand Location Service,Guilin Guangxi 541004,China)ABSTRACT:Aiming at the security and reliability of digital images in network transmission problem,this paperproposed a new two-dimensional chaotic map(2D-SLSM)coupled from one-dimensional Logistic and Sine map,and then proposed a color image encryption algorithm based on 2D-SLSM(SLSM-IEA).Firstly,the R,G and Bcomponents of the color image were obfuscated by using Arnold transform and rotated at different angles,then thethree components were converted into a two-dimensional matrix through horizontal connection.Finally,the image in-formation was confused and diffused completely after two rounds of improved scrambling and diffusion structure.Cyclic shift and pixels XOR operation were inserted into the encryption system to ensure better encryption effect.Theresults show that the key of the encryption algorithm has a large space and strong sensitivity,and the bit change rateis close to 50%in the whole range.The correlation between adjacent pixels of the encrypted image is greatly weak-ened,which is close to 0.Moreover,it has the strong ability to resist data loss and differential attacks to a certain081extent,and can realize high security image encryption processing.KEYWORDS:Chaos;Encryption;Scrambling;Diffusion1 引言在网络通信飞速发展的今天,数字图像已成为现在最流行的多媒体形式之一,但是如果双方的通信通道不够安全,这些共享的数据就可能会被攻击者截获,从而泄露一些机密和私人信息,因此保证数字图像的高保密性传输是一个非常重要的研究领域。图像加密一般是将原始图像通过加密算法变成类似噪声或者与原图毫无关系的新图像,且只有接收者才能复原数据。随着“混沌密码”这一概念被 Robert A.J.Matthews 首次提出后,掀起了一股基于混沌的图像加密算法研究热潮1。早期一些低维混沌系统所用的低维混沌映射由于结构简单、周期轨道少等弱点,导致该加密系统安全性较低2-4,于是一些高维混沌映射的研究逐渐兴起。Hua 等人5提出了一种耦合型二维混沌映射,将两个一维混沌映射按照特定方式组合,提高了加密系统的安全性,但是不能有效抵抗差分攻击,防御能力较低。在此基础上,一些学者将方向转向将混沌系统与其它加密技术进行结合。李等人6设计了一种具有非周期混沌映射和随机循环移位的鲁棒加密方案,该方案提高了加密速度,但是在安全性上得不到保障。此外还提出一些与压缩感知7、DNA 编码8等相结合的图像加密算法,但仍存在着一些不足,其中有些算法的安全性需要得到进一步的检测,要确保更高的安全性和加密效率,需要进一步深入研究。针对数字图像在网络传输中的安全性和可靠性问题,提出了一种基于改进二维混沌映射的彩色图像加密算法。首先对彩色图像的各个分量进行 Arnold 变换,接着用文中提出的改进二维混沌映射随机产生几个不同的混沌矩阵,用一种新的置乱和扩散方法对水平连接后的图像进行处理,保证该系统的随机性和可靠性,仿真结果和性能测试反映了该算法具有较好的加密效果和较高的安全性能。2 混沌映射2.1 传统一维混沌映射一维 Logistic 映射和 Sine 映射是生成所提出的二维混沌映射(2D-SLSM)的基础,它们的数学表达式分别如下xi+1=L(x)=4xi(1-xi)(1)xi+1=S(x)=sin(xi)(2)其中 Logistic 映射和 Sine 映射的控制参数范围都在0,1内,且分别在 0.89,1、0.87,1时存在混沌行为。2.2 改进的混沌映射由于一维 Logistic 映射和 Sine 映射结构简单,混沌范围比较窄,存在着一定性能上的缺陷,可能会对后面的其它操作带来一些负面影响,因此将它们进行新的耦合,提出了改进的混沌映射 2D-SLSM,与 Logistic 映射和 Sine 映射相比,2D-SLSM 的结构更加复杂,其输出也更难以预测,其数学定义如下xi+1=mod(xi(1-xi)sin(yi)+0.5,1)yi+1=mod(yi(1-yi)sin(xi)+0.5,1)(3)其中参数 500。图 1 分别为 2D Logistic、2D-SLMM9、2D-LASM10和 2D-SLSM 的混沌轨迹,参数分别设置为:1.9、1、0.9 和 0.55,这能使各混沌映射能达到最好的输出效果。从图 1 中可以看出,所提出的 2D-SLSM 输出分布在整个相平面,比另外三个二维混沌映射占据范围更广且更均匀,表现出更好的遍历性和输出随机性。图 1 不同映射的混沌轨迹3 加密方案给定一个大小为 MN3 的原始图像 P,基于 2D-SLSM的图像加密算法(SLSM-IEA)主要由 Arnold 变换、置乱和扩散组成,循环移位和像素异或操作衔接其中,保证加密的随机性和安全性。解密是加密过程的逆过程,加密的总体框架如图 2 所示。3.1 密钥 K 的产生从安全方面和系统结构的综合考虑,将密钥的长度设置为 231 位,它由以下几个部分组成:K=x0,y0,r,a1,a2,a3,其中(x0,y0)是初始状态值,r 是干扰参数,a1,a2,a3是 r 的扰动参数。x0,y0和 r 的数学表达式如下所示F=52i=1bi2-i(4)181图 2 加密总体框架 a1,a2,a3分别是由 25 比特的数据流b1,b2,b25产生的十进制数,由以下式子得来r(i)=500+mod(r ai,2)(5)通过混沌映射的不断迭代可以产生不同的混沌序列,将密钥 K 的初始状态(x0,y0)设置为混沌映射的初始值(x(1)0,y(1)0),上一轮的最后迭代状态直接作为下一轮迭代的初始值。用(x(i)0,y(i)0,r(i)(i=1,2,3)可以产生 3 组二维混沌映射,共有 6 个不同的混沌序列,从而可以进一步生成加密过程中用于置乱和扩散的混沌矩阵。3.2 置乱置乱操作可以改变像素位置的行和列,使图片像素在较短步骤里被打乱,从而变成无法识别的密文,提出的置乱操作整体可分为以下 3 个步骤:步骤 1:对混沌序列 S 分别进行列排序和行排序,得到索引矩阵 I1 和 I2;步骤 2:创建索引坐标矩阵 PM1 和 PM2,存放图像位置信息,其中横坐标和纵坐标的值分别由索引矩阵 I1 和 I2 组成,表达式如下:PM1(x,y)=PM1(I1(x,y),y)PM2(x,y)=PM2(x,I2(x,y)(6)步骤 3:对图像 P 进行位置变换,找出 C 中对应 PM1 中的位置,放入 P 中对应 PM2 中的位置。具体置乱方式如下:P(PM(x,y)P(PM(x+1,y+1)(7)图 3(a)(b)展示了一个具体置乱的数字例子,P 为经过水平组合后的图像矩阵,大小为 412,C 为置乱结果。3.3 扩散扩散会更改像素值,并将较小的差异扩散到密文的所有像素中。一个好的扩散算法会使得加密系统有更高的安全性,有足够的能力抵抗数据丢失,假设置乱结果 T 和生成的混沌矩阵 S 的大小都为 mn,加密的扩散过程具体操作定义如下Ci=Ti+Ti+Si 232()mod F if i=1Ti+Ci-1+Si 232()mod F if i 2,R(8)是获得不大于 的最大整数,F 为强度级数,一般 F=256。其中 Ti的计算公式为Ti=TR-1 TR(9)在置乱结果之间进行逐位“异或”操