在以互联网为代表的数字信息技术飞速发展的今天,越来越多的场合需要用数字加密保护处理。为此我们利用离散分数傅里叶变换(DFRFT)提出了一种数字图像文件加密变换算法。分数傅里叶变换如今在光学信息处理领域已有比较广泛的应用。数本文将这种加密算法同传统混沌加密方法相结合,能够获得较高的保密效果。

一、数字图像的分数傅里叶变换

1、分数傅里叶变换的定义和性质

以一维为例讨论,设输入信号为f(x),则其p阶分数傅里叶变换定义为:

混沌图像加密方法之基于分数傅里叶变换加密

其中,常数为:

混沌图像加密方法之基于分数傅里叶变换加密

p(o<|p|<2)为分数阶,φ=p.(π/2)。

特别地,当p=1时,上述分数傅里叶变换即为普通傅里叶变换。

由此定义可得出分数傅里叶变换的两条重要性质:

(1)可加性:fp1(fp2)=fp1+p2;

(2)周期性:当p1+ p2=4n时,fp1+p2=f,其中n为整数。

2、分数傅里叶变换的数值计算

对分数傅里叶变换的定义进行离散化处理,分数傅里叶变换的数值计算可通过7个步骤得到:

(1)初始化;

(2)由采样定理对输入信号和啁啾信号进行离散化处理得到f(n),(-N/2<n<N/2),exp(iπn2cotφ),其中N为总采样数;

(3)信号f(n)乘以啁啾信号exp(iπn2cotφ);

(4)进行FFT运算;

(5)进行尺度变换,系数为cscφ。

(6)再与同一啁啾信号相乘;

(7)与常数位相因子相乘。

第(7)步可以略去,不会对理论分析造成影响,因为常数位相因子不改变分数傅里叶变换的分布,只是使位相增加了一个共同的移动。算法的结果很容易扩展到二维可分离变量情况。

3、数字图像的离散分数傅里叶变换

数字图像的离散分数傅里叶变换是二维的,变换过程可转换为两次一维离散分数傅里叶变换,转换步骤如下:

(1)对数字图像的行向量进行一维离散分数傅里叶变换,变换阶数为px,得变换结果F1;

(2)对F1的列向量进行一维离散分数傅里叶变换,变换阶数为py,得到变换结果F2;

(3)对F2进行转置,得到的结果就是二维离散分数傅里叶的变换结果。

二、混沌系统和图像空间域置乱

1、混沌系统

混沌现象是在非线性动力系统中出现的确定性类似随机的过程,这种过程既非周期又不收敛,并且对初始值有极其敏感的依赖性。从时域上看,混沌映射得到的序列类似于随机序列,相关性较弱,具有很好的类白噪声特性,因此可以用来产生伪随机信号或伪随机码。原理上只要增加迭代次数,伪随机码的周期可以很长,产生长码十分简单。通过混沌系统对初始值和结构参数的敏感依赖性,可以提供数量众多、非相关、类随机而又确定可再生的信号。由于上述特点,混沌已广泛应用于保密通信中,同时也可以作为加密序列。混沌加密技术已成为一种新兴的加密技术。

一类非常简单却被广泛研究的动力系统是logistic映射,其定义如下:

混沌图像加密方法之基于分数傅里叶变换加密

其中,0<μ<4称为分枝参数,xk∈(0,1)定义同上。混沌动力系统的研究工作指出,当3.569 945 6…<μ≤4时,logistic映射工作于混沌态。也就是说,由初始条件xo在logistic映射的作用下所产生的序列{Xk;k=0,1,2,3...)是非周期的、不收敛的,并对初始值非常敏感。

另一类简单的映射是Chebyshev映射,以阶数为参数。

k阶Chebyshev映射定义如下:

混沌图像加密方法之基于分数傅里叶变换加密

其中,xk的定义区间是(-1,1)。事实是通过简单的变量代换,logistic映射同样可以在区间(-1,1)上定义。其形式如下:

混沌图像加密方法之基于分数傅里叶变换加密

其中,λ∈[0,2]。在λ=2的满射条件下,logistic映射与Chebyshev映射是拓扑共轭的,其所生成的序列的概率分布函数PDF (probability density function)也是相同的:

混沌图像加密方法之基于分数傅里叶变换加密

对于式(2)形式的logistic映射,如果μ=4,PDF可改写为:

混沌图像加密方法之基于分数傅里叶变换加密

通过ρ(x),可以很容易地计算得到logistic映射所产生的混沌序列的一些很有意义的统计特性。例如,x的时间平均即混沌序列轨迹点的均值为:

混沌图像加密方法之基于分数傅里叶变换加密

关于相关函数,独立选取两个初始值xo和yo,则序列的互相关函数为:

混沌图像加密方法之基于分数傅里叶变换加密

注意联合pdf ρ(x,y)=ρ(x)*ρ(y)。

而序列的自相关函数(auto-correlation functions,ACF)则等于delta函数θ(1)。

Logistic序列的以上特性表明,混沌动力系统具有确定性,其遍历统计特性等同于白噪声,其具有形式简单,初始条件的敏感性和具备白噪声的统计特性等诸多特性。

2、混沌二维置换网络的设计

密码学中使用置换来进行数据变换,主要有两种作用:

(1)对数据内容作不可预测的替换;

(2)改变数据在数据序列中的位置,即随机换位。

