Journal of Computer Applications ISSN 1001-9081 2012.06—0l 计算机应用,2012,32(6):1646—1649,1653 CODEN JYIIDU http://www.joca.cn 文章编号:1001—9081(2012)06—1646—04 doi:10.3724/SP.J.1087.2012.01646 基于改进遍历矩阵和像素值扩散的通甩图像加密算法 王继军 (广西财经学院信息与统计学院,南宁530003) ( 通信作者电子邮箱wangjijunl209@126.com) 摘要:为了提高遍历矩阵的随机性和安全性,实现对图像信息的有效保护,提出了遍历矩阵构造的新方法,并 结合像素值扩散设计了一种有效的图像加密算法。首先,利用混沌序列构造出完全不依赖载体图像灰度值的整数遍 历矩阵,并利用此矩阵在图像空域进行迭代置乱,改进了传统遍历仅按特定路线扫描的局限性,以及对遍历周期和次 数的过分依赖性;接着采用一个均匀分布的新混沌数列实现像素值扩散,改变了图像的统计特性,并使混沌映射不可 逆;最后,构造出符合密码使用习惯的密钥生成系统,形成相对完整的加密体系,实现了图像加密。从统计特性、密钥 空间、像素相关性、密钥敏感性、差分分析等多方面对算法的安全性进行了分析,结果表明,算法密钥空间大,抗攻击能 力强,安全性高,实用性强。 关键词:信息安全;图像加密;遍历矩阵;4g素值扩散;混沌系统 中图分类号:TP309.7 文献标志码:A Image encryption algorithm based on improved ergodic matrix and pixel value difusion WANG Ji.Jun (School of Information and Statistics,Guangxi University of Finance and Economics,Nanning Guangxi 530003,China) Abstract:In order to improve the randomness and safety of the ergodic matrix and effective protect image information,a new image encryption method was proposed based on the ergodic matrix and pixel value diffusion.First,the input image was permuted independently by using the ergodic matrixes which were generated by discrete chaotic system.And then pixel value diffusion was realized by a uniformly distributed chaotic sequence.The statistical properties of the image got changed and the chaotic mapping was made irreversible;Finally,password generation mechanism was constructed to not only comply with usage of cryptography,but also to enhance usability.A relatively complete eneryption system was built up to achieve the image encryption.The security had been analyzed using statistical analysis,key sensitivity analysis,differential analysis,key space analysis,etc.The results demonstrate that the algorithm has good properties of confusion,diffusion and statistic distribution of pixel value,SO the algorithm has better scrambling effect in comparison with other approaches.It is safe and practical and easy to realize. Key words:information security;image encryption;ergodic matrix;pixel value diffusion;chaotic system 0 引言 随着计算机技术、网络技术和信息处理技术的发展,人们 始图像,并能够得到相应的加密设备,便能在仅不知道密钥的 情况下获得相应的密文,可见这种靠单一修改像素值的方式 不能从根本上防止攻击者进行选择明文攻击。另一种方法是 借助互联网传输、交流、共享信息已成为生活的一部分,它具 有方便、快捷的特点,但也存在一些安全问题,如传输的信息 改变像素矩阵排列方法 ,如:猫映射、二维面包师、三维 面包师、动态构造P盒等方法,这些算法具有密钥空间大,加 可能被非法浏览、查看、篡改、破坏等。由于图像信息直观、形 象、生动而被人类广为利用,成为人类表达信息的重要手段之 一密速度快等优点;还有如:幻方、z字形、传统遍历加密等方 法,这些算法都是基于固定的变换模板,或直接依赖载体图像 ,因此研究图像的安全问题很有意义。 的灰度值产生遍历模板,对于抵抗明密文攻击等均不够理想。 而如果将改变像素值与改变像素矩阵排列的方式结合起来就 能够很好地防御攻击。 本文对传统的遍历加密进行改进,改变了传统遍历都足 按照一种特定扫描路线产生,且加密主要依靠遍历次数的局 限性,构造出了完全不依赖于载体图像灰度值的遍历矩阵,同 目前图像加密方法主要有两种:一种是像素值变换;另一 种是对像素矩阵重新排列置乱。在像素变换部分重点在于密 钥的产生,如基于不同混沌方程构造出的多相输出伪随机发 生器…和利用现有的混沌方程构造一些新的混沌方程等方 法 “ ;在文献[7]中提到的混沌图像加密方法中指出,直接 将混沌系统所产生的密钥流序列与明文图像对应的像素进行 异或操作,这种方法不能很好地抵抗明密文攻击。由此文献 时加、解密均有迭代结构,加密也不受周期的制约,适合计算 机快速实现。加密时,首先输入密码,通过密钥系统生成算法 所需参数;然后对生成的实数混沌序列经排序和位置对应等 构造出整数遍历矩阵,用其对图像各像素位置实现循环置乱; 最后利用一个分布均匀的新混沌系统产生像素值扩散,实现 [8]结合改良的NTRU(Number Theory Research Unit)公钥密 码技术,建立了一种新的图形图像公钥密码,该密码 能抵御选择明文等攻击。但很多加密算法,若攻击者拥有原 收稿日期:2011-11—14;修回日期:2012.O1—14。 基金项目:广西教育厅项目(201106LX485);广西财经学院校级课题(2011A04)。 作者简介:王继军(1981一),男,山西兴县人,讲师,硕士,主要研究方向:图像处理、信息隐藏、数字水印。 第6期 王继军:基于改进遍历矩阵和像素值扩散的通用图像加密算法 1647 像素值逐点加密,极大地提高了安全性。 遍历是可迭代的。该方法原理简洁,实现方便,因遍历的可逆 性较为直观,在此不再作证明。 1 本文图像加密算法 1.1混沌系统 混沌系统是一种复杂的非线性动力系统,混沌现象是在 圈圜圜囡 (a)二次加密 (b)遍历矩阵E (c)一次还原 (d)二次还原矩阵 矩阵R2 矩阵Ml M2(原始矩阵 非线性动力系统中出现的类似随机的过程,Logistic映射是一 类被广泛研究的动力系统,定义为: +l=/xa (1一a ) (1) 图2遍历解密原理示意图 1.3改进遍历矩阵的构造 其中:0≤ ≤4称为分支参数,当。 ∈(0,1)且3.569945≤ ≤4时,Logistic映射工作于混沌状态,且由混沌序列的概率 在上述遍历原理的阐述中,遍历矩阵层是人为给定的, 根据遍历矩阵的定义,适合图像加密的遍历矩阵必须满足两 密度函数、均值以及互相关函数等性质知,混沌序列具有如下 特点:1)确定性和伪随机性;2)既非周期又不收敛;3)对初值 的敏感性;4)不可预测性;5)序列的产生速度快。 1.2遍历矩阵改进 从矩阵的某一个元素开始,沿某一特定的顺序依次访问 各个元素,直到最后一个元素,这种特定的访问顺序就形成一 种遍历,常见的遍历有:按行遍历、按列遍历、“之”型遍历、螺 旋式遍历 J。而通常意义下的遍历,都是按照一种特定的扫 描路线产生,且受周期性和遍历次数的制约,若将其直接用于 图像加密,安全性不够高,且加密图像遭攻击时,抵抗力弱,还 原效果差。本文对遍历方法进行了扩展。 定义1 给定一个矩阵 ,若有一个大小相同的矩阵E, 中各元素均是按照某种大小关系或逻辑关系等得到的一组 连续区问内的正整数值,且这些值无序、不重复,若将E中的 值与矩阵M的位置建立一一对应关系,就可以通过顺次访问 E中的值,得到M中对应位置下的值,建立出一个新的矩阵 足,将这样的矩阵 称为遍历矩阵,新建立的矩阵足即为置乱 加密矩阵,根据同一个遍历矩阵E可对矩阵 进行多次置 乱。遍历加密原理如图1所示,遍历过程可用式(2)表示: R(i,J):M(f、’ ,^ ],’ E(i,J)一 f『\I ]一1 f / 1×n 1 (2) 其中:M是原始矩阵;E是遍历矩阵;R是一次遍历得到的矩 阵;E(i, )表示的是顺次扫描矩阵 时, 中第E(i, )个 元素在矩阵R中的位置是(i, ),当顺次遍历完矩阵 时, 中的元素均会在R中有一个唯一确定的位置,矩阵 就是矩 阵 按矩阵E遍历的结果。 (a)原始矩阵M圈圜圜(b)遍历矩阵E (c)一次置乱 (圈 d)二次置乱 矩阵砌 矩阵R2 图1 遍历加密原理示意图 遍历的解密原理如图2所示,解密过程可用式(3)表示: M f『、 n ], ’E(i, )一 f『、 0 n ]一11, × ): ( , ) (3) 其中:矩阵 为遍历对象,E(i, )表示的是矩阵足中(i, )位 置的元素,在还原矩阵中的位置是顺次读取还原矩阵时的第 E(i, )个元素,顺次遍历完矩阵露,就还原出M。 这种遍历置乱方式主要依赖于遍历矩阵层中的值,而与 被置乱矩阵M中元素的大小等无关,且从上述遍历原理可知 个条件:1)遍历矩阵中的值,必须为正整数,且在一个连续的 区问内;2)遍历矩阵中的元素不能重复。下面给出遍历矩阵 的具体构造方法: 假定待加密图像大小为m×rt,构造时,首先确定好 值 和种子 。的值,并用式(1)产生一个长为m×n的随机数列 P,由式(1)的特性可知,i≠ 时,P ≠Pj,也就是说序列中不 会有相等的元素,将序列P中的元素按从小到大或从大到小 排序,记排序后的序列为Q,显然序列P与Q中的元素是完全 相同的,但因排序使得同一元素在两个序列中的位置会发生 改变,不妨用二元组(i, )表示同一元素在序列P与Q中的位 置序号,显然一个i值有唯一的 与其对应,我们将由i取1,2, …,m×n时,对应的m×n个 值,按顺序写成m×n的矩阵E, 此时,矩阵 中的元素是位置记录值,均为正整数,且每个元 素的取值恰好是[1,m×n]中的某一个值,因位置号不重复, 故这m×//-;个值也不重复,显然E满足上述两个条件,矩阵层 即为构造的遍历矩阵。 1.4像素值扩散 有两个原因要在加密算法中引入扩散:一方面,扩散处理 可以使得离散化的混沌映射不可逆;另一面,通过在整个密文 图像上散播明文图像,可以极大地改变明文图像的统计特性。 否则,攻击者就可能通过比较成对的明文与密文发现有用信 息进而攻破加密系统。为了实现扩散,首先,利用式(4) 所 示的混沌动力系统,生成混沌数列: +1=sin(t arcsin( )); 0∈[一1,1] (4) 生成的序列 完全满足无序无规律,但分布还不够均 匀,为了使其更完善,需做进一步处理。令 Y =(2/7r)arcsin( ) (5) 由式(5)得到的序列Y ,分布非常均匀,只是Y 为浮点 数,不便于后期运算,在此通过一个缩放因子将其放大,并舍 入取整,形成整数序列z ,计算公式如式(6): . 1 .=fL ×256+0.5 lJ (6) 对遍历后生成的密文图像 做如下处理,便可产生像素 值扩散: C(k)= o((R(k)+ )mod 256)①C(k一1)(7) 其中:R( )是密文图像当前操作像素,初始值C(0)=Js,S为 整数,其也是密钥的一部分。扩散操作的逆变换公式为: R(k)=(( o C( )o C(k一1))+256一 )mod 256 (8) 因C( 一1)已知,C( )便可算出。其余均已知,且该过 程无数据溢出,故R(k)可被还原,证明略。 1.5密钥的生成 考虑到密码学的基本要求,密文应该与密钥有密切的关 第6期 王继军:基于改进遍历矩阵和像素值扩散的通用图像加密算法 1649 个初值即使存在很细微的差异,也无法解密得到正确图像,这 是由混沌系统对初值的敏感依赖性所决定的。 大,那么 的值一定比较大,且如果密文图像敏感地依赖 于明文图像,那么由不同明文产生的NPCR也将会很大。实验 结果如表3所示(明文相差1比特)。 3.6信息熵分析 (c) 相差10 0时解密图像 (d)正确还原图像 霜■ 一叠 以8比特的字节为单位,如果信息中各灰度值出现的概 率符合均匀分布,即每个符号的概率为1/256,那么理想的理 论熵值应该为8,这样的信息不容易泄露。在实际中,各灰度 不可能完全均匀分布,但好的加密方法应该使加密图像的熵 值尽可能接近8。信息熵计算公式如式(12): H(S)= P(s )lb P(s ) (12) 了 其中:P( )表示灰度值s 出现的概率。本文实验结果如表3 右侧所示,从实验结果可看出,信息熵都很接近理想值8,算 法可有效抵抗熵攻击。 图5密钥敏感性测试 3.4像素相关性分析 相关性测试利用了式(10)[131,其中 、Y 代表相邻两个 像素的灰度值,Ⅳ代表样本中像素的总数,对于一幅有意义 的图像应该有比较大的相关度,而加密后的图像像素之问的 关联程度应该尽可能得小,也就是相关系数越小越好。测试 结果如表2所示。 Ⅳ∑( ×Yi)一∑ ×∑Y C =— = ==i==1= =i =i==! =i==1= =一 √(N )一( )‘×(Ⅳ y 一( y 2) (10) 表2加密前后图像各分量不同方向相关系统 从实验可看出,算法有效破坏了图像的相关性,说明明文 的统计特性已被扩散到随机密文中,算法能够抵抗已知密文 攻击。 3.5差分分析——密文对明文敏感性分析 攻击者将同一明文进行微小变化然后观察密文的变化情 况,如果密文的变化很小的话,攻击者容易找出密文与明文的 关系,从而破解加密过程,但如果两个密文的差别较大,那么 差分分析对于攻击者将毫无意义。用像素数目改变率 (Number of Pixels Change Rate,NPCR)和平均强度变化率 (Unified Average Changing Intensity,UACI) 两个参数来分 析差分的难易度。NPCR是从像素的差异数目来评价图像之 间的差异,UACI是从像素变化带来的视觉效果差异评价。 NPCR和UACI计算方法如式(11): ∑D(i, ) ⅣP 100% UACI= [ ]× oo% (11) 其中:C (i, )和 (i, )代表两幅图像在(i, )处的像素 值;M和Ⅳ代表图像的宽度和高度;如果C。(i, )=C:(i, ), 则D(i, )=0,反之D(i, )=1。可知:如果两幅图像差异很 表3密文对明文敏感性测试及信息熵 4 结语 本文对传统的遍历方法作了改进,并结合像素值扩散设 计了一种图像加密算法。其主要优点:1)改变了传统遍历都 按照一种特定的扫描路线产生的单一模式,使遍历矩阵 于载体图像,随机性更强,可移植性更好,安全性更高;2)加 密不受传统遍历周期的约束,加、解密都具有迭代结构,适合 于计算机快速实现,且加密效果不依赖于迭代次数,一次遍历 加密就能得到较理想的效果,算法效率较高;3)遍历加密与 像素值扩散相结合,抗攻击能力更强;4)密钥空间大,安全性 高,符合密码实际应用习惯;5)算法通用性强,不论灰度图 像、彩色图像均适用;6)从统计特性、密钥空间、像素相关性、 密钥敏感性、差分分析等多方面对算法的安全.I生进行了分析, 结果均表明,算法抗攻击能力强、安全性高、实用性强。从安 全性和实用性等不同角度考虑,本文算法在图像加密方面有 良好的应用价值。 参考文献: 【1] Ll P,LI Z,WOLF G A,et a1.Analysis of a multiple-output pseu- do—random bit generator based on a spatiotemporla chaotic system [J].International Journal of Bifurcation and Chaos,2006,16(10): 2949—2963. [2]XIANG TAO,LIAO XIAO—FENG,TANG GUO—PING.A novel blocks cryptosystem based on iterating a chaotic map【J].Physics Letters A,2006,34(9):109—115. [3] 张文涛,卿斯汉,吴文玲.基于混沌函数的分组密码的安全性评 估[J】.软件学报,2003,14(3):512—517. [4] 李红达,冯澄国.复合离散混沌动力系统与Hash函数[J].计算 机学报,2003,26(4):460—464. (5] 邓绍江,黄桂超,陈志建,等.基于混沌映射的自适应图像加密 算法[J】.计算机应用,2011,31(6):1502—1504. 【6] 胡学刚,王月.基于复合混沌系统的图像加密新算法[J].计算机 应用,2010,30(5):1209—1212. [7]TONG XIAO—JUN,CUI MtNG-GEN.Image encryption with eom— pound chaotic sequence cipher shifting dynamically[J].Image and Vision Computing,2008,26(6):843—850. (下转第1653页) 第6期 许杰等:基于VL1w DSP加密与认证算法的实现 1653 4仿真实验结果与性能比较 表2~7的实验结果表明,VL1w DSP吞吐率低于ASIC、 FPGA,但在通用性和灵活性上高于ASIC、FPGA,硬件成本也 较低。吞吐率则高于其他普通型DSP,VLIW DSP在成本和速 度上取得一个较好的折中,具有较广泛的应用前景。 表5 DES性能比较 实际应用中,使用DSP加密芯片,可以实现多种类型加密算 法,应用前景非常广泛。 参考文献: [1】LIU YUAN,HE HU,XU TENG.Architecture design of variable lengths instructions expansion for VLIW ASIC[C]//The 9th Inter- national Conference on ASIC.Piscataway:IEEE Press。2009:29— 32. [2] FOROUZAN B A.密码学与网络安全[M].马振晗,贾军保,译. 北京:清华大学出版社,2009:146—173. [3] 胡向东,魏琴芳.应用密码学[M].jE京:电子工业出版社,2006. [4】 SCHNEIER B.应用密码学:协议、算法与C源程序[M】.吴世 忠,祝世雄,张文政,等译.北京:机械工业出版社,2000. [5】 谷利泽,郑世慧,杨义先.现代密码学教程[M].北京:北京邮 电大学出版社,2009. [6] 李树国,周润德,冯建华,等.RSA密码协处理器的实现[J].电子 学报,2001,29(11):1441—1444. [7】 邓安文.密码学——加密演算与密码分析计算实验[M].台北: 全华科技图书股份有限公司,2006. [8】 McLOONE M,McCANNY J V.High—performance FPGA implemen- tation of DES using a novel method for implementing the key sehed— 表7 MD5性能比较 ule(J】.IEE Proceedings Circuits Devices and Systems,2003,150 (5):373—378: [9】 晏福平,盛利元,简远呜.基于DSP的3DES加密系统的设计与 实现【J].计算机测量与控制,2009,17(7):1390—1392. [10] SATOH A,INOUE T.ASIC hardware focused comparison for hash functions MD5,RIPEMD一160,and SHS[C】//Proceedings of the International Conference on Information Technology:Coding and Computing.New York:ACM Press.2005:3一l0. [11]张小萍,周大水.RSA在DSP下的快速加密实现[J].计算机 参考设计 器件类型 频 ̄/MHz运行时间/ms 工程与设计,2004,25(7):1093—1095. [12]刘亮,胡冰,徐海波,等.RSA算法的一种DSP快速实现【J].计 算机应用研究,2005,22(4):144—146. 【13】 BLUM T,PAAR C.High—radix montgomery modular exponentia- tion on reconfigurable hardware[J].IEEE Transactions on Comput— er8,2001,50(7):759—764, [14] NAKANO K,KAWAKAMI K,SHIGEMOTO K.RSA eneryption 5 结语 and decryption using the redundant number system on the FPGA 【C】//Proceedings of the 2009 IEEE International Symposium on 本文针对Vuw DSP的特殊结构,使用汇编语言和定制 Parallel&Distirbuted Processing.Washington.DC:IEEE Comput— 部分指令实现加密和认证算法。在DES算法执行中,使用子 er Society.2009:1—8. 模块增加设计了专用指令,DES能达到1 047.2 Mbps。VL1w [15] BO SONG,KAWAKAMI K.An RSA encryption hardware algo— DSP充分利用x—Y簇并行特点,将数据准备部分交由Y簇单 rithm using a single DSP block and a single block RAM on the FP— 元并行实现,这种效果在SHA1和MD5尤为明显,速度分别 GA[C]//Proceedings of the 2010 First International Conference 达到526.6 Mbps和500.8 Mbps。在实现RSA时,采用 on Networking and Computing.Washington,DC:IEEE Computer Montgomery乘法和MSB二元法,可达到每秒运行15—3O次, Society,2010:140—147. (上接第1649页) [8] 泽辉.集成随机置乱和环论的图形图像公钥加密技术[J].计算 novel blocks cryptosystem based on iterating a chaotic map[J]. 机辅助设计与图形学学报,2009,21(5):708—712. Physics Letters A,2006,349(1—4):109—115. [9] 林雪辉,蔡利栋.基于Hilbert曲线的数字图像置乱方法研究 [13]CHEN GUAN.RONG,MAO YAO-BIN,CHARLES K C.A [J].中国体视学与图像分析,2004,9(4):224—227. symmetirc image encryption scheme based on 3D chaotic cat maps [1O]卢振泰,辛学刚,陈武凡.基于z字形编码的数字图像加密[J]. 计算机工程与设计,2009,30(9):2145—2147. [J].Chaos,Solitons and Fractals,2004,21(3):749—761. [11]袁岁维,范九伦,张雪锋.基于循环移位的数字图像置乱加密 [14]CHEN GUAN-RONG,MAO YAO-BIN. Chaos—based image [J].计算机应用研究,2009,26(12):4821—4824. encryption[EB/OL].[201l一10-20].http://www.open-image. [12]XIANG TAO,LIAO XIAO FENG,TANG GUO—PING,et a1.A org/725publieatiort/joumaL/CBIE.pdf.