资源描述:
《基于混沌映射的一种交替结构图像加密算法_张翌维》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、中国科学E辑:信息科学2007年第37卷第2期:183~190《中国科学》杂志社http://www.scichina.comSCIENCEINCHINAPRESS基于混沌映射的一种交替结构图像加密算法1*21张翌维王育民沈绪榜(1.西安微电子技术研究所,西安710054;2.西安电子科技大学综合业务网国家重点实验室,西安710071)摘要将分组密码学中的交替结构首先引入到基于混沌映射的图像加密系统中.采用广义猫映射进行像素的置换和扩散,将单向耦合映射格子用于像素替代,两种操作交替执行.在每一轮加密中,通过简单的密钥扩展产生两种子密
2、钥,分别用于不同的混沌映射,密钥长度随加密轮数而变化.解密的算法结构与加密结构相同,仅需按倒序输入解密密钥.安全性分析表明,该加密算法对密钥十分敏感,对多种攻击手段都具有较好的免疫性,执行速率高且代码紧凑,适用于各种软、硬件的图像加密平台.关键词混沌加密广义猫映射单向耦合映射格子图像加密混沌是非线性确定系统中由于内禀随机性而产生的外在复杂表现,是一种貌似随机的非随机运动.基于混沌的保密技术已经涉及到数据安全及保密通信等众多研究领域,目前许多研究将混沌信号作为通信中的载波以对抗多径衰落,并具有一定的保密性.然而,无论采用载波同步解调还
3、是非相干接收的通信方式,混沌载波通信所具有的保密性都已经受到了不同[1—3]程度的威胁.在基于载波同步的混沌保密系统中,混沌同步特性容易被攻击者利用进行状态空间重构;对于非相干的混沌扩频系统,截获者可通过训练预测出各码元的时间窗口,并进行与权威接收端类似的差分解调.另一个研究方向是抛弃电信意义上的调制解调,设计基于密码学概念的混沌加密算法,[4]在密钥的控制下保证信息安全.通常一个好的加密算法应具备下述特征:(a)将明文映射为随机密文;(b)对明文敏感;(c)对密钥敏感.这和混沌系统的伪随机性、对初值敏感、对参数敏感等特点十分相似,
4、因此,将离散混沌映射收稿日期:2006-07-16;接受日期:2006-10-11国家自然科学基金资助项目(批准号:60473027)*联系人,E-mail:changdavid@163.com184中国科学E辑信息科学第37卷[4—8]应用于加解密系统本身的研究在当前颇受关注.利用各种混沌映射的不同特性进行加密,具有方式灵活、结构简单、保密性强等特点.随着信息技术的发展,图像保密技术将在越来越多的应用场合受到重视.由于图像加密具有数据量大、相邻像素间相关性强等特点,一些传统的加密算法并不适合于加密图像信息.文献[5,6]分别介绍了
5、广义猫映射(Cat-map)和单向耦合映射格子(OCML,One-waycoupledmaplattice),两种方法分别具备了图像加密所需的部分要素.但是采用单一映射加密在密钥长度和[7]抵抗穷举攻击等方面都有一定缺陷.本文将分组密码学中的交替结构首先运用到基于混沌映射的图像加密系统中,交替使用两种混沌映射进行多轮次的置换、扩散和替代.实验分析结果表明,该算法能够有效地抵抗统计分析和选择性明文攻击,适用于图像及块状数据的保密传输.1广义猫映射与单向耦合映射格子算法中选用了两种混沌映射,它们各具特色,这里首先进行简单的介绍.1.1广
6、义猫映射[4,5]猫映射是人们所熟知的一种混沌映射,其数学表达式为⎛⎞⎛⎞xxnn+1⎛⎞11⎛⎞xn⎜⎟⎜⎟==Cmod1⎜⎟⎜⎟mod1,(1)⎝⎠⎝⎠yynn+1⎝⎠12⎝⎠yn其中伴随阵满足
7、
8、1C=,由于采用了mod1运算,猫映射的相空间限制在(0,1)内.为了能够运用于图像加密,需要将猫映射扩展到N×N的矩阵内并离散化,有⎛⎞xxxnnn+1⎛⎞ab⎛⎞⎛⎞⎜⎟==⎜⎟⎜⎟modNC⎜⎟modN,(2)⎝⎠yyynnn+1⎝⎠cd⎝⎠⎝⎠这样,相空间推广到{0,1,2,?,N−1},即伴随阵中参数和各状态变量都取0到N−
9、1的正整数,并仍需满足
10、
11、Ca=−=dbc1.(2)式称为广义猫映射,其逆映射为⎛⎞xxnn⎛⎞db−⎛⎞++11−1⎛⎞xn⎜⎟==⎜⎟⎜⎟modNC⎜⎟modN.(3)⎝⎠yynn⎝⎠−ca⎝⎠++11⎝⎠yn在对NN×的图像块进行像素位置置换时,首先建立一个等大的输出空间,然后将此空间中的每个像素坐标(,)ij作为初始值(,)x00y代入(2)式中,通过一次迭代产生新的坐标(,)x11y,并将输入空间中的第(,)x11y个像素放置到输出空间的(,)x00y位置中.为了表述方便,可定义一个坐标矩阵变换Catmap()•来完成对所
12、有像素的位置置换.例如,一个33×像素块的初始坐标空间为⎛⎞(0,0)(0,1)(0,2)⎜⎟I0=⎜⎟(1,0)(1,1)(1,2),⎜⎟(2,0)(2,1)(2,2)⎝⎠⎛⎞11设C=⎜⎟,则进行一次迭代得到的输出坐标空间I1为⎝