二次Arnold变换图像置乱加密算法
2015-09-17邢坤
邢 坤
(东北林业大学)
0 引言
图像作为人类认识和描述世界的一种基本方法,应用非常广泛.随着网络通信技术和云存储技术的飞速发展,数字图像在网络通信中所占的比例越来越大,要保证图像信息在网络节点中安全传输,需要寻求安全有效的图像加密技术.
图像置乱是通过某种变换算法使一幅原始数字图像变成一幅杂乱无章的加密图像,使其真实信息无法直观的获取,从而达到保密原始图像的效果,是一种常用的图像加密的方式.
现在已经总结的图像置乱方案可以分三类[1-7]:(1)基于位置空间的之乱算法;(2)基于色彩空间的置乱算法;(3)基于位置和色彩空间的置乱算法.
在各种图像置乱算法中,Arnold变换具有算法简单、置乱效果显著并且具有周期性特点,广泛的被应用在数字水印方面,同样也适用于图像信息加密方面[8].该文采用Arnold变换二次置乱图像加密算法,该算法首先将图片应用Arnold变换进行加密,再从均匀分块的角度出发,先将块的位置打乱后,把分块图像合并,最后再对其应用Arnold变换进行加密,从而得到加密图像.
1 Arnold变换
Arnold变换是V.J.Arnold在遍历理论的研究中提出的一种变换,俗称猫脸变换(Cat Mapping)[9-10],假设在平面上的单位正方形内绘制一个猫脸图像,通过如下变换:
这个猫脸图像会由清晰变为模糊,这就是Arnold变换.但当具体到数字图像上,需要将式(1)中的二维Arnold变换改写为:
其中,(x,y)是像素在原图像中的坐标,(x',y')是变换后该像素在新图像中的坐标,N是图像矩阵的阶数,即图像的大小,一般指正方形图像.
当对一幅图像进行Arnold变换时,就是把图像的像素点位置按照式(2)进行移动,得到一个相对原图像混乱的图像.对一幅图像进行一次Arnold变换,就相当于对该图像进行了一次置乱.通常这一过程需要反复迭代多次才能达到满意的效果.
利用Arnold变换对图像进行置乱,使有意义的数字图像变成像白噪声一样的无意义的图像,实现了信息的初步隐藏,并且置乱次数可以为水印系统提供密钥,从而增强了系统的安全性和保密性[11].
Arnold变换可以看作是拉伸、压缩、折叠及拼接的过程.由于离散数字图像是有限点集,这种反复变换的结果,开始阶段图片中像素点的位置变化会出现相当程度的混乱,但是有限点集的重复迭代在本质上是有周期的,因而系统在经过有限次迭代后出现回复的现象,即所谓的庞加莱回复性.也就是说对图像反复的进行Arnold变换,迭代到一定的步数时,必然会恢复到原图,即Arnold变换具有周期性(见表1).但是,Arnold变换的周期性与图像大小有关,并不成正比[12].
表1 不同阶数(N)下Arnold变换的周期(TN)
2 二次Arnold变换图像置乱加密
2.1 一次Arnold变换图像置乱加密
对图像反复进行多次Arnold变换,实际上是一种点的位置移动,并且这种变换是一一对应的,是纯粹的像素位置的移动.加密图像中的像素值没有改变,改变的只是他们的位置,而它的灰度分布概率是完全相同的.
2.2 图像分块和图像块的置乱
对于一幅像素为mn×mn的原始图像,将其均匀分成n×n个像素为m×m的图像块,可以用如下矩阵表示:
其中Aij为m×m矩阵,i,j=1,2,…,n.在传统图象变换的基础上,可以考虑将每个分块作为整体进行变换.令X表示实数域上m阶方阵构成的向量空间, 考虑乘积向量空间P=则上述变换可以看作从P到自身的算子T:P→P.在这类算子中常见的是分块阵的初等变换[13].为表述方便,作如下定义:
(i)将第i个块的行(列)左(右)乘某一个可逆阵,称为一次第一类分块行(列)初等变换,记为算子T1.
(ii)将第i个块的行(列)与将第j个块的行(列)交换,称为一次第二类分块行(列)初等变换,记为算子T2.
(iii)将第i个块的行(列)左(右)乘某一个矩阵加到第j个块的行(列)上,称为一次第三类分块行(列)初等变换,记为算子T3.
2.3 二次Arnold变换图像置乱加密
先对图像进行分块,对图像块进行初等变换后合并出新的图像,然后对新的图像按式(2)做Arnold位置置乱,从而得到杂乱无章的加密图像.
二次Arnold变换图像置乱加密过程如图1所示.
图1 图像加密算法流程
3 实验结果与分析
为了验证该文算法的有效性,将二次Arnold变换图像置乱算法与传统的Arnold变换图像置乱算法进行比较实验分析,利用Matlab7.10.0进行仿真处理.为了让比较和评价更加具有实际意义,选用的测试图像为实际图像,每一个图像都含有明确的目标和背景.图2~图7示意了512×512的标准灰度图像lena以传统的Arnold变换置乱的效果图,可以看出传统的Arnold变换图像置乱算法是对图像整体进行位置置乱,需要置乱多次才能达到理想的加密效果,而且当迭代到一定的步数就会恢复原图,加密系统安全性较低.
下面对图像进行该文所提出的二次Arnold变换图像置乱算法,如图8~图12所示,图9是对图像进行2次Arnold变换,也就是整体过程中第一次Arnold变换图像置乱加密;图10是对第一次Arnold变换图像置乱加密后得到的图进行分块所得的图像块;图11是将图像块进行初等变换后合并出的新图像;图12是将合并出的新图像进行2次Arnold变换,即整体过程中第二次Arnold变换图像置乱加密.由此可见应用该文的二次Arnold变换图像置乱算法只要在较少的置乱次数下就能够达到理想的加密效果,并且采用了双密钥决定置乱次数,同时也提高了加密系统的安全性.由于Ti(i=1,2,3)可逆,因此解密的过程完全相似.
图2 原图
图3 2次Arnold变换
图4 4次Arnold变换
图5 100次Arnold变换
图6 200次Arnold变换
图7 384次Arnold变换
图8 原图
图9
图10
图11
图12
接下来将二次Arnold变换图像置乱算法与传统的Arnold变换图像置乱算法进行比较.如图13~18,图14是先经过2次传统的Arnold变换然后分块再经过2次传统的Arnold变换,相当于4次Arnold变换;图15是先经过50次传统的Arnold变换然后分块再经过50次传统的Arnold变换,相当于100次Arnold变换,图16是先经过100次传统的Arnold变换然后分块再经过100次传统的Arnold变换,相当于200次Arnold变换;图17是先经过192次传统的Arnold变换然后分块再经过192次传统的Arnold变换,相当于384次Arnold变换;该图像是的标准灰度图像,通过表1可以看出它的周期是384,那么传统的Arnold变换经过384次变换就会使其变为原图.图18是先经过384次传统的Arnold变换然后分块再经过384次传统的Arnold变换,相当于768次Arnold变换,图18也再一次验证了经过周期次Arnold变换并没有回到原图.由此可见,即便是进行了任意周期次的Arnold变换也不会回到原图,从而提高了加密系统的安全性.
图13 原图
图14
图15
图16
图17
图18
4 结束语
针对传统的二维Arnold置乱效果较差、效率低等问题,该文提出了二次Arnold变换图像置乱算法,通过理论分析和实验证明了该算法有以下优点:第一,具有很好的加密效果;第二,不用计算图像的Arnold变换周期;第三,加密系统具有较高的安全性和效率.该文所提出的算法是一种即实用又有效的图像加密算法.
[1] 文昌辞,王沁,苗晓宁,等.数字图像加密综述[J].计算机科学,2012,39(12):6-9.
[2] 赵岩.一种基于小波变换的数字水印算法[J].辽宁工程技术大学学报:自然科学版,2012,31(3):379-382.
[3] 赵文博,田小平,吴成茂.基于低密度奇偶校验编码和混沌系统的图像加密[J].计算机应用,2012,32(7):2018-2021.
[4] 盛剑会,范春年.一种改进的基于小波的人脸图像光照归一化算法[J].辽宁工程技术大学学报:自然科学版,2011,30(6):917-920.
[5] Ning Jifeng,Zhang Lei.Scale and orientation adaptive mean shift tracking[J].IET Computer Vision,2012,6(1):52-61.
[6] Zhu Z L,Zhang W,Wong K W,et al.A chaos-based symmetric image encryption scheme using a bit-level permutation[J].Information Sciences,2011,181(6):1171-1186.
[7] Wang Qing,Song Renwang.Research on transformation-domain digital audio blind watermarking combining chaotic encryption and Arnold transformation[J].SCI-TECH Information Development and Economy,2010,20(17):127-129.
[8] 张颖,杨玥.Arnold双置乱图像加密算法[J].辽宁工程技术大学学报:自然科学版,2013,32(10):1429-1432.
[9] Arnold V J’AVEZ A.Ergodic Problems of Classica Mathematical Physics Monograph Series[M].New York:W A Benjamin Inc,1968.
[10]齐东旭.分形及其计算机生成[M].北京:科学出版社,1994.
[11]毛雷波.Arnold变换及其逆变换研究[J].重庆工程大学学报:自然科学版,2012,29(3):16-21.
[12]吴发恩,邹建成.数字图像二维Arnold变换周期的一组必要条件[A].北方交通大学学报,2001,25(6):66-69.
[13]张新育,周世国.矩阵的分块初等变换与分块初等阵及其应用[J].数学的实践与认识,2011,41(19):245-250.