应用Henon超混沌系统改进的图像加密

时间:2022-07-11 12:45:09

应用Henon超混沌系统改进的图像加密

收稿日期:2010-12-28;修回日期:2011-01-24。

作者简介:乐鸿辉(1990-),男,江苏张家港人,主要研究方向:网络信息安全、数字图像处理; 李涛(1979-),男,湖北宜昌人,讲师,硕士,主要研究方向:网络信息安全; 石磊(1989-),男,江苏连云港人,主要研究方向:网络信息安全。

文章编号:1001-9081(2011)07-1909-03doi:10.3724/SP.J.1087.2011.01909

(江苏科技大学 张家港校区,江苏 苏州 215600)

()

摘 要:为提高混沌系统图像加密的安全性,提出了一种结合MD5信息摘要的混沌图像加密算法。新算法使明文的信息摘要值参与Henon超混沌系统的初始化,增强了明文的敏感性,也比一般的混沌系统更具复杂性。同时,改进的二进制密码流序列生成算法导致分组长度动态变化,进一步扰乱了混沌系统的原有特性及密码流的分组特征。理论分析和实验说明算法能有效地抵御选择明文攻击、差分攻击和分割攻击。

关键词:图像加密;Henon系统;超混沌;MD5;安全

中图分类号:TP309.7文献标志码:A

Improved image encryption algorithm based on Henon hyperchaotic system

YUE Hong-hui, LI Tao, SHI Lei

(College of Zhangjiagang,Jangsu University of Science and Technology,Suzhou Jiangsu 215600,China)

Abstract: To enhance the security of image encryption algorithm in chaotic systems, a new algorithm based on the combination of MD5 and chaotic system was proposed. Allowing MD5 value of original image to participate in the initialization of Henon hyperchaotic system, the algorithm increased the sensitivity of original image and was much more complex than the ordinary system. In addition, the altered algorithm of binary code stream sequence generation could lead to dynamic change of block length so as to further disrupt the original characteristic of chaotic system and the packet characteristics of the code stream. This algorithm could resist chosen plaintext attack, differential attack and partition attack effectively, which has been verified by analysis and experiment.

Key words: image encryption; Henon system; hyperchaotic;MD5;security

混沌系统由于其很好地反映了随机性特征,近年来在图像加密领域被学者们广泛地研究。现阶段,主要的加密方法有对图像像素值置乱和对像素位置置乱或二者结合三种。由于选择性明文攻击、差分攻击、分割攻击等攻击方法的出现,加密的关键问题也正由原来的单一追求大密钥空间逐渐转向算法对密钥和明文一致地高度敏感性以及混沌映射本身缺陷的改进。

1 研究现状

文献[1]提供了一种通过相空间重构对简单混沌系统加密算法的攻击方法,说明简单的混沌系统由于轨道相对简单,容易被攻击。文献[2-3]提供了对一种图像加密算法的已知明文攻击和选择明文攻击的方法,指出加密算法本身不仅要对密钥敏感,对明文也应该具有高度敏感性。文献[4-5]通过对传统数据加密和图像混沌系统的分析说明,不恰当的明文或密钥流分组及混沌序列本身缺陷会极大地影响算法对分割攻击的抵御性能。文献[6]借助辅助密钥增强了算法对明文的敏感性,但却具有重大缺陷。该算法提取明文图像像素灰度值的和,经处理后作为明文的特征值参与混沌系统的迭代过程,以此来提高对明文的敏感性。其缺陷在于像素灰度值的和并不能很好地反映明文图像的微小改变,即如果同时修改明文的两处或多处,并使得修改后的明文像素灰度值和不变,该措施也就完全失效。可见该方法对选择明文攻击和已知明文攻击的抵御相当无力。同时,该算法也遗漏了一个关键问题,即辅助密钥是不可预知动态变化的,却并未说明在加密者和解密者之间如何传递该辅助密钥。

鉴于此,本文提出了一种结合MD5信息摘要,基于Henon超混沌系统新的灰度图像加密算法。利用明文的MD5值作为特征值参与迭代过程,并动态改变密码流的分组长度,通过特征值的隐藏和提取很好地提高了安全性并解决了在加密者和解密者之间传递辅助密钥的问题。

2 Henon超混沌系统和MD5算法

2.1 Henon映射和Henon广义映射

Henon映射[7]是一个二维动力系统,其方程为:

xn + 1yn + 1-ax2n

yn + 1bxn(1)

而对Henon广义映射:

xn + 1a-y2n-bzn

yn + 1xn

zn + 1yn(2)

文献[8]研究了其参数对映射的影响,证明当参数:1.54

2.2 MD5算法

MD5算法是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。其典型应用为对一段数据提取特征值(信息摘要),一般为128b的大整数,数据的微小变化会带来特征值的大部分改变,用来检验数据是否被更改[9]。本文正是利用MD5算法对图像数据提取特征值,以反映数据的改变。虽然近些年来MD5算法的碰撞研究取得突破,但在实际应用中,不失为一种优秀的算法。同时,在稍后的安全性分析中可以看出,MD5算法安全性的微弱损失并不影响基于henon混沌系统的图像加密改进算法的安全性。