对于第(2)种置换网络也称为置乱网络。本文采用一种二维混沌置乱方法来应用于图像的加密。置换网络的目的是利用若干步骤的变换,打乱原来元素的位置,使原来有规则的元素分布在多次变换后显现无规则、接近随机的分布,从而起到信息保密的作用。这里将混沌序列引入密码置换网络,利用混沌映射产生序列的非线性以及其轨道点的遍历性,来产生置换网络的双射变换所需的地址。

加密算法原理框图如图1所示。

混沌图像加密方法之基于分数傅里叶变换加密

加密算法原理:设二维数字图像的矩阵表示为Ai =[ai,j]MxN,其中ai,j代表图像第i行第j列像素的灰度值(或RGB分量值),对图像采用置换网络的置乱在本质上是原始图像与加密图像之间对应点处灰度值的移动。图1中,二维MxN置换阵列的存储单元存放MxN个原图像序列,混沌序列产生器a和b分别提供二维置换阵列的行地址和列地址,用来选择要输出的图像序列。

图1中Ai是置换前的明文序列,Ao是置换后的序列。这里Ai和Ao的关系由混沌序列产生器a和b来确定的。设用户密钥为x01,x02。利用密钥值x01,x02,本文采用式(4)生成实数值混沌序x1k,x2k,在该加密算法中不使用该序列的初始段部分,设起始位置分n1,n2。然后由x1k和x2k分别生成二维置换阵列的行地址和列地址,这里采用两个Chebyshev映射产生的序列加1成为区间[0,2]间的数,然后乘以(M+1)/2和(N+1)/2取整来作为置换阵列的行地址和列地址。密钥为(x01,x02,n1,n2)。混沌序列产生器a和b产生序列直接决定了该置换网络的保密性能。

三、基于分数傅里叶变换的混沌图像文件加密方法

结合使用图像置乱和分数傅里叶变换加密即是图像双重加密。将图像置乱记为Jc(),图像置乱的反变换记为J-c()。分数傅里叶变换记为F(px,py),px,py分别为x,y方向的分数傅里叶变换阶数,输入图像用f(x,y)表示。

对图像进行区域置乱变换,得到:

混沌图像加密方法之基于分数傅里叶变换加密

对变换过后的图像进行分数傅里叶变换,可以得到:

混沌图像加密方法之基于分数傅里叶变换加密

这样,也就得到最后加密结果为:

混沌图像加密方法之基于分数傅里叶变换加密

图像解密的过程也就是加密的反过程。只要对式(12)进行反变换就可以得到原来图像信息,可由下式表示:

混沌图像加密方法之基于分数傅里叶变换加密

式(13)即为解密输出图。每一次变换都包含x和y两个方向,即有px, py两个变换密钥。另外,双重加密也可以先进行分数傅里叶变换后再进行区域置乱加密,即最后的加密结果为:

混沌图像加密方法之基于分数傅里叶变换加密

相应的解密过程为:

混沌图像加密方法之基于分数傅里叶变换加密

四、计算机模拟分析

1、数字图像文件加密变换的计算机模拟实现

图2为原始lena图像,256灰度级,256x256像素。对原始图像的x,y方向分别实施px=0.2,py= 0.7的不对称分数傅里叶变换,得到的加密图像文件如图3所示。

混沌图像加密方法之基于分数傅里叶变换加密

图4为实施不同级次逆变换对加密图像进行解密所得的结果。解密参数px、py如图4(a)~图4(d)所示。

混沌图像加密方法之基于分数傅里叶变换加密

以上实验结果可以看出,当x,y方向的逆变换级次分别与原变换级次都接近时,能看到原图像的部分信息。因此,本文提出同时采用图像空间域置乱和频率域分数阶傅里叶变换,实现图像双重加密。只有同时清楚空间域置乱密码和分数阶傅里叶变换密码才可能对加密图像文件进行有效解密。

2、基于分数傅里叶变换的混沌图像文件加密方法的计算机模拟

图5是对图1原始lena图像先用混沌序列进行置乱,然后再进行分数傅里叶变换得到的加密图像。混沌密钥为(x01,x02,n1,n2)=(0.4,0.6,5,10)。分数傅里叶变换阶数密钥为(px,py)=(0.2,0.7)。

混沌图像加密方法之基于分数傅里叶变换加密

对加密后的图像文件进行解密,图6是密钥不正确时的解密图像,其中图6(a)是分数傅里叶变换密钥不正确,分数阶为(px=-0.12,py=-0.62),置乱反变换密钥正确得到的解密图像;图6(b)是分数傅里叶反变换密钥正确,置乱反变换密码不正确得到的解密图像,(x01,x02,n1,n2)=(0.4001,0.600 1,5,10)。

混沌图像加密方法之基于分数傅里叶变换加密

图7是密钥都正确时的解密图像。可见只有同时知道置乱密钥和分数傅里叶变换密钥时才能得到原始图像信息。

混沌图像加密方法之基于分数傅里叶变换加密

小知识之分数傅里叶变换

在数学文献中,分数傅里叶变换(fractional Fourier transform,FRFT)指的就是傅里叶变换的广义化。近几年来,分数傅里叶变换除了在信号处理领域有相当广泛的应用,其也在数学上被单独地研究,而定义出如分数回旋积分(fractional convolution)、分数相关(fractional correlation)……等许多相关的数学运算。

分数傅里叶变换的物理意义即做傅里叶变换a次,其中a 不一定要为整数;而做了分数傅里叶变换之后,信号或输入函数便会出现在介于时域与频域之间的分数域(fractional domain)。