图像作为网络信息传输的载体之一,具有直观性强和信息量大等特点,在互联网通信中扮演着重要的角色.其中包含大量隐私和机密图像,如个人医学图像、军事图像及国防机密图等,一旦被外部攻击者窃取,将会造成个人隐私的侵犯甚至国家重大损失.因此,图像加密算法的研究一直是近年来的热点.传统图像加密算法通常针对图像的数据流进行加密,如IDEA[1],DES[2]和AES[3]等.但是在现今计算能力强大的时代,其密钥安全和抗差分攻击能力等性能面临巨大挑战.为解决这个问题,研究者们将DNA编码[4-5]、混沌系统[6-7]及量子学[8-9]等理论与图像加密技术结合起来,取得了不错的效果.其中,由于混沌的特点与密码学的理论概念颇为相似,如混沌的遍历性与密码学的混乱,因此基于混沌系统的图像加密技术成为了重点研究方向.文献[10]提出将改进的Lorenz混沌系统控制分块后的R,G,B三分量分别进行置乱扩散得到加密图像.文献[11]提出先将自然图像的三分量进行矩阵变换,再利用分量间的异或操作改变像素值,最后由混沌系统控制置乱扩散得到加密图像.虽然文献[10-11]中所得密文像素近乎随机分布,但是仅简单地依靠异或等可逆操作实现扩散,不利于抵抗外部差分攻击.同时,基于混沌系统的图像加密算法的安全性能受混沌性能影响较大,而文献[12-15]中所采用的混沌系统较为简单,混沌状态仅限于较窄的参数范围内.本研究提出一种基于改进的正弦逻辑指数复合型(improved sine-exponent-logistic,ISEL)混沌系统的图像加密算法.该算法采用在整个参数范围内均表现为混沌状态的ISEL混沌系统,并且通过插入随机值提高抗差分攻击能力,具有很强的安全性能和接近理想的抗差分攻击性能指标.1 混沌映射算法1.1 Sine混沌映射和Logistic混沌映射Sine混沌映射是一种经典的混沌映射,由正弦函数发展而来,定义为Xi+1=λsin(πXi),式中:Xi+1为混沌输出值,其中i为正整数;控制参数λ∈[0,1].当λ∈[0.865 6,1]时,系统处于混沌状态,如图1(a)所示.10.13245/j.hust.210220.F001图1混沌映射图Logistic混沌映射是常用的混沌映射之一,分岔图形似虫口,又称虫口模型,定义为Xn+1=λXn(1-Xn),式中λ∈(0,4].当λ∈(3.57,4]时,该系统处于混沌状态,如图1(b)所示.1.2 ISEL混沌系统文献[16]中提出将Sine映射和Logistic映射通过指数运算复合得到一个新型混沌系统——SEL混沌系统.本研究对该混沌系统进一步优化,合理拓展控制参数取值范围,并引入一个参数a,最终得到改进的SEL混沌系统,如图1(c)所示.该系统定义为Xn+1=(sin(πXn))aln(4bXn(1-Xn)+c),式中:a,b和c为ISEL混沌系统的控制参数,取值范围为a∈[0,1],b∈[0,5],c∈[1.5,2.8].由图1可见:相较于Sine映射和Logistic映射,ISEL混沌映射的输出值近乎均匀分布在整个参数范围上,表现出复杂的混沌性能.李雅普诺夫(Lyapunov)指数LE是检验混沌存在性的常用判断依据[17],当系统的最大LE值为正数时表示该系统处于混沌状态.采用文献[18]中的BBA法计算SEL混沌系统的最大LE值,ISEL混沌系统的最大LE值如图2所示,图中:参数条件1为a∈[0,1],b=1,c=2.8;参数条件2为b∈[0,5],a=1,c=2.8;参数条件3为c∈[1.5,2.8],a=1,b=1.由图2可见:ISEL混沌系统的LE值在三个参数的整个取值范围上始终为正数,表明ISEL混沌系统在整个参数范围上处于混沌状态.因此,ISEL混沌系统具备较强鲁棒性,不会因为外界干扰导致系统脱离混沌状态.10.13245/j.hust.210220.F002图2不同参数条件下ISEL映射的最大LE值2 基于ISEL的图像加密算法本研究提出的加密算法,属于对称加密体制,R,G,B置乱扩散过程操作一致,解密即为加密的逆操作.该算法的安全性主要依靠ISEL混沌系统的伪随机性和密钥的控制,算法架构加密步骤如图3所示.10.13245/j.hust.210220.F003图3基于ISEL混沌系统的图像加密算法架构2.1 密钥和子密钥的生成和分配密钥K为伪随机发生器生成的256 bit的二进制序列.密钥在本算法中主要有3个作用:部分比特作为状态位控制随机值插入到R,G,B三个分量内部,影响图像像素相关性及实现“一次一密”进而提高抗差分攻击能力;生成初值并输入到SEL混沌系统进而得到2轮置乱-扩散的子密钥;控制置乱-扩散后得到的三分量进行矩阵变换,得到密文C.对于控制置乱-扩散的子密钥,密钥K生成ISEL混沌系统的初值和3个控制参数,在ISEL混沌系统中迭代r×c次(r×c为加密矩阵的大小),并将输出值组成混沌序列,由密钥K中的值计算得到坐标值,再从混沌序列中顺位依次取出混沌值,作为控制置乱-扩散的子密钥(即ISEL混沌系统的初值和3个参数值),取值位置l=r+∑i=15Ki×2i.2.2 随机值插入为了尽可能弱化明文与密文之间的潜在联系,进而提高算法的抗差分能力,本算法通过密钥控制,在明文图像内部插入随机值.针对R,G,B三分量,分别插入四行四列随机值,其行和列的插入位置由密钥K控制,有h1=∑i=15Ki×2i;hj=(∑k=5j-45jKk×2k)+hj-1,式中:j=2~7;h1-3和h4-6分别控制行和列的插入位置.2.3 置乱利用ISEL混沌系统生成的混沌序列o进行排序索引和循环移位得到置乱矩阵Z,接着利用循环移位在置乱矩阵和加密矩阵之间建立可逆映射关系,实现像素置乱.具体算法流程如下.步骤1 由ISEL混沌系统迭代得到r+c长的混沌序列o,并将混沌序列的前r个值分配给序列A,后c个值赋给序列B.步骤2 对序列A和B进行索引和排序,得到两个索引向量M和N.步骤3 创建一个大小为r×c的新矩阵,将N向量赋值给新矩阵的每一行.步骤4 对新矩阵的第i行向左循环内移Mi位,得到置乱矩阵Z.步骤5 提取置乱矩阵Z的第j列数值Z(:,j)并进行索引,得到明文矩阵的像素坐标,然后对所得像素坐标向左循环内移Z(1,j)位,最终置乱完成得到图像矩阵P1.2.4 扩散将ISEL混沌系统迭代r×c次输出的混沌序列o重塑为r×c的扩散矩阵U.接着将扩散矩阵U与置乱后的明文矩阵P1进行取模运算,实现“之”字形的扫描,将明文相邻像素之间的相关性扩散到整个矩阵上,最终得到图像矩阵C1.扩散操作为C1=(P1i,j+Pr,c+Ui,j)mod 2F    (i=1,  j=1);(P1i,j+C1r,j-1+Ui,j)mod 2F    (i=1,  j≠1);(P1i,j+C1i-1,j+Ui,j)mod 2F    (i=1),式中F为像素位深.2.5 矩阵变换由密钥K的前6位值的求和与ISEL混沌系统生成的混沌序列o共同控制三通道矩阵Q,W,E(大小皆为r×c)的变换,最终得到加密矩阵C,算法步骤如下:输入 大小皆为r×c的三通道矩阵Q,W和E,秘钥K,混沌序列o初始化 零矩阵X和Y,其中X大小为r×2c,Y大小为(r/2)×2ca. 对秘钥K的前5位求和得到q;b. 根据q的不同取值对X和Y进行赋值,设E(1:r/2,:)表示取矩阵E中1到r/2行的所有数值:若k=0,则X=[Q,W],Y=[E(1:r/2,:),E(r/2+1:r,:)];若k=1,则X=[Q,E],Y=[W(1:r/2,:),W(r/2+1:r,:)];若k=2,则X=[W,Q],Y=[E(1:r/2,:),E(r/2+1:r,:)];若k=3,则X=[W,E],Y=[Q(1:r/2,:),Q(r/2+1:r,:)];若k=4,则X=[E,Q],Y=[W(1:r/2,:),W(r/2+1:r,:)];若k=5,则X=[E,W],Y=[Q(1:r/2,:),Q(r/2+1:r,:)].c. 取阈值为0.5,对混沌序列o的前r/2项的取值进行循环判断,以此来确定X和Y在密文矩阵C中的位置,最终得到密文矩阵C.若o(1,j)0.5,则C=[XT,(Y(j,:))T]T;若o(1,j)≥0.5,则C=[(Y(j,:))T,XT]T.输出 密文C3 算法性能分析实验所采用处理器为Intel(R) Core(TM) i5-6200U CPU@2.30 GHz,测试图像为256×256像素的图像Lena.由于加密算法对明文图像插入随机值的每一次加密效果不一样,因此本研究中计算的性能指标(包括执行时间、信息熵、相邻像素相关系数、NPCR和UACI),均为5 000次测试结果的平均值.3.1 灰度值和相邻像素相关性分析信息熵能够衡量图像信息的随机性,同时也能反映算法加密效果,定义为H(h)=-∑s=02F-1p(hs)log2p(hs), (1)式中:h为图像矩阵;2F-1为图像的像素最大值;p(hs)为像素出现的概率;F为比特深度.通过式(1)计算,本算法密文信息熵为7.999 0,文献[13]的密文信息熵为7.997 6,文献[19]的密文信息熵为7.997 0.可见:本研究算法的信息熵更接近理想值8,能够有效抵抗外部熵攻击.将明文图像Lena输入到加密系统中,生成密文图像及其直方图如图4所示,图中:m为灰度值;n为像素数.密文图像的像素均匀分布,可以有效地实现对原图的加密.10.13245/j.hust.210220.F004图4算法加密效果图明文图像蕴含丰富的信息,在其垂直、水平及竖直三个方向上,像素间相邻相关性很强.相邻相关系数值的大小直接表明像素间相邻相关性的强弱.相关系数定义为Rxy=cov(x,y)/D(x)D(y),式中:x和y为图像矩阵中随机挑选的相邻像素对;cov(x,y)为协方差;D(x)和D(y)为方差.图5和图6为Lena明文和密文图像三个方向上的相关性,图中m1和m2分别为相邻像素的像素值.由图可见: Lena明文图像三个方向上的像素分布密集,表明其相邻像素间相关性很强,而Lena密文图像在三个方向上分布较为均匀.由表1可知密文的相邻像素相关性很弱,这表明本研究的加密算法有效弱化了密文反映明文信息的能力.10.13245/j.hust.210220.F005图5Lena明文图像三个方向上的相关性10.13245/j.hust.210220.F006图6Lena密文图像三个方向上的相关性10.13245/j.hust.210220.T001表1Lena图像相关系数对比图像水平方向垂直方向对角方向Lena明文0.943 00.971 20.916 8Lena密文[6]-0.005 50.003 80.002 8Lena密文[19]-0.020 80.042 40.021 2Lena密文-0.000 2-0.000 4-0.000 13.2 密钥空间图像加密算法的密钥空间应当足够大,方能抵抗外部暴力破解.本加密算法所使用的密钥是由伪随机发生器产生的256 bit二进制伪随机序列,因此密钥空间为2256.根据文献[19]可知:算法密钥空间只有大于等于2100,方能抵御外部的穷举攻击.本研究的加密算法密钥空间为2256,远远大于2100,因此本研究的加密算法能够有效抵抗外部针对密钥的穷举攻击.3.3 抗差分攻击能力差分攻击属于选择明文攻击,能够通过追踪明文间的微小差异对密文的影响,找到明文与密文之间的潜在联系,进而可以绕过密钥的角色直接恢复明文.抗差分攻击的能力可以由像素变化率ρ及归一化平均变化强度σ来衡量,有:N(i,j)=1    (Z1(i,j)=Z2(i,j)),0    (Z1(i,j)≠Z2(i,j)),ρ(Z1,Z2)=∑i=1r∑j=1cN(i,j)rc;σ(Z1,Z2)=∑i=1r∑j=1c|Z1(i,j)-Z2(i,j)|255rc×100%,式中Z1和Z2为两个大小都为r×c的图像矩阵.表2为算法抗差分攻击性能分析.10.13245/j.hust.210220.T002表2算法抗差分攻击性能分析测试指标算法文献[20]文献[19]文献[21]文献[22]本研究ρ99.6199.7899.6399.8799.60σ33.4633.3733.5133.4633.46%表3为NPCR(像素变化率)和UACI(归一化平均变化强度)与理想值的误差对比,表中:Eρ为与理想NPCR的差值;Eσ为与理想UACI的差值.由表2和表3可知:本算法的ρ和σ值非常接近文献[20]中的理想值,表明本加密算法对明文图像细微变化表现敏感,能够有效抵抗来自外部的差分攻击.10.13245/j.hust.210220.T003表3NPCR和UACI与理想值的误差对比测试指标算法文献[19]文献[21]文献[22]本研究Eρ0.170.020.260.01Eσ0.090.050.000.00%3.4 效率分析算法效率是衡量一个算法优劣的性能指标之一.本研究的加密算法时间复杂度为O(r×c).表4对比了本研究的加密算法和文献[22]算法在相同图片下加密解密所用的时间.其中,测试图像Lena和Tree的尺寸为256×256像素,其他图像的尺寸为512×512像素,像素位深为8.从表4可知:本研究的加密算法在算法执行时间方面比原算法稍逊一筹,有待进一步优化.10.13245/j.hust.210220.T004表4算法加密解密时间对比测试图像本研究文献[22]加密解密加密解密Lena0.387 00.339 50.273 60.2632Tree0.383 20.337 20.258 10.2477Airplane2.158 31.941 81.616 61.577 4Mandrill2.170 41.951 21.597 61.5585Peppers2.208 61.988 41.591 81.556 8s4 结语本研究提出一种基于改进的正弦逻辑指数复合型混沌系统的图像加密算法,利用随机值和ISEL混沌系统的混沌性能及置乱-扩散操作,对图像进行加密.实验结果和性能分析表明:密文信息熵、NPCR和UACI均接近理想值,能够有效抵抗外部熵攻击和差分攻击.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读