资源描述:
《图像加密算法之基于小波系数混沌调节加密》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、图像加密算法之基于小波系数混沌调节加密目前的绝大多数加密算法是把图像文件加密成客户无密钥就不能理解的数据,但在某些诸如视频点播、音频点播等应用中,图像或者声音可能在传输前要降质处理,以便即使其中有降质,客户仍能理解,他们在观看或试听之后决定是否购买更高质量的版本。基于此,我们提出一种加密质量可以控制、与JPEG2000标准兼容、支持细粒度可伸缩的图像小波近似系数混沌加密算法。一、混沌映射1、非线性映射设Tn(x)是定义在区间I=[-1,1]上的非线性映射:前三个非线性映射分别可表为:而其它映射均可由式(2)递推得到:对于n∈N,n≥2,x∈[-1,1],所
2、有Tn(x)都是混沌的,其混沌动力系统的轨迹可由式(3)迭代得到:且其轨迹分布具有概率密度函数:为直观验证映射Tn(X)的混沌性质,取n=5,以随机选取的x0∈(0,1)为初始值,按式(5)生成序列{Xk
3、k=1,2,3,…,10000}。发现其轨迹随机地分布在区间[-1,1]上(如图1(a));将[-1,1]等分为50个子区问后,统计得出序列在各子区间出现的频数分布并不均匀(如图1(c))。用于密码系统的最理想的混沌动力系统应该是服从均匀分布的,因此,基于Tn(x),定义映射G(x):显然,yk∈[0,1]。类似地,取n=5,按式(6)生成随机序列{yk
4、
5、k=1,2,3,…,10001},直观发现映射G(x)比Tn(x)具有更好的混沌性质(如图1所示):其轨迹随机分布在区间[0,1](如图1(b));当将[0,1]等分为50个子区问时,统计得出序列在各子区间出现的频数分布是均匀的(如图1(c))。定理1G(x)是混沌的。证明由于Tn(x)的值域正好是严格单调递增函数arcsin(x)的主值区问,从而G(x)是从[-1,1]到[0,1]上严格单调递增的一一映射,因此,由Tn(x)的混沌性知G(x)也是混沌的。定理2由G(x)生成的混沌序列{yk
6、k=1,2,3,…}服从[0,1]上的均匀分布U(O,1)。证
7、明_y∈[0,1],混沌序列{yk
8、k=1,2,3,…}的分布函数为:可见,混沌映射G(x)的轨迹服从[0,1]的均匀分布U(0,1),且具有概率密度函数:2、Logistic映射众所周知,Logistic混沌映射具有如下形式:其中,3.5699456<μ≤4,且由式(9)容易得到如下结论。定理3对给定正整数k由式(9)生成的混沌序列{zk
9、k=1,2,3,…}满足:(1)_z0∈[0,1]_zk∈[0,1](2)若zk=1或zk=0,则zk+i=0,i=1,2,3,…;(3)若μ=4,zk=1/2,则zk+i=0,i=1,2,3,…。由此,可得到如下定理
10、。定理4若3.5699456<μ<4,zo≠0,zo≠1,则由式(9)生成混沌序列{zk
11、k=1,2,3,…}。证明反证法。若有正整数K,使得zx=0,zx-i=。显然,由zo≠0,zo≠1知,K>1,且:与3.5699456<μ<4矛盾。故zk≠0,k=1,2,3,…。二、图像加密算法现代密码学要求,图像加密技术要把待传输的图像看作明文,在密钥控制下,通过加密算法实现图像数据的保密通信。这种加密机制的设汁思想是加密算法可以公开,通信的保密性完全依赖于密钥的保密性。为此,本文设计的加密算法对用户可以公开,图像安全性和视觉效果的控制依赖于混沌动力系统的安全性
12、、随机性及密钥安全性。该图像加密算法的流程(如图2中方框内所标注“加密算法”)是JPEG2(XX)编码算法的完整过程的组成部分,本文重点叙述小波变换后、压缩编码前的加密算法(解密是加密的逆过程):步骤1对图像块进行尺层小波分解(如图3)。步篡2生成加密方案中使用的密钥参数:q,n,xo,yo,μ,zo,a,使得3.5699456<μ<4,0.1≤a≤0.5。步骤3计算加密数据量。用式(11)表示的近似系数加密量算法模型控制加密图像的视觉质量:其中,r,c为子带LLR的行列数,g为保持原图像质量的百分比。q越大,视觉效果越好,但保密度越低。步骤4利用混沌映射
13、生成加密像素的随机位置集P=PK=(XK,yk)
14、1≤k≤m)。将给x0,y0,n代入式(3)计算,并用式(6)进行均匀化处理得序列{Xk
15、1≤k≤m}和{yk
16、1≤k≤m},再计算:然后,取P={pk(xk’,yk’)
17、1≤k≤m}。步骤5按式(9)生成混沌序列{zk
18、zk≠0,l≤k≤m},按下式对近似系数加密:其中,pk∈P,而0.1≤a≤0.5为近似系数凋节深度控制系数。则可按下式对近似系数解密:三、密钥生成算法加密方案中使用的密钥是—个由7个参数构成的向量,这些参数包括:视觉质量q,混沌映射的参数n,μ和初值x0,y0,zo,加密系数a,它们是浮
19、点数或整数。而用户输入的密钥Ku是7个字节的串,可以看着一个比特序