APP下载

一种基于交替密钥的分组结构彩色图像加密算法

2015-05-06张雪锋

电视技术 2015年24期
关键词:彩色图像加密算法解密

贺 安,张雪锋

(西安邮电大学 通信与信息工程学院,陕西 西安 710061)

一种基于交替密钥的分组结构彩色图像加密算法

贺 安,张雪锋

(西安邮电大学 通信与信息工程学院,陕西 西安 710061)

基于循环迭代的加/解密机制,提出了一种新的彩色图像加密算法。该算法在彩色空间应用了仿射变换,将交替密钥生成算法与分组结构引入到彩色图像加密过程,采用2种混沌映射对彩色图像加密,在每一次交替加密过程中,通过对初始密钥循环移位生成相应的交替密钥并产生2种子密钥,用于2种混沌映射,从而增加了密钥空间,有效提高了彩色图像加密算法的安全性。实验结果表明,该彩色图像加密算法安全性好,免疫性强,效率高。

交替密钥;混沌映射;分组结构;广义猫映射;图像加密

随着科学技术的飞速发展与普及,人们已经迈进了信息时代。作为重要的信息载体,基于图像和视频的各种应用越来越多,与人们的日常生活联系日益紧密,如何保障其安全也成为人们关注的主要信息安全问题之一,日益受到研究人员的重视,使得图像和视频加密算法成为一个研究热点。

与普通文本信息相比,图像可进行有损压缩,在时间、空间及视觉上具有一些特性,使得图像加密算法成为研究人员用来解决实际问题的探索目标。

当前,主流的图像加密算法包括:盲源分离加密算法[1]、基于混沌的加密算法、自适应加密算法和常用于银行、金融管理的数字水印算法等。其中,基于混沌映射和分组结构的图像加密算法是当前的主流加密算法,与传统加密算法不同的是,混沌映射下分组结构的图像加密算法在安全性和效率之间取得了较好的平衡,可以抵抗穷举攻击、差分攻击等各种攻击,所以在混沌映射下对图像信息进行加密运算常常被应用于加密算法中以提高加密系统的安全性[2]。

混沌系统是一个具有伪随机序列、白噪声和间隔遍历性等特性的非线性动力系统[3-4],对初始情况和系统参数都比较敏感。这些特性使得基于混沌映射的图像数据加密算法在大规模数据加密时具有了明显的优势,但它在数值上的概率分布不稳定,数集都在实数域,因此从理论上说混沌加密技术是在连续空间上利用实数范围内选取数据来加密的技术。理论上而言,计算机精度的扩大很容易抵抗穷举攻击,但是,计算机精度在实际中的局限性使得混沌序列的随机性常常达不到最理想的状态,这就是有效精度效应,它能够影响混沌应用。到了20世纪80年代末,Matthews于混沌映射基础上提出了第一个基于混沌的加密算法[5],使得混沌在加密算法中的研究得到了极速发展。

文献[6]提出一种循环迭代结构的双混沌图像加密算法,其中猫映射实现对像素的置乱,因而密钥流不仅依赖于密钥还依赖于明文图像;Logistic映射再实现对图像灰度值的扩散。虽然实验结果表明该加密算法具有加、解密速度较快和安全性较高的优点,但是,该算法不能够抵抗选择明文攻击,也有着明文敏感性较低、精度有限等缺陷。文献[7]提出了一种将分组结构中的交替结构与混沌系统中的混沌映射相结合的加密算法。实验结果表明,该加密算法对统计分析、穷举攻击和选择性明文攻击等攻击手段都具有较好的抵抗性,安全性好,但由于加、解密过程相对复杂,计算强度较大,算法效率较低。

文献[8]研究了多种一维混沌映射和OCML,提出了一种RGB通道随机映射的分组结构彩色图像加密算法,此算法加密速度快,效率好,但不能很好的抵抗明文攻击,RGB分量之间仍存在较大的关联性。文献[9]提出了一种联合置乱、扩散的加密算法,有效减少了RGB分量之间的相关性,能够抵抗多种攻击,安全性较好,但是运算量大,效率低。本文提出了一种交替密钥与分组结构相结合的彩色图像加密算法,在交替密钥的基础上,将彩色空间进行仿射变换,交替使用2种混沌映射对彩色图像进行像素置乱、扩散和替代运算,以提高算法的效率和安全性,同时减少RGB各分量之间的相关性,改善图像加密的效果。

