图像置乱技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录
摘要 (2)
第一章图像置乱技术简介 (3)
1.1图像的Arnold置乱变换及其周期性 (4)
1.2图像的Arnold置乱恢复 (5)
第二章混沌序列用于图像置乱 (6)
2.1 混沌序列 (6)
2.2 混沌序列的产生 (6)
2.3 常见的混沌序列 (6)
第三章.混合光学双稳模型 (8)
第四章混合光学双稳模型用于水印图像加密 (9)
4.1 信息置乱算法 (9)
4.2 利用混合光学双稳模型加密水印图象 (9)
参考文献 (15)
摘要
图像置乱技术作为一种图像加密技术,已成为数字图像安全传输和保密存储的重要手段之一[37]。

所谓置乱,就是运用一定的规则搅乱图像中像素的位置或颜色,使之成为一幅杂乱无章的图像,从而达到无法辨认出原图像的目的。

近年来,随着数字水印技术的兴起,置乱技术又有了新的应用。

由于代表版权信息的多为图像水印,因此在水印的预处理阶段,可以通过置乱消除水印图像像素间的相关性,使水印呈现出类似白噪声的特性,在载体被部分破坏时可以分散错误比特的分布,从而提高水印系统的鲁棒性。

第一章图像置乱技术简介
随着高质量图像输入输出设备的发展,特别是高精度彩色喷墨、激光打印机和高精度彩色复印机的出现,货币、支票以及商品包装等印刷品的伪造变得更加容易。

目前使用较多的印刷防伪技术存在一些弊端,迫切需要一种新的技术来解决印刷品的伪造问题。

因次,印刷数字水印技术应运而生。

因为印刷数字水印技术的关键是抵抗PS(打印和扫描)过程攻击,所以本文提出一种新的算法,该算法具有很好的鲁棒性,能够抵抗PS过程攻击。

出于鲁棒性考虑,我们对图像进行小波变换,选择在小波域的低频系数中嵌入二值水印。

同时算法结合人眼视觉系统(HVS)特性,保证了水印的不可见性。

水印嵌入强度的自适应选择基于两个方面:一方面是人眼对图像的纹理掩蔽特性,另一方面是亮度对比度掩蔽特性,综合考虑这两种掩蔽特性,是本算法的创新之一;水印采用新的混沌置乱算法进行置乱。

这种置乱算法基于混合光学双稳混沌序列,用混沌序列的初始值作为置乱的密钥。

置乱算法有良好的置乱效果和安全性;
随着信息技术的迅猛发展,一方面人们对信息隐藏技术研究的逐渐深入,确实取得了可喜的成果[1];而另一方面人们也清楚的意识到信息攻击者所采用的攻击手段也在不断高明[2],能否很好地保证我们的信息安全,是一个不得不让我们担忧的问题。

网络与安全本身就是矛盾的两方面,如何提高我们的信息安全性,这是现今乃至今后很长一段时间内我们所要面临的问题。

信息安全技术经过多年的发展,我们对信息的保护已从密码技术发展到了隐藏技术[3,4],但在信息隐藏技术的应用过程中,人们又想到如果我们单纯地用各种信息隐藏算法对秘密信息进行隐藏保密,那么攻击者只要直接利用现有的各种信息提取算法对被截获信息进行穷举运算的话,就很有可能提取出我们的秘密信息。

但如果我们在信息隐藏之前,先对秘密信息按照一定的运算规则进行置乱处理,使其失去本身原有的面目,然后再将其隐藏到载体信息里面,这样我们所要传输的信息不就更安全了吗。

即使攻击者将秘密信息从载体中提取了出来,也无法分辨出经过置乱后的秘密信息到底隐藏着什么内容,于是就认为提取算法错误或该载体中不含有任何其它信息。

所以,我们对秘密信息进行置乱运算是很有必要的。

这也是将来我们信息隐藏技术研究的一个重要方向。

本文则主要是研究如何对数字图像信息进行置乱.
关于图像置乱的研究已有很多[5-8],但以Hilbert曲线、Arnold变换和幻方置乱为代表的图像置乱算法主要存在两点不足:(1)要进行多次重复置乱,才能达到满意的置乱效果;(2)置乱变换的参数少,从而使得用于图像加密时的密钥量小。

为了提高图像的置乱效果和增加
图像置乱加密的密钥量,于是提出了一种新的幻方构造方法,用于图像置乱其效果比MATLAB6.1提供的幻方置乱效果好。

同时,还提出了一种新的基于随机数的图像置乱算法,仅需要1次置乱就可达到满意的置乱效果,且置乱的密钥可以是任意实数。

此外,还提出了数字图像置乱效果的评价方法。

