一种位置置乱和交叉换位相结合的图像加密算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种位置置乱和交叉换位相结合的图像加密算法
何冰;朱志平
【摘要】提出了一种基于位置置乱和交叉换位相结合的加密算法,该算法首先利用新构造的位置置乱方法将二维矩阵中行和列映射到一维向量中,然后将一维向量中的亮度值转换为8位二进制数,按照交叉换位的方式将8位二进制数进行位置转换;最后交叉换位之后的8位二进制数重新组合成新的亮度值,同时将一维向量按顺序扫描方式还原成二维图像(图像大小可根据实际加密需要而定).另外本文还将此构造的新算法扩展到彩色图像R、G、B三个分量中,实现了基于彩色图像像素位置和亮度值双重置乱效果.实验结果表明:该算法具有密钥空间大,加密后的图像直方图分布具有白噪声的特性,而且图像相邻像素的相关性更小,这样大大提高了抵抗不法攻击的能力,增加了图像的安全性.
【期刊名称】《科学技术与工程》
【年(卷),期】2014(014)025
【总页数】6页(P96-101)
【关键词】位置置乱;交叉换位;双重置乱;图像安全性
【作者】何冰;朱志平
【作者单位】渭南师范学院物理与电气工程学院,渭南714000;渭南师范学院物理与电气工程学院,渭南714000
【正文语种】中文
【中图分类】TP309.7
信息如何能够安全、有效的传输成为网络技术发展和普及时代所研究的热点。
据统计,通过视觉获取的信息占人们获取所有信息的75%,而图像又是人类从事一切
活动的重要信息源。
因此,如何有效的解决图像数据在网络传输中的安全性和保密性成为信息安全学术领域研究和探讨的焦点。
虽然传统的加密方式如RSA、DES
已经在网络安全领域成熟的应用,但网络非法攻击者、黑客的解密手段也层出不穷,一些传统的加密方式并不适合用来对所有信息进行加密。
如对图像来说,使用DES 加密之后的图像相邻像素之间的相关性很大,如遭到黑客使用统计分析的穷
举攻击,加密之后的图像很容易被破解。
图像置乱是解决图像加密的一种有效方式,近几年来成为图像加密领域研究的热点,置乱后的图像不仅可以作为信息隐藏的一种手段,而且可以应用到数字水印嵌入前的预处理操作。
现有的图像置乱算法可以分为空间域[1—4]和变换域[5—7]里的加密算法,
也可以分为基于像素位置置乱、基于图像色彩亮度值的置乱或由这两者相结合构成的双重置乱算法。
文献[1]里提出了三种图像置乱方法,其中基于Arnold 变换
的数字图像位置置乱,从Arnold 变换周期与图像尺寸的关系示意图可知此算法变换周期较短,导致加密可利用的密钥较小;基于RGB 色彩空间的图像置乱,这种算法存在的问题是对于不同位置的同一种颜色无法进行置乱,置乱后的图像会出现原始图像的轮廓;基于数字图像行、列的RGB 色彩空间置乱,与第二种算法相比较有了一定的改进,置乱后的图像不会出现原始图像的轮廓,其周期的计算也要复杂一些。
此算法置乱效果主要是靠N 维空间扩展的Arnold 变换矩阵实现图像的行、
列置乱的,而N 维Arnold 变换矩阵是一个固定的矩阵,如不法攻击者得到此矩
阵使用穷举攻击仍然可以将置乱后的图像复原。
文献[3]中置乱涉及海量的密钥计算,同时该算法的时间复杂度较高,经过多次迭代运算后才能够达到较优的置乱结果。
文献[4]中提出了一种基于仿射变换的数字图像置乱技术,与Arnold 变
换相比,该变换不含取模运算,只包含简单的加、减、乘运算,计算时间较快,另外其算法求逆变换也较容易,然而该算法的缺点是只对像素位置做了变换,置乱后图像的直方图与原始图像的直方图完全相同,安全性能不高。
针对以上算法存在的不足,提出了一种基于位置置乱和交叉换位相结合的图像加密算法,该算法未涉及较为复杂的数学理论以及推导过程却弥补了上述算法存在的不足,实现过程简单,安全性能高。
1 新构造的置乱算法与传统的置乱方法
1.1 传统的置乱方法
近几年来,致力于图像置乱算法的研究主要集中在以下几种算法:Arnold 变换(又称猫脸变换)、排列变换、Hilbert 曲线置乱、Fibonacci 变换、Gray 码变换、仿射变换等。
本文给出其中几种典型算法的定义
定义1 设I(x,y)表示一幅原始数字图像矩阵,图像大小为N×N,其中(x,y)表示原始图像矩阵的坐标位置,(x',y')表示置乱后图像矩阵的坐标位置;I 表示在(x,y)点或(x',y')点处图像的灰度值或亮度值,则Arnold 变换可以表示为
定义2 将Arnold 变换扩展到高维的情况下,相应的变换矩阵为:
对于数字图像的任意一行矢量或列矢量(x0,x1,x2,…,xN-1)T,做如下变换得到置乱后的行或列矢量(x'0,x'1,x'2,…,x'N-1)T,其中T 表示向量的转置。
定义3 对一幅数字图像矩阵的行或列中任意坐标做排列变换定义如下
式(4)中ad-bc=1(a,b,c,d ∈Z),
定义4 仿射变换的数学表达式定义为
为了便于图像处理,其矩阵形式为
由矩阵形式可知,仿射变换可以分解为缩放(Scale)、翻转(Flip)、旋转(Rotation)、平移(Translation)和错切(Shear)等变换的组合。
Arnold 变换、排列变换、Fibonacci 变换这三种置乱其数学本质是一样的,都是
依靠图像坐标位置的改变来产生一幅杂乱无章的图像,并且以上三种算法均采用了取模运算这样保证置乱后的图像像素位置限定在原始图像区域内;而取模运算在图
像置乱时需要一定的耗时计算;同时由于存在模运算,这三种算法除了Arnold 变
换的逆变换较容易求出外,其余两种算法均不易求出;此外,Dyson 和Falk 等人[5]分析了离散Arnold 变换的周期性,给出了当N>2 时,其周期TN≤N2/2,表1 显示当N=256时,TN=192。
由此可知Arnold 变换的周期较短导致可利用的加密密钥较小,安全性能不高。
定义2中给出的N 维空间的扩展Arnold 变换
矩阵,其周期计算比常规的Arnold 变换复杂的多,但因扩展的变换矩阵是有规律可循的固定矩阵,很难抵抗黑客等非法攻击者穷举搜索。
Hilbert 曲线置乱、仿射变换等置乱算法虽然在求逆变换时,避免了取模运算,降低了计算复杂度,使得反变换容易求出,然而这两种算法也是基于像素位置的改变,变换后图像的直方图等信息依然与原始图像保持一致,截获者通过直方图统计分析攻击,很容易将其破解。
1.2 新构造的位置置乱方法
定义5 设D(r,c)表示二维原始图像矩阵,r,c 分别表示图像在二维矩阵中的行和列,大小为M×M,其中0≤r≤M-1,0≤c≤M-1;L(i)表示二维原始图像矩阵转换形成的一维向量,i 表示一维向量的坐标位置,i=0,1,2,…,M×M-1。
令S=M-|r-c|则
例如:3×3 的二维矩阵经过一次迭代后转换成一维向量后的对应关系如下图所示:
图1 3×3 二维矩阵经过一次迭代后的示意图Fig.1 2D matrix of 3×3 under one iteration
定义5 的推论及算法的周期性分析如下:在实际的图像处理中,图像矩阵一般都为
非方阵即不是M×M 大小,此时只需将本算法扩展至M×N 大小的矩阵。
具体的
扩展方法如下。
Step1:首先将非方阵大小为M×N 的图像扩展至离其大小最近的W×W 方阵
(W=ceil(sqrt(M×N)))。
Step2:将M×N 的图像矩阵Z 字型扫描之后形成的一维向量按行顺序排列转成
W×W 方阵。
由于一维向量与W×W 方阵并非一一映射关系(W×W>M×N),当
一维向量里的值传至W×W 方阵后,方阵里剩余未传值的位置统一填充-1(图像的灰度值一般取值为0~255)。
Step3:按照定义5 将W×W 方阵转换成一维向量,并保存其值为-1 位置下标组成的下标索引流(可作为置乱逆算法中的加密密钥之一)。
Step4:将Step3 中形成的一维向量舍弃元素值为-1 的值,按行顺序扫描转换为
M×N 大小的置乱矩阵。
本文构造的位置置乱算法可看作是对图像二维矩阵里的位置做有规律的重新排列,而一般图像矩阵大小都是有限的,经过若干次迭代之后,图像矩阵又变回原始矩阵的状态,即定义5 给出的位置置乱算法具有周期性。
对于一幅M×N 大小的图像,其元素个数共有M×N,M×N 个元素的全部组合排列为(M×N)的阶乘。
故其周期必然满足:T≤(M×N)!,与Arnold 变换、排列变换、仿射变换的周期相比,本算法的置乱周期要大的多,这样有效的提高了算法的安全性和保密性,表1 给出了不
同算法周期的比较结果;图2 给出了定义5 算法经过10次迭代之后的置乱效果及
三维直方图显示。
表1 不同置乱算法周期的比较结果(图像矩阵为大小N×N)Table 1 The comparison results of different scrambling algorithm(The size of image matrix is N×N)
2 位置置乱和交叉换位相结合的置乱算法
图2 Lena 灰度图像经过10 次迭代后的示意图Fig.2 Gray image of Lena under 10 iterations
通常一幅彩色图像主要是由R、G、B 三个分量构成,计算机里的数字图像三个分量的亮度值是由0~255 之间的正整数组成,即VRGB={(R,G,B),R,G,B=0,1,…,255}。
通过将每个像素点对应位置的亮度值置乱,可以充分打乱彩色图像
的色彩统计特性以及直方图的分布,更加有力的增强了图像在传输过程中的安全性和保密性。
因为R、G、B 分量的亮度值都是介于0~255 之间的正整数,而0~255 的数值刚好可以用8 位二进制数来表示。
则彩色图像的某一点位置上的亮度
值(R、G、B)可以表示为元素值都为0 或1 的3×8 二进制矩阵,对此二进制矩阵
使用交叉换位即可得到彩色图像亮度值的置乱。
例如:一幅彩色图像某一点处的亮
度值:R=200,G=150,B=191;经过交叉换位后得到的R'=7,G'=105,B'=251,其过程如图3 所示;
图3 8 位二进制交叉换位示意图Fig.3 The exchange diagram of 8 bit binary value
具体算法步骤如下:
令原始图像I 的大小为M×N(M 为图像的高度,N 为图像的宽度)。
Step1:将原始图像I 按照定义5 中的算法转换成一维向量R(i),i ∈(1,2,3,…,M×N)。
Step2:R(i)十进制的表示转换为8 位二进制表示,设S(i)表示8 位二进制序列。
Step3:对S(i)进行交叉换位操作,操作如图3所示。
即:S(i)的第1 位与第8 位相互换,第2 位与第7 位相互换,第5 位与第6 位相互换,第4 位与第3 位相互换,得到V(i)。
Step4:将新生成的一维向量V(i)按照还原为M×N 大小的矩阵或其他任意大小矩阵,该矩阵即为改进置乱矩阵。
图像还原是置乱过程的逆过程,具体过程与置乱过程刚好相反,即将图像构造算法的正向过程替换为反向过程,因篇幅原因,本文就不再给出逆算法的具体实现步骤。
3 实验结果分析
为了验证提出算法的有效性和安全性,本文采用MatlabR2012a 软件平台对所提
出的置乱算法分别从灰度差异度、直方图相似性、相邻像素相关性分析等三个方面进行比较分析(实验过程PC 机硬件环境:Intel CPU 双核2.96 GHz,2 G 内存,独显)。
表2 给出了改进后位置置乱算法与Arnold 变换、仿射变换置乱经过若干次
迭代之后的结果;图4 给出了置乱算法与Arnold 变换、仿射变换置乱后的图像的
比较结果(以Baboon 彩色图像为原始图像)。
3.1 灰度差异度分析
一幅图像相邻两个像素的灰度差异计算方法如下
式(7)中G(x,y)表示坐标(x,y)位置的灰度值。
整幅图像的平均相邻像素差异计算方法如下
原始图像与置乱图像的平均相邻灰度绝对差异定义为
式(9)中Waver表示原始图像;W'aver表示置乱图像。
通过表2 和图5(以Lena 图像为测试图像)的实验结果表明与Arnold 置乱、仿射
变换算法相比本文改进后的算法只需少量迭代就能达到较优的置乱效果,而且在不同迭代次数下图像灰度差异度变化不大,更接近于1,加密后的效果更好。
3.2 直方图分析
一幅图像的概貌可以通过其灰度直方图来描述,图6 的实验结果表明,Arnold 置乱和仿射变换之后置乱图像的直方图和原始图像的直方图保持一致,而本文算法得到的灰度直方图其分布更接近白噪声(分布比较均匀),具备这一特点很难使用统计分析和差分分解破解加密图像,这样增强了图像在传输过程中的安全性。
图4 Baboon 彩色图像迭代5 次后的实验结果Fig.4 The experimental result of Baboon color image under 5 iterations
图5 三种置乱算法灰度差异度结果Fig.5 The gray difference results of 3 scrambling algorithm
图6 三种置乱算法直方图分析结果Fig.6 The histogram analysis results of 3 methods of scrambling algorithm
表2 不同置乱算法经过若干次迭代之后的置乱图像(N 为迭代次数)Table 2 The image of different scrambling algorithm under some iteration
3.3 图像相关性分析
对于原始图像和加密后的图像使用公式(10)来检测其相邻两个像素的相关性。
其定义如下:
分别选取Lena 图像中垂直、水平、对角线方向的500 对相邻像素进行分析。
表3 的实验结果显示,改进算法的置乱图像,相邻像素的相关性分析的数值接近于0。
表3 不同置乱算法相关性的比较结果Table 3 The comparison results of different scrambling algorithm about correlation analysis
4 结论
提出了一种基于位置置乱和交叉换位相结合的加密算法。
通过仿真实验结果表明,所提出的算法具有很大的密钥空间、良好的直方图分布特性;同时通过图像相关性
的实验证明,所提出的算法具有很高的安全性和保密性。
参考文献
【相关文献】
1 丁玮,闫伟齐,齐东旭.基于Arnold 变换的数字图像置乱技术.计算机辅助设计与图形学学报,2001;13(4):338—341 Ding Wei,Yan Weiqi,Qi Dongxu.Digital image scrambling technology based on Arnold transformation.Journal of Computer Aided Design &Computer Graphics,2001;13(4):338—341
2 张爱华,江中勤.基于Logistic 映射的混沌图像加密算法的改进,南京邮电大学学报
2009;29(4):5—9 Zhang Aihua,Jiang Zhongqin.Improved chaotic image encryption algorithm based on Logistic map.Journal of Nanjing University of Postsand Telecommunications,2009;29(4):5—9
3 柏森,曹长修,曹龙汉.基于骑士巡游变换的图像细节隐藏技术.中国图像图形学报,
2001;6(11):1096—1100 Bai Sen,Cao Changxiu,Cao Longhan.The details of the image hiding technology based on knight tour transformation.Journal of Chinese Image and Graphics,2001;6(11):1096—1100
4 柏森,曹长修,柏林.基于仿射变换的数字图像置乱技术,计算机工程与应用,
2002;10(5):74—78 Bai Sen,Cao Changxiu,Bai Lin.The digital image scrambling technology based on affine puter Engineering and Applications,2002;10(5):74—78
5 戴琳琳.基于矩阵变换的图像加密算法研究.哈尔滨:东北林业大学,2013 Dai Linlin.Research on image encryption algorithm based on matrix transformation.Harbin:Northeast Forestry University,2013
6 孙秋冬,顾永杰,马文新,等.基于小波变换的数字图像双重随机置乱加密.上海第二工业大学学报,2008;12(4):18—25 Sun Qiudong,Gu Yongjie,Ma Wenxin,et al.The dual random digital image scrambling encryption based on Wavelet transform.Journal of Shanghai Second Polytechnic University,2008;12(4):18—25
7 赵刚,李建平,唐真,等.基于小波变换和Feistel 密码结构的图像置乱技术.后勤工程学院学报,
2008;6(3):75—78 Zhao Gang,Li Jianping,Tang Zhen,et al.The image scrambling technology based on Wavelet transform and Feistel cryptography.Journal of the Institute of Logistics Engineering,2008;6(3):75—78
8 王广超,罗来鹏.一种广义Gray 及其在数字图像置乱中的应用,华东交通大学学报,
2012;5(3):23—26 Wang Guangchao,Luo Laipeng.A generalized Gray and its application in the digital scrambling image.Journal of East China Jiaotong University,2012;5(3):23—26。