1 广义猫映射与单向耦合映射格子

本文算法应用了广义猫映射和单向耦合映射格子2种常用的混沌映射,介绍如下。

1.1 广义猫映射

二维猫映射定义式如下

(1)

文献[7]对二维猫映射进行了推广,将其相空间推广为:{0,1,2,…,N-1}×{0,1,2,…,N-1},即只取0到N-1的正整数。推广后的广义猫映射保面积映射方程为

(2)

式中:a,b,c,d为正整数,其要求保面积的约束条件为

(3)

虽然广义猫映射对初值具有局部敏感性,但它在几何方面的拉伸和折叠特性几乎没有改变,迭代一定次数后能够分离原来相邻的两点(i,j)和(i,j+1)。根据这一特点,图像数据经迭代若干次之后就会产生置乱的效果,从而实现对图像数据的加密。

广义猫映射的逆映射为

(4)

此映射的优点是对正映射的系数进行取整运算后能够使得对应逆映射的系数也取整,从而保证了图像加、解密过程中误差不会被引入,能够正确解密,解密时只要对加密后的图像进行逆过程运算相同次数即可解密。

文献[10]建议选取一种方阵C作为像素位置变换的方阵,即在下列4个矩阵中选取一种形式

另外,文献[10]也提出了矩阵中参数将如何选取:两个独立参数和迭代次数m均可由键盘输入取其ASCII码值后获得。为了图像信息能够在二维空间进行充分置换,广义猫映射常会进行多次迭代,但这却不能够提高安全性,因为

(5)

1.2 单向耦合映射格子

耦合映射格子是一种动力学系统。CML有着表述简单、计算方便的优点,因此在信息安全、保密通信等领域应用甚广。

单向耦合映射格子(OCML)模型如下

xi(t+1)=(1-ε)·f(xi(t))+ε·f[xi-1(t)]

(6)

式中:t与i表示时间、空间坐标;ε表示耦合系数,并且满足条件:0<ε<1;f(x)为非线性映射;周期性边界满足的条件为:xn(0)=xn(L),xn(i)∈(0,1),其中L为系统尺寸,i=0,1,…,L-1为空间方向变量。式(6)中的f(x)取Logistic混沌映射。

f(xn)=μxn(1-xn)

(7)

式中:3.569 945 6…≤μ≤4,0

2 交替密钥与分组结构结合的彩色图像加密算法

文献[11]中指出,单独采用简单密码结构进行图像置乱或置换的安全性能比复合密码结构的安全性能差,其原因在于复合密码结构循环应用了像素置乱、扩散和替代等加密运算,使得加密后的安全性更好。因此,本文加密过程中采用32位定点运算,对空间仿射后生成的RGB三基色的各8 bit信息分别用每个格子的前24 bit进行异或运算,实现对图像的加密。

2.1 算法原理

本文所提出的加密算法的基本思想是:对图像进行前期处理,包括交替密钥的生成、彩色空间仿射及缩放图像成N×N的尺寸,图像数据类型的转换;接着对新生成的RGB分量,分别利用二种混沌映射对RGB每个图像分量进行置乱、扩散和替代,循环交替执行直至加密效果达到最佳。

如图1所示,一种基于交替密钥的分组结构彩色图像加密算法将交替密钥与分组结构中的交替结构结合运用于彩色图像加密中,输入为需加密的彩色图像,对其进行彩色空间仿射,然后分别对RGB每个通道的分量进行加密处理,本文解密过程与加密过程互为逆过程。

图1 彩色图像加密算法流程图

对于新生成的RGB分量,各通道算法的基本流程如图2所示。

图2中新生成的RGB各通道的加密算法的输入为:初始密钥与彩色空间仿射出的各分量明文图像,输出为加密图像与交替加密次数。

具体的加密步骤如下:

