给图像文件加密的方法有很多,我们今天给大家介绍一种基于脊波变换和混沌序列的数字图像加密技术,实验表明:这种技术思想简单,易于实现,加密效果较好,抗攻击性较强,安全性较好,非常适合图像文件加密。
一、基于脊波变换与混沌系统的图像加密技术原理
1、二维连续脊波变换(CRT)
设函数ψ:R→R满足
式中ψ为容许神经激活函数,由满足容许条件(1)的函数势ψ生成的基函数:
就称为脊波,其中X为二维向量,a>0为脊波的尺度函数,θ为脊波的方向参数,b为脊波的位置参数。
二维连续脊波变换在R2域的定义为:
逆变换公式为:
从以上关系式可以看出,脊波变换和二维小波变换有相似之处,只是用线参数取代了点参数。因此小波变换是逐点刻画点的奇异性,而脊波变换是沿脊线刻画线的奇异性,在二维情况下,点和线可以通过Radon变换相联系,因此脊波变换和小波变换也可以通过Radon变换联系起来。一种较方便的方法是在DFT的基础上实现Radon变换,首先对N×N个离散点列作二维FFT,并对得到的包含N×N个点的频域点列作径向划分,然后估计各个径向直线方向上N个数据点的值。在每个径线方向都有N个值后,再对这N个点列作一维IFFT,从而得到对应于图像域的2N×N个点列,对这些点列作均匀化插值和重组就得到一次Radon变换的结果。最后,再在Radon变换域作一维小波变换就实现了脊波变换的全过程。
2、混沌系统
以典型的Logistic混沌映射作为生成混沌序列的混沌系统,Logistic映射表示为:
由实验发现.当3. 569 946--≤μ≤4,Logistic映射的输入和输出都分布在区间(0,1)上,且工作处于混沌状态,即此时由初始条件xo在Logistic映射作用下所产生的序列{xk}(k=0,1,2,)具有非周期、不收敛并对初始值非常敏感的性质。
Logistic映射经过一定次数的迭代后,在线段(0,1)上分布了大量的混沌点,其概率密度ρ(t)的解析表达式为:
式(6)为Chebyshev分布。
3、基于n次有理Bezier曲线构造混沌矩阵
n次Bezier曲线为:
其中:Btn(t)为n次Bernstein基函数;Po,P1,…,Pn。为控制点;ωi为权因子,假定已给n+1个混沌序列{a1i;a2i;,…,ani,…}(i=1,2,...,n+1),其中上标i表示第i个混沌
序列,则利用n次有理Bezier曲线构造的广义混沌序列为:
其中t为参数,相应的广义混沌序列的混沌动力学方程为:
根据式(5)、式(8)可以在已知的混沌序列的基础上,生成混沌矩阵CI。具体方法如下:给定初值μi和aj(i=1,2,…,n+1),由公式(5)经过N-1次混沌迭代运算得到混沌实值序列a1,a2,….aN。再由公式(8)生成广义混沌序列,然后通过排序变换将这N个值由小到大排序,生成β1,β2,...,βN,并确定ai在β1,β2,...,βN中的位置编号,形成地址集合G1={g1,g2,…,gN},反复操作M次,便生成混沌矩阵:
4、加密算法思想
首先对秘密图像及由式(10)所得的混沌图像进行脊波变换,其次对脊波变换系数进行插值,最后利用脊波逆变换进行图像重构,从而得到结果图像。其中密钥分别为生成混沌矩阵的初值以及插值时的融合参数以及迭代次数,恢复算法是加密的逆过程。
5、加密算法
Step1输入n、密钥ai,μi,ωi(i=1,2,…,n)和t,其中靠为混沌序列的个数,ai,μi,ωi和Cr为每一个混沌序列的初始值,t为参数;
Step2输入密钥ao,a0为融合参数;
Step3利用式(5)、式(8)可以在已知混沌序列的基础上,生成混沌图像CI;
Step4 对秘密图像SI和混沌图像CI进行脊波变换,分别得到SI的脊波变换系数SICF和CI的脊波变换系数CICF;
Step5对Step4中所得的SI的脊波变换系数SICF和CI的脊波变换系数CICF利用融合系数ao进行融合;
Step6 利用脊波逆变换对Step5所得的融合结果进行重构得到结果图像EI。
6、恢复算法
Step1输入n、密钥ao,ai.μi,ωi(i=1,2,…,n)和t;
Step2利用式(5)、式(8)可以在已知的混沌序列的基础上,生成混沌图像CI;
Step3对结果图像EI和混沌图像CI进行脊波变换,分别得到EI的脊波变换系数EICF和CI的脊波变换系数CICF;
Step4对Step3中所得的E1的脊波变换系数EICF和CI的脊波变换系数CICF利用密钥ao进行融合逆运算;
Step5 利用脊波逆变换对Step4所得的结果进行重构得到恢复图像RI。
二、试验结果与分析
1、数字图像文件加密和恢复实例
图1所示为基于本文加密算法给出数字图像文件加密和恢复的实例,其中:Lena图(256×256)为秘密图像;利用3个混沌序列及2次有理Bzier曲线生成混沌矩阵,密钥分别为:n=3,ao=0.1,μ1=0.1,a2=0.2,μ2=3.9,a3 =0.3,μ3 =3.8,ω1=0.2,ω2=0.5,ω3=0.3,t =0.4。
2、客观评价准则
传统的客观评价方法是用恢复图像偏离原始图像的误差来衡量恢复图像的质量,最常用的有均方根误差(root mean squared error,RMSE)和峰值信噪比(peak signal to noise ratio, PSNR)
RMSE的表达式为:
其中,F(i,i),F'(f.f)分别表示原始图像和恢复图像(i,j)位置处的像素值,且1≤i≤M,1≤j≤N。RMSE越小,说明两幅图像越相像。
PSNR的表达式为:
单位是dB. PSNR越大,说明图像的保真度越好,两幅图像越相似。
PSNR本质上与RMSE相同,其关系表达式为:
利用本文算法得到的恢复图像与原始秘密图像的峰值信噪比PSNR- 78. 24,由此可知两幅图像的保真度较好,两幅图像非常像;RMSE=0.783,从而可以得出算法的恢复效果较好。
3、密钥空间分析
从基于2次有理Bezier曲线构造广义混沌序列的过程可以看出,应用于数字图像文件加密的密钥有12个,大大提高了加密的安全性;更进一步,如果利用K个混沌序列生成广义混沌序列并应用于数字图像加密时,密钥会达到3(K+1)个之多;另外,可以利用不同的混沌序列生成混沌矩阵。
从效率方面分析,生成混沌矩阵的算法时间复杂度均为0(M×N),这说明采用广义的混沌序列加密时,不会提高算法的时间复杂度。
4、噪声攻击
图像在传输过程中,常常受到某种干扰而含有各种噪声.图2(a)和图2(b)为分别对含秘密图像添加密度为0. 5%和l%的高斯噪声后进行图像恢复的结果;图3(a)和图3(b)为对含水印图像添加0. 5%和i%椒盐噪声后进行图像恢复的结果,从结果可以看出,本文算法高斯噪声和乘性噪声具有较好的稳健性。
5、密钥敏感性分析
基于靠次有理Bezier曲线构造混沌矩阵的迭代初始值a01,a02,a03分别增加10-8,并观察其密钥序列,通过统计分析发现所得到的随机序列与原始随机序列平均有99. 87%不相同。
小知识之脊波变换
脊波(Ridgelet)作为一种新的多尺度分析方法比小波更加适合分析具有直线或超平面奇异性的信号,而且具有较高的逼近精度和更好的稀疏表达性能。将脊波变换引入图像融合,能够更好地提取原始图像的特征,为融合图像提供更多的信息,在融合过程中抑制噪声的能力也比小波变换更强。因此,提出了基于脊波变换的SAR与可见光图像融合方法,并采用偏差指数与等效视数指标对融合效果进行评价。实验结果表明,该方法在保留合成孔径雷达SAR(synthetic aperture radar)与可见光图像重要信息、抑制噪声能力方面均优于小波变换方法。