3 图像加密算法的原理及实现

算法主要步骤有对明文图像特征值提取、混沌系统参数调制、密码流序列产生、加密、明文特征值隐藏、明文特征值提取以及解密。假设计算精度为64b浮点小数。图1和图2为加密解密原理图。

图1 加密原理

图2 解密原理

1)明文图像特征值提取和迭代参数调制。

记明文图像经MD5算法运算后得到一个128b的二进制大整数M。密钥均为64b精度十进制小数,其中Keya∈(1.55,2),Keyb∈(-1,1) 。迭代初值即为密钥Keyx0、Keyy0、Keyz0,取值范围为(-1.5,1.5)。

则混沌系统的参数a,b及初值x0,y0,z0为:

a1/2×(M(10)×10-39+Keya)

bKeyb

x0Keyx0

y0Keyy0

z0Keyz0 (3)

2)密码序列的生成。

将由式(3)调制的混沌系统的初值和参数代入式(2)中迭代1000次,消除参数及初值的影响。从第1001次迭代得到的x,y,z值开始生成二进制序列Bin。

生成规则为:x,y值的生成规则相同,去除其整数部分,保留64b小数,小数的每一位与5比较,大于或等于5,则序列为1;反之0。每个x,y值均可生成为64b二进制序列。

由x,y得到64b长的二进制序列xbin、ybin后,再统计z小数部分每一位,得大于或等于5的个数N,由N对xbin、ybin进行分组扰乱组合得到Bin。

组合规则为:

将xbin、ybin左对齐,ybin相对于xbin向右“滑动”Nb,重合部分异或得到新值。如图3所示(N=3)。

由序列规则可知,每次迭代,得到的二进制序列Bin的组长不定,为64~128b。则将多次序列得到的Bin依次拼接,得到二进制密码流。

图3 由xbin、ybin生成序列Bin示例

3)加密。

利用得到的密码流依次对明文灰度图像像素值异或,得到新的密文图像像素值。记明文图像为I。

异或规则为:密码流中顺次取8b的二进制整数B(2),依次取明文图像单个像素灰度值C(10),其中B(2)、C(10)取值均在十进制0~255。则新的像素值D(10)B(2)C(10)。处理完明文图像得到预处理后的中间密文图像IE。

4)特征值的隐藏。

为了在加密解密者之间传递明文图像的MD5特征值,必须将其隐藏于预处理后的图像中。本算法是通过在IE中选取16个像素点,将128b加密后的MD5值分16组替换到像素中,而被替换点原来的像素则附于IE文件尾部形成最终加密图像。

MD5值加密及16个像素坐标选取规则为将混沌系统参数及初值

aKeya

bKeyb

x0Keyx0

y0Keyy0

z0Keyz0 (4)

代入式(1)中迭代1000次后,按步骤2)生成得到2×128b二进制序列BinM1和 16组3×64b的二进制序列BinM2。则MD5值用BinM1异或两轮,得到加密后的MD5值密文。记明文图像分辨率为Width×Height。对于MD5值密文中第k组(k0,1,…15),其在IE中参考像素起始替换坐标为(minit,ninit):

minit

ninit×k+ (5)

然后将BinM2中对应组3×64b分为64b和128b,依次扫描每一位与“1”比较,相应调整(minit,ninit) 。

对于minit,调整算法如下:

if(Bit“1”)

if(minit

minit++;

else

if(minit>0)

minit--;

对于ninit,调整算法如下:

if(Bit“1”)

if(ninit

ninit++;

else

if(ninit>×k)

ninit--;

则最终确定要替换的像素的位置坐标为调整后的(minit,ninit) 。

5)解密。

解密前先依据密钥提取出密文图像中隐藏的明文图像MD5值,恢复密文图像到IE状态,然后以加密的逆过程解密图像。

4 实验仿真及安全性分析

实验采用256×256大小的8位灰度图像,密钥及参数设置为Keya1.7, Keyb 0.01,Keyx0 -1,Keyy0 0.1,Keyz0 0.6。图4为明文图像及对应的密文图像。

图4 明文图像和密文图像

1)密钥空间分析。

密钥Keya、Keyb、Keyx0、Keyy0及Keyz0在本文中均采用64位精度十进制小数,密钥空间为1064×5,可以很好地抵抗穷举攻击。实际上,在使用中可以适当减小精度,密钥空间仍相当可观。

2)统计特性分析。

一个好的算法,要想抵抗基于统计分析的攻击,必须在任意明文元素分布情况下,加密后的密文接近均匀分布。图5、6为明文图像像素值直方图和密文图像像素直方图。可以看出,密文像素值分布趋于平均,掩盖了明文的统计特性。

图5 明文图像像素值直方图

图6 密文图像灰度值直方图

3)密码流分组特性分析。

由于算法采用Henon超混沌系统,生成的随机序列相空间结构更加复杂。同时生成二进制序列是用z值来置乱和组合x,y序列,每次生成的二进制序列分组长度不定,不可逆地掩盖了混沌系统原有序列的特性和分组特征,对分割攻击方法有很强的抵抗能力。