火封装置设置在炉口进出料的位置,在炉口进出料位置通入氢气形成一道屏障将炉外与炉内隔开,保持炉内有足够的氢气进行保护,使原料在炉口不会瞬间氧化,提高产品成品率,保证了产品质量。

Step2:采用广义猫映射对明文图像I进行像素置乱、扩散,得到明文图像记为I。

Step3:采用单向耦合映射格子对Step2过程处理得到的明文图像I进行像素替代,完成一次交替加密,得到加密图像E,累计交替加密次数1次,即m=m+1。

Step4:根据图像加密相应的评价准则及上一次加密的效果判断所得加密图像E是否最佳。若不是,则定义本次加密图像E为下一次交替加密的明文图像I,返回Step2步骤,继续进行下一次交替加密;若是,则输出加密图像E与交替加密次数m,E即为加密结果图像,结束加密过程。

如图3所示,新生成的RGB分量各通道的解密算法的输

图2 RGB分量各通道加密流程图

入为:初始密钥,RGB分量各通道待解密密文图像E和交替加密次数m;输出为RGB分量各通道解密结果图像I。解密过程仍使用N×N尺寸大小的图像,解密过程中各交替密钥按加密过程的逆序使用,交替解密m次即可完成解密。

图3 RGB分量各通道解密流程图

解密过程详述如下:

Step1 输入:密文图像E、初始密钥和交替加密次数m,解密过程中交替密钥生成方法仍与加密过程中交替密钥生成方法相同,交替加密次数m由加密过程所产生。

Step2:由初始密钥和交替加密次数m生成m组交替密钥:

解密过程将其按照相反的顺序使用。

Step3:采用单向耦合映射格子对密文图像E进行像素代替,得到密文图像E。

Step4:采用广义猫映射对Step3过程处理得到的密文图像E进行图像的像素置乱、扩散,完成一次交替解密,得到的解密图像记为E。

Step5:重复前两步的解密过程m次,最终得到解密后的明文图像I,解密过程结束。

由于加、解密过程中涉及空间仿射、交替密钥的生成、交替加密和交替解密过程,下面将对交替密钥的生成和空间仿射进行详细介绍和分析。

2.2 交替密钥生成算法

如图4所示,生成交替密钥的具体过程如下。

图4 交替密钥生成流程图

Step1 用户输入64 bit的初始密钥

key=k1k2…k64

(8)

循环左移11位后序列为

(9)

第一次交替加密中将该密钥序列等分为两个32 bit的序列

(10)

第一次交替加密时,s1和s2分别用作广义猫映射和单向耦合映射格子的加密密钥。

对上一次的密钥序列进行循环左移11 bit得到下一次的密钥序列,记为

然后再将该密钥序列等分为两个32 bit的序列

(11)

分别作为第i次交替加密时广义猫映射和单向耦合映射格子过程的加密密钥。

如上所述,本文给出的交替密钥生成方法中,每一次加密过程中混沌系统采用不同的初始条件,由于gcd(11,64)=1,所以在理论上,该方法能够产生64组不同的交替密钥,因此加密算法的安全性得以保证。

2.3 彩色空间仿射变换

对原图分离出的R0,G0,B0分量进行仿射变换,有效减少了各分量的相关性,加密后各通道效果更好,灰度变化平均值更接近,能够很好地抵抗明文攻击。仿射函数如下

(12)

3 实验结果及性能分析

本文对大量彩色图像进行了实验仿真。实验中耦合系数ε=0.125,局部更新函数的参数μ=4,空间仿射变换参数θ=π/6。根据图4的交替密钥产生方法,每一次所使用的密钥都为64 bit, 如果交替加密次数设定为m=9,此时的密钥长度为:64×9=576 bit,密钥随着交替加密次数的增多而变得庞大,难以进行穷举攻击。

3.1 加密效果分析

本文使用MATLAB 对Lena彩色图像进行加、解密实验。原图及解密图像如图5所示,加密后图像效果如图6所示。从实验仿真结果可以看出该彩色图像加密算法加密后图像像素均匀分布,原图像信息完全被覆盖,而解密图像与原图像基本相同,实验中用均方误差(MSE)测试,计算结果为0,表明解密后可完全恢复原图像信息。由此可见,本文提出的加密算法有好的加密效果。

