摘 要:置乱技术是随着信息安全与保密被重视而发展起来的图像加密技术。研究了置乱技术在信息隐藏特别是数字水印中的应用, 通过置乱技术,一方面可以达到使非法使用者无法破译图像内容的目的,另一方面可以分散错误比特的分布, 从而提高数字水印的鲁棒性。
关键词: 数字图像; 图像加密; Matlab 中图分类号:TN911.73
Abstract:The application of shufflingtechniques refers tothe picture securitytechniquewiththe developmentof information security. In this paper, shuffling techniques has been studied especially in the application of digital watermarking. With shuffling techniques, you can not only reach the purpose of preventing the illegal user from riddlingthe content of images, but also disperse thedistributing of error bits in order to improve robust.
Key words:digital image; digital image encryption; Matlab
引言
随着社会科学的进步,多媒体技术、信息存储技术的飞速发展,以及网络的普及率的提升,越来越多的数字图像得以在网络上传输,并逐步成为人们获取信息的主要途径,因此对图像的安全保密有更高的要求。例如,图像数据所有者在Internet上传输他所拥有的图像时,为了保护自身的利益,就需要对发送的图像通过可靠的加密技术进行处理;在远程医疗系统中,病人的照片等图像数据必须在加密之后才能在网上传输。于是图像的加密、隐藏技术就应运而生了。置乱技术利用数字图像具有的数字阵列的特点,搅乱图像中像素的位置或颜色使之变成一幅杂乱无章的图像,达到无法辨认出原图像的目的。本文探讨了几种数字置乱加密技术,包括基于Arnold变换、幻方变换、魔方变换,基于面包师的图像置乱技术等等,并给出了几个主要算法的Matlab实现代码。
1. 图像置乱与面包师变换
面包师变换是一种混沌映射,它能够产生非常奇妙的混沌现象,因而受数学家、物理学家和其他从事非线性研究的科研工作者广泛关注。 Masaki Miyamoto等
研究对图像进行加密方法时,把经典的面包师变换推广到截断面包师变换情形,并给出了基于位置的图像加密方法。通过面包师变换可以将图像打乱,从而达到图像置乱的目的,其能量频谱分布均匀,从众多案例和分析中可以得知,其应用于数字图像置乱的健壮性是非常好的。作为图像置乱技术之一的面包师映射是一种将连续的平面区域反复进行拉伸和折叠的变换技术,它是平面上带有分形吸引子的最简单的动力系统之一, 变换的具体形式如下:
实验结果表明,这种置乱方法能够在一定程度上抵抗一些通常的图像攻击,如裁减、压缩和加噪音等。
面包师置乱实现效果图如下所示:
2.按幻方的图像置乱变换
其中的元素满足下列性质:
我们称这样的矩阵 A 为幻方矩阵。
幻方变换就是根据幻方矩阵中的自然数序号元素来对图像块位置进行相应移动的位置变换。假定的数字图像I 相对应的阶方阵为 B,给定阶幻方为 A,那么变换过程可写为:
(1) 将 A 中自然数序号元素值跟相B 中的像素点按照行列一一对应;
(2) 将 A 中的序号为 的元素移到序号为 的位置,其中 ∈{1,2,…,}。将 A 中序号为 的元素移动到序号的 1 的位置;
(3) 随着 A 中元素位置的移动,B 中元素(即足灰度值)位置也做相应的移动。
这样随着矩阵变成,矩阵也就变成,记,那么 ,表示以上的操作。则 ,,因此,,即幻方变换可以迭代多次。如图 2 所示,图中 = 4,为一次幻方变换过程。不过一般情况下 ,,…,不是标准幻方矩阵。显然这种变换存在一个周期。当变换 次时,,,图像恢复到原来的样子,也就是说幻方变换的变换周期为 。
基于幻方变换的图像置乱Matlab程序如下:
n=128;
a=magic(n);
[i,j,v]=find(a);
i=i';
j=j';
v=v';
[E,index]=sort(v)
fort=1:n^2
y1(t)=i(index(t));
y2(t)=j(index(t));
end
A=A(1:n,1:n);
origin=A;
[m,n]=size(A)
forN=1:25
fort=1:m^2-1;
B(y1(t+1),y2(t+1))=A(y1(t),y2(t));
end
B(y1(1),y2(1))=A(y1(m^2),y2(n^2);
A=B;
End
3. 基于Arnold变换的图像置乱算法
置乱技术一般来说具有周期性;置乱变换之后的图像大小不发生改变,直方图不变,只是打乱图像各像素的次序; 置乱技术是可逆变换,水印在提取后需要进行置乱变换的逆变换。 本文使用Arnold变换对水印图像进行置乱, 对于正方形数字图像, 可采用离散化的Arnold变换为:
(2)
其中,N为图像的宽度和高度。
利用上式,逐一对图像中的像素点坐标做变换,当遍布了图像所有的点之后,便产生了置乱后的图像,对该图像重复迭代则可得到比较满意的置乱效果。Arnold变换具有周期性,即当迭代到某一步时,将重新得到原来的图像。