4)明文敏感性分析。

对于选择明文攻击和差分攻击,攻击者通常是通过有目的性地对明文作极微小地更改,通过分析密文的变化来推测加密的密码流。实验通过将明文图像中(4,74)处灰度值由67改为68,获得其分别加密后密文的差图,如图7所示。

图7 明文微小改变后密文图像及其差图

由差图可以看出,明文图像的微小改变,导致密文图像很大部分的差异。

利用Matlab进一步仿真实验,改变原明文图像中一个随机选取的像素灰度值(改变1),得到10张对比组图像,对其加密,并将对比组图像的密文与原密文比较,统计灰度值发生改变的像素所占比例,得到表1。

表1 明文微小改变后密文像素灰度值改变比例

由表1可以看出,只微小改变明文图像中一个像素的灰度值,其密文有几乎一半像素灰度值发生变化,符合密码测度中的严格雪崩准则[10]。算法有较强的明文敏感性,可以很好地抵抗选择明文攻击和差分攻击。

5)MD5算法安全性对本算法的影响。

本算法对明文图像的敏感性得益于MD5算法的参与,其安全性受MD5算法影响。尤其是近年来对MD5算法的攻击方面取得了较大的进展[11],使得寻找相同MD5值不同明文的代价大为减小。仔细分析,可以发现MD5算法安全性的稍许损失并不影响本算法的安全性。这是因为,MD5值碰撞难度的降低,虽然导致算法对明文图像的敏感性有缺陷,但对于试图利用该缺陷的攻击者而言,寻找一组具有相同MD5值且满足可以方便地进行攻击分析特征(例如选择明文攻击和差分攻击)的明文图像的代价依然极高。

6)特征值隐藏算法安全性风险分析。

为了在加密者和解密者之间传递明文的特征值,本文中的算法将明文的MD5值加密后根据混沌序列隐藏在密文中。对于已知明文的攻击者而言,明文的MD5值实际上已知,存在安全风险,即相比直接攻击加密算法,攻击者可能更容易获得MD5值在密文中的隐藏规则。意味着攻击者可能获得隐藏MD5值所应用的密码流。

但考虑到本算法隐藏MD5值所用的混沌参数和初值与加密过程并不完全相同,即使攻击者获得前者的密码流,既无法推测出参数,也无法将获得的密码流直接应用到加密过程中。所以,特征值隐藏算法部分所存在的潜在风险并不影响加密算法整体的安全性。

5 结语

基于Henon超混沌系统的图像加密改进算法由于引进了MD5摘要算法,克服了文献[6]中为提高明文敏感性采取的措施的缺陷,并且具有很好的抵抗选择明文攻击的效果。Henon超混沌系统本身的复杂性使混沌序列有更复杂的轨道,配合动态化的密码流分组算法,扰乱了混沌系统原有特性,也使针对密码流分组特征的攻击更加艰难。改进后的算法在巩固提高明文敏感性措施的可靠性上达到了预期效果,并很好地解决了在加密解密者之间共享信息的问题。

参考文献:

[1] YANG TAO,YANG LINBAO,YANG CHUNMEI. Breaking chaotic switching using generalized synchronization: examples[J]. IEEE Transactions on Circuits Systems,1998,45(10):1062-1067.

[2] 肖迪,赵秋乐.一种基于Logistic混沌序列的图像置乱算法的安全分析[J].计算机应用,2010,30(7):1815-1817.

[3] 刘婷,闵乐泉.对一种混沌图像密码的选择明文攻击[J].武汉大学学报:信息科学版,2010,35(5):546-549.

[4] 张涛.一个混沌分组密码算法的分析[J].计算机应用研究,2010,27(6):2294-2296.

[5] 汪海明,李明,金晨辉.对XW混沌密码算法的分割攻击[J].计算机应用研究,2010,27(7):2625-2628.

[6] 陈艳丰,李义方.交替分段相互置乱的双混沌序列图像加密算法[J].华南理工大学学报:自然科学版,2010,38(5):27-33.

[7] HENON M.A two dimentional mapping with a strange attractor[J]. Communications in Mathematical Physics,1976,50(1):69-77.

[8] 袁宁,宣蕾.超混沌序列密码受参数变化影响的实验研究[J].计算机研究与发展,2008,45(sl):351-356.

[9] YONG R,ANOOP G, ALEX A. Automatically extracting highlights for TV-baseball programs[C]// Proceedings of ACM Multimedia. New York: ACM,2000:105-115.

[10] 陈关荣,汪小帆.动力系统的混沌化――理论、方法与应用[M].上海:上海交通大学出版社,2006.

[11] WANG XIAOYUN, YU HONGBO. How to break MD5 and other Hash functions[C]// Annual International Conference on the Theory and Applications of Cryptographic Techniques,LNCS 3494. Berlin: Springer-Verlag,2005:19-35.

上一篇:特征联合熵的一种改进K近邻分类算法 下一篇:离散变结构控制基于扰动动态补偿的理想趋近律