a 彩色原图 b 解密图像图5 Lena彩色原图及解密图像

a 加密图像 b R分量加密图像

c G分量加密图像 d B分量加密图像图6 原图加密图像及各分量加密图像

3.2 雪崩效应分析

雪崩效应是评价加密算法好坏的一个标准。根据严格雪崩效应准则[12],交替密钥中的一位发生变化,此次加密的密钥数据将会发生绝大部分的改变。图7为交替加密次数m=6时仅改变了密钥中的一位所得的解密图像,仍然是杂乱无章的,完全不能恢复原图的图像信息,这表明本文所提算法对密钥的敏感性较高,可以抵抗差分攻击。

a 解密图像 b R分量解密图像

c G分量解密图像 d B分量解密图像图7 密钥敏感性分析

3.3 直方图分析

a R分量加密直方图

b G分量加密直方图

c B分量加密直方图图8 RGB分量加密直方图

3.4 图像信息熵

信息熵用于度量图像中灰度值的分布,信息熵越大的加密图像表明其灰度值分布趋于一致,分析者获取的原图信息越少。信息熵的数学计算表达式[13]如下

(13)

式中:x为图像像素值;p(xi)为xi出现的概率。

根据式(13),本实验结果如表1所示:随着交替加密次数的增加,RGB各分量的图像信息熵都与8相差较小,但并不成正比。表1结果表明,加密图像中像素值的出现率成等概分布,加密效果较好。

表1 交替加密次数与信息熵的关系

交替加密次数R分量信息熵G分量信息熵B分量信息熵27.95687.97807.968447.97527.98767.972167.99537.99607.990187.99217.99457.9913

3.5 灰度变化平均值

对于大小为N×N的原图像I和加密图像E,理想的加密结果应该是原图像灰度平均变化值。灰度变化平均值定义为

(14)

根据式(14),本文对彩色图像加密的灰度变化平均值统计结果如表2所示,实验数据表明灰度变化平均值随加密迭代次数变化较小,加密效果稳定。

表2 交替加密次数与灰度变化平均值的关系

交替加密次数灰度变化平均值(RGB平均值)176.5421377.3456573.0125775.8901

3.6 相邻像素相关性

相邻像素的相关性分析是加密效果评价标准之一,本文利用相邻像素的相关系数来分析图像的相关性,表达式如下

(15)

其中:x和y为相邻图像之间的像素灰度值,协方差为

(16)

方差为

(17)

均值为

(18)

实验所得相关系数如表3所示,实验数据表明,相邻像素相关性较高的原始图像经加密后相关系数与0非常接近,几乎不再相关。与对R0G0B0直接加密相比,相关性系数明显减小,由此可见,本文提出的彩色图像加密算法可以较好地破坏相邻像素之间的相关性。

表3 RGB平均相关系数

相关系数原始图像加密图像直接加密水平0.92130.00560.0098垂直0.95140.00610.0102对角0.91030.00370.0076

3.7 安全性分析

本文提出了一种基于交替结构的彩色图像加密算法,其密钥生成过程中,利用64 bit初始密钥(可以根据安全需求扩展到128 bit),循环产生64组不同的交替密钥,使得加密的交替密钥发生很大部分的变化,保证了每一次加密过程可以使用不同的交替密钥。加密过程中,密钥参数为初始密钥,密钥空间为264,当然也可以根据需要适当扩展初始密钥,此时对应的密钥空间也会相应增大,因而可以抵抗穷举攻击和差分攻击,算法的安全性较高。

4 结论

本文采用仿射变换进行空间映射,将交替密钥与分组结构结合运用于彩色图像加密系统中,交替地使用2种混沌映射进行循环迭代加密操作,2种映射具有白噪声特性、近似等概率分布和初值敏感性等优良特性,产生的混沌序列性能较好,因而本文算法保证了加密过程中能够使用安全性较好的混沌序列。实验结果表明,本文所提算法能够有效地抵抗差分攻击、统计学分析和已知密文攻击,抗攻击能力强,速度快,效果良好,适用于图像及视频数据的保密传输,而且移植性好,有着良好的应用前景。