目前,人们用的得比较多的置乱技术有Arnold 变换、幻方变换、分形Hilbert 曲线、Gray 码变换等方法。

其中,Arnold 变换算法简单且置乱效果显著,在数字水印方面得到了很好的应用。

1.1图像的Arnold 置乱变换及其周期性
Arnold 变换是V .J.Arnold 在遍历理论的研究中提出的一种变换,俗称猫脸变换(Cat Mapping ),其定义如下[38]:
}1,,1,0{,)
m o d (2111-∈⎥⎦
⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎪⎪⎭⎫ ⎝⎛''N y x N y x y x
(3—16)其中,),(y x 是像素在原图像中的坐标,),(y x ''是变换后该像素在新图像中的坐标,
N 是图像矩阵的阶数,即图像的大小,一般指正方形图像。

当对一幅图像进行Arnold 变换时,就是把图像的像素点位置按照公式(3—16)进行移动,得到一个相对原图像混乱的图像。

对一幅图像进行一次Arnold 变换,就相当于对该图像进行了一次置乱。

通常这一过程需要反复迭代多次才能达到满意的效果。

利用Arnold 变换对图像进行置乱使有意义的数字图像变成象白噪声一样的无意义图像,实现了信息的初步隐藏,并且置乱次数可以为水印系统提供密钥,从而增强了系统的安全性和保密性。

Arnold 变换可以看作是裁剪和拼接的过程,通过这一过程将数字图像矩阵中的像素重新排列,达到置乱的目的。

由于离散数字图像是有限点集,对图像反复进行Arnold 变换,迭代到一定步数时,必然会恢复原图,即Arnold 变换具有周期性。

利用这一周期特性可以实现逆置乱,表3-1是在不同阶数N 下Arnold 变换的周期[39]。

可以观察得出,Arnold 变换的周期性与图像大小有关,但并不成正比。

表3-1不同阶数N 下Arnold 变换的周期
Fig3-1 Periods for Arnold transform with different scale N
1.2图像的Arnold 置乱恢复
前面通过研究Arnold 变换的周期性,已经得出了这样的结论:对于N ×N 的数字图像,只要满足N 为非1正整数,其Arnold 变换均具有周期。

用N m 代表N ×N 的数字图像的Arnold 变换周期。

若对一幅进行过t 次([]N m t ,1∈)Arnold 置乱变换的数字图像进行恢复,只需对其继续进行(t m N -)次Arnold 置乱,即可得到与原图一模一样的图像;推广到任意置乱次数n ,则需要继续进行(N N m n m mod -)次Arnold 置乱变换。

简单举个例子,对于256×256的数字图像,其置乱周期N m =192,也就是说原图经过192次Arnold 变换后会变回原图。

利用Arnold 置乱的周期性,对Arnold 置乱50次后的图像,只需再进行(192-50)即142次Arnold 变换,便可恢复出原图;对置乱300次后的图像,需要继续进行置乱变换的次数为192-(300mod192)=84。

第二章 混沌序列用于图像置乱
2.1 混沌序列
本文要应用混沌序列来对水印图像进行加密,现简单介绍混沌序列的产生及所需的数据处理方法。

混沌[40]是一种貌似无规则的运动,指在确定性系统中出现的类似随机的复杂过程。

一个确定性系统是这样一种动力学系统:它由确定的常微分方程、偏微分方程、差分方程或一些迭代方程描述,方程中的系数都是确定的。

这样,给定初值,系统以后的运动应该是完全确定的,即未来包含于过去。

当初值有微小变化时,系统的变化也应该不会太大。

但是,在20世纪60年代人们发现有一些系统,虽然描述它们的方程是确定的,但系统对初值有极强的敏感性,即初值有微小变化,将引起系统后来不可预测的改变,从物理上看运动似乎是随机的,这种对初值敏感性,或者说确定性系统内的随机性就是混沌。

所以,由混沌方法产生的序列将具有良好的随机性和安全性。

2.2 混沌序列的产生
混沌序列是一种纯伪随机序列,它具有生成形式简单,对初始条件极其敏感,具备白噪声的统计特性,且不具有逆推性。

这些特性恰恰能够满足数字水印技术中对水印的秘密性(安全性)和宽频谱(随机性)要求,因而在数字水印技术中得到了广泛应用空间。

混沌序列可由下面几种方法[41]生成:
(1)实数序列,混沌序列由选定的初值代入合适的混沌映射方程,得到一系列实数值,即混映沌射的轨迹点所形成的实数值序列。

(2)二值序列,定义一个阈值函数,由上述得到的实数值序列决定其取值,在实数值位于某些区间时取0,其他区间时取1,或者取1或-1,由此得到二值序列也具有混沌特性。

(3)比特序列,取上述实数值的浮点数中的某位或某些位值所得到的序列也具有混沌性。

本文的混沌序列由方法(1)和(2)结合生成。

2.3 常见的混沌序列 1.Logistic 映射模型
Logistic 映射是混沌系统中被广泛研究的一种非常简单的动力系统,定义如下[42]: 40),
1(1≤<-=+μμn n n x x x (3—17)
这即是生物学中著名的虫口模型,是最为常见的一种离散系统的混沌模型。

其中 0 <μ≤4称为分支参数(bifurcation parameter),)1,0(∈n x 。

当3.5699456...<μ≤4时,Logistic 映射工作处于混沌状态。

也就是说,此时初值0x 在Logistic 映射的作用下所产生的序列{x n |n=1,2,3...}是非周期的,不收敛,并且对初值敏感。

Logistic 映射还有另外一种形式:20,
121≤<-=+μμn n x x
其中,当)1,1(-∈n x ,1.40115...<μ<2时系统处于混沌状态。

第三章.混合光学双稳模型
混合光学双稳模型的迭代方程如下[43]:
)(s i n 2
1B x A x n n -=+ (3—18)
A 和
B 为方程的系数。

随着参数A,B 的变化,系统将从固定点失稳,经倍周期分岔进入混沌。

这里取A =4,B =2.5此时方程处于混沌状态。

初值0x 理论上可以选取一切非负实数。

很显然,和Logistic 映射模型相比,光学双稳模型具有范围更广的密钥空间,本文的水印图像加密采用混合光学双稳模型。

第四章 混合光学双稳模型用于水印图像加密
目前常用的水印图像置乱方法包括Arnold 变换、幻方变换、分形Hilbert 曲线、Gray 码变换等,它们都能实现对图像的加密,但它们的密钥空间较小,而且置乱矩阵是有周期的,经过置乱后的图像,再继续多次同样变换后会恢复成原图像。

这样在加密算法公开时,攻击者易破解恢复水印图像,安全性能不高。

本文利用混合光学双稳模型对初值的敏感性高、安全性强、密钥空间大且是非周期的特性,使用3.4.2节中的方法(1)和(2)生成一组混沌序列,与待置乱水印数据进行异或运算,实现水印的置乱与加密。

4.1 信息置乱算法
设A={0110…},B={0011…},xor 为异或运算符,记A,B 的异或运算值为C ,即A xor B=C,则C={0101…};反过来,C xor B=A 。

若A 为水印数据,B 为由密钥和混沌模型惟一生成的序列,则C 可以看成是水印加密数据。

通过C 与B 的异或运算,可惟一准确的还原出水印数据A 。

4.2 利用混合光学双稳模型加密水印图象
利用matlab 生成混沌序列,本文取A=4,B=2.5,此时方程处于混沌状态,给定该方程的初值0x ,进行迭代运算,生成一组伪随机序列{}n X ,{}n X 的长度为L ,且21M M L ⨯>(1M 和2
M 分别为水印的高度和宽度),选取{}n X 中长度为21M M ⨯的部分生成序列{}n X ',判断序列值n x '的大小,若n x '>AB/3,则取n Y =1,否则取0,得到一组伪随机的0,1序列{}n Y 。

将大小为21M M ⨯的水印图像降维成一维序列{}n W ,{}n W 与{}n Y 进行异或运算后生成水印加密序列{}n C ,根据信息置乱算法,{}n C 与{}n Y 再次进行异或运算即可恢复出原始水印序列
{}n W 。

程序如下:
%本函数实现图象的Arnold 置乱和基于混合光学双稳模型的混沌加密; %首先读入图象,进行Arnold 置乱,并降维成4096*1的数组{w}
%利用混合光学双稳模型x(n+1)=A(sin(x(n)-B)^(2)),当A=4, B=2.5时,方程处于混沌状态 %其中,初值x(0)理论上可以为一切非负实数,利用上述模型生成伪随机序列{x} %若x(n)>(AB)/3,y(n)=1;否则y(n)=0,如此可以得到一组伪随机的0,1序列{y}
%取序列{y}中长度为(m1*m2)的部分(m1和m2分别为原始水印的高度和宽度),生成序列{s},{s}和水印数组{w}进行异或运算,生成混沌加密以
%后的序列{s1};
%用序列{s1}和序列{y}再次进行异或运算,可得到水印数组{w},再进行Arnold逆变换并转化成m1*m2的矩阵,就可以恢复出原始水印图象
%此函数实现对图象的Arnold置乱
%I是经过MATLAB的“imread”语句读入的图象,n是图象的阶数,key是置乱次数function [I,key]=arnold1(I,n,key)
% I=im2bw(I);
J=I;
for k=1:key
for x=1:n
for y=1:n
x1=x+y;
y1=x+2*y;
if x1>n
x1=mod(x1,n);
end
if y1>n
y1=mod(y1,n);
end
if x1==0
x1=n;
end
if y1==0
y1=n;
end
J(x1,y1)=I(x,y);
end
end
I=J;
end
%figure,imshow(J,[]) w=imread('pic.tif');
w=im2bw(w);
m1=64;
m2=64;
w1=arnold1(w,64,20);
w2=reshape(w1,m1*m2,1);
A=4;
B=2.5;
x=zeros(10000,1);
x(1)=100;
for r=1:9999;
x(r+1)=A*(sin(x(r)-B)^(2));
end;
y=x(1:m1*m2);
for u=1:m1*m2;
if y(u)>(A*B)/3 ;
y(u)=1;
else
y(u)=0;
end;
end;
s=xor(w2,y);
s1=reshape(s,m1,m2);
%imshow(s1)
s2=xor(s,y);
s3=reshape(s2,64,64);
s3=arnold1(s3,64,28);
imshow(s3)function [I,key]=arnold1(I,n,key)
% I=im2bw(I);
J=I;
for k=1:key
for x=1:n
for y=1:n
x1=x+y;
y1=x+2*y;
if x1>n
x1=mod(x1,n);
end
if y1>n
y1=mod(y1,n);
end
if x1==0
x1=n;
end
if y1==0
y1=n;
end
J(x1,y1)=I(x,y);
end
end
I=J;
end
%figure,imshow(J,[])
设水印为64
64 的二值图像,如图3-2所示
图3-2 设初值
x=14,A=4,B=2.5
水印图像。

程序如下:
w=imread('pic.tif');
w=im2bw(w);
m1=64;
m2=64;
w1=arnold1(w,64,20);
w2=reshape(w1,m1*m2,1);
A=4;
B=2.5;
x=zeros(10000,1);
x(1)=100;
for r=1:9999;
x(r+1)=A*(sin(x(r)-B)^(2));
end;
y=x(1:m1*m2);
for u=1:m1*m2;
if y(u)>(A*B)/3 ;
y(u)=1;
else
y(u)=0;
end;
end;
s=xor(w2,y);
s1=reshape(s,m1,m2);
%imshow(s1)
s2=xor(s,y);
s3=reshape(s2,64,64);
s3=arnold1(s3,64,28);
imshow(s3)

3-3恢复出的水印图像

其他条件不变,只将用于恢复的混沌序列的初值改为14.0000000001,恢复出的水印图像如图3-4所示。

图3-4 改变初值后恢复出的水印图像
Fig3-4 Recovered watermark after changing original value 由图3-4可以看出,虽然初值只改变了0.0000000001,但恢复出的水印和原始的水印图像相比已经面目全非,结合图3-3(a)可以说明混合双稳模型具有很强的伪随机性并且对初值极度敏感。

由于初值可以选取任意非负实数,所以同Logisti c模型相比,密钥空间进一步加x和序列{}n X'在{}n X中的起始位置都可以作为提取水印的密钥来使用。

大。

其中,初值
参考文献
[1] Petitcolas F A P, Anderson R J, Kuhn M G. Information hiding— a survey[J].ProceedingsoftheIEEE[J], 2008,87(7):1062—1077
[2] Petitcolas F A P,Anderson R J,Kuhn M G.Attacks on copyright marking systems[EB/OL]./petitcolas98attacks.html
[3] 陈克非.信息安全——密码的作用与局限[J].通信学报,2008,22(8):93—99
[4] 尤新刚,周琳娜,郭云彪.信息隐藏学科的主要分支及术语[A].北京电子技术应用研究所.信息隐藏全国学术研讨会(CIHW2000/2001)论文集[C].西安:西安电子科技大学出版社,2008.43—50
[5] 丁玮,闫伟齐,齐东旭.基于Arnold变换的数字图像置乱技术[J].计算机辅助设计与图形学学报[J],2008,13(4): 339—341
[6] 齐东旭,邹建成,韩效宥.一类新的置乱变换及其在图像信息隐蔽中的应用[J].中国科学(E辑),2008,30(5):440—448
[7] 柏森,曹长修,曹龙汉等.基于骑士巡游变换的图像细节隐藏技术[J].中国图像图形学报,2008, 6(11,
A):1096—1100
[8]张屏生,毕厚杰.图像加密的一种方法[J].通信学报,2008,5(3):85—90。

相关文档
最新文档