[1] 崔萌达,黄高明,席泽敏.基于盲源分离的一维距离像特征提取算法[J].舰船电子工程,2014,34(10):27-30.

[2] 蔡俊,陈昕,向旭东.一种基于混沌的代换-置换结构图像加密算法[J].计算机科学,2014,41(9):158-164.

[3] 章秀君,吴志强,方正.超混沌系统的构造方法研究[J].计算机工程与应用,2014,50(2):92-98.

[4] 叶瑞松,谭相波.基于连续混沌系统多轨道混合的图像加密算法[J].汕头大学学报:自然科学版,2014,29(4):8-19.

[5] MATTHEWS R A J. On the derivation of a chaotic encryption algorithm[J].Cryptologia,1989,13(1):29-42.

[6] 李旭,张雪莹.一种基于双混沌映射的图像加密算法[J].工业控制计算机,2012,25(12):74-75.

[7] 张翌维,王育民,沈绪榜.基于混沌映射的一种交替结构图像加密算法[J].中国科学:E辑(信息科学),2007,37(2):183-190.

[8] HE Jun,ZHENG Jun,LI Zhibin,et al. Color image cryptography using multiple one-dimensi onal chaotic maps and OCML[C]//Proc. International Symposium on Information Engineering and Electronic Commerce.[S.l.]:IEEE Press,2009:85-89.

[9] 谢涛,何兴.一种新的基于混沌的彩色图像加密方案[J].计算机应用研究,2013,30(1):318-320.

[10] 张雪锋,范九伦.一种自适应的循坏迭代数字图像加密算法[J].西安邮电学院学报,2012,17(3):1-9.

[11] 杨杨,张雪锋,张雁冰.基于耦合映像格子的分组图像加密算法[J].西安邮电学院报,2012,17(1):30-33.

[12] WEBSTER A F,TAVARES S E. On the design of S-boxe[C]//Proc. Advances in Cryptology:Proceeding of CRYPTO’85.Berlin:Springer,1985:523-534.

[13] 吴泽鹏,郭玲玲,朱明超,等.结合图像信息熵和特征点的图像配准方法[J].红外与激光工程,2013,42(10):2846-2852.

责任编辑:时 雯

【本文献信息】陈正军.地面数字移动电视单频网实例分析[J].电视技术,2015,39(24).

Packet Structure Color Image Encryption Algorithm Based on Alternant Secret Key

HE An,ZHANG Xuefeng

(SchoolofCommunicationsandInformationEngineering,Xi’anUniversityofPostsandTelecommunications,Xi’an710061,China)

Based on the encryption and decryption mechanism of iterative structure, a new encryption algorithm for color image is put forward. The proposed algorithm applys affine transformation to the color space, takes the generation algorithm of alternant keys and packet structure into the procedure of color image encryption, adopts two different chaotic mapping encrypting images. The corresponding alternate key and two different subkeys are generated by shifting of the initial secret key In each procedure of the iterate encryption, then the generated keys are respectively used to different chaotic mapping, Thus, it enhances the key space, effectively improves the safety of the encryption algorithm for color image. The results show this encryption algorithm for color image has good safety, great immunity and high efficiency.

alternant secret key; chaotic mapping; packet structure; general cat map; image encryption

国家自然科学基金项目(61301091)

TN911.73

A

10.16280/j.videoe.2015.24.001

2015-07-05

【本文献信息】贺安,张雪锋.一种基于交替密钥的分组结构彩色图像加密算法[J].电视技术,2015,39(24).

猜你喜欢

彩色图像加密算法解密
炫词解密
解密“一包三改”
炫词解密
基于FPGA的实时彩色图像边缘检测
基于最大加权投影求解的彩色图像灰度化对比度保留算法
HES:一种更小公钥的同态加密算法
基于小波变换和混沌映射的图像加密算法
基于颜色恒常性的彩色图像分割方法
解密“大调解”
对称加密算法RC5的架构设计与电路实现