数字图像加密其目的是将一幅给定的图像按一定的变换规则在空问域或频域将其变换为一幅杂乱无章的图像,从而隐藏其图像本身的真实信息。其图像文件加密方法可分为空间域算法和频域算法。空间域算法的优点是实现简单,且加密过程中不会引入额外的图像畸变,但加密强度不够。相对于空间域算法,频域加密效率较高,由于在变换中可设置不同的参数和采用算法复杂度高的算法,可保证图像信息有较高的安全性。

为此,我们提出了对数字图像进行分数傅里叶变换,然后对其相位谱和幅度谱用映射生成的混沌序列进行置乱的方法,可获得安全度较高的加密图像。

一、基于分频域相位和幅度的数字图像加密方法的理论基础

1、分数傅里叶变换的定义及相关的基本性质

分数傅里叶变换作为一种新的信号表征方式,已经在信息加密、信息隐藏、模式识别等领域得到了广泛的应用。设输入信号为f(x),则一维函数(将自变量改为二维矢量就可以直接推广到二维情况)的p阶分数傅里叶变换定义为:

基于分频域相位和幅度的数字图像加密方法
其中常数:

基于分频域相位和幅度的数字图像加密方法

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

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

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

(1)可加性

fpl (fp2)=fpl+p2;

(2)周期性

当p1+p2=4n时,fp1十p2=f,其中n为整数。

2、混沌序列定义及其在文中的应用

(1)混沌序列定义

由于混沌理论是动力系统从有序突然变为无序状态的一种演化理论,如果给定一个离散混沌系统两个非常接近的初始值,则经过几次迭代后,输出的结果可以完全不相关,因此利用混沌系统对初始条件极其敏感的依赖性,可以提供数量众多、非相关、类随机而又可确定可再生的混沌序列,其非常大的周期性和优良的随机性,不仅非常适合产生符合安全要求的序列密码,而且可以提供数量众多的密钥。

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

基于分频域相位和幅度的数字图像加密方法

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

另一类简单的映射是Chebyshev映射,以阶数为参数。k阶Chebyshev映射定义如下:

基于分频域相位和幅度的数字图像加密方法

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

其形式如下:

基于分频域相位和幅度的数字图像加密方法
其中λ∈0,2]。在λ=2的满射条件下,logistic映射与Chebyshev映射是拓扑共轭的。

(2) 混沌序列在文中的应用

密码学中,使用置换来进行数据变换,主要有两种作用:其一是对数据内容作不可预测的替换;其二是改变数据在数据序列中的位置,即随机换位。我们将混沌序列引入密码置换网络,利用混沌映射产生序列的非线性以及其轨道点的遍历性,来产生置换网络的双射变换所需地址。

设二维数据矩阵表示为A=[ai,j]M×N,其中ai,j代表第i行第j列像素的值。对A进行行列置乱处理。置换阵列的行地址和列地址由混沌序列产生。

二、加密/解密方法

设输入图像用f(x,y),分数傅里叶变换记为F(px,py),px py分别为x,y方向的分数傅里叶变换阶数。

对图像进行分数傅里叶变换,得到:

基于分频域相位和幅度的数字图像加密方法

式中A(ξ,η)和B(ξ,η)分别是分数傅里叶谱的振幅和相位成分。

根据系统加密的设计原则,文中提出对图像进行分数傅里叶变换,再对变换后的振幅谱或相位谱进行混沌置乱处理。图像加密主要步骤:

步骤1:对大小为M×N的任意图像,作阶次为(px,py)的分数傅里叶变换。每一次变换都包含x和y两个方向,即有px,py两个变换密钥。得到分数傅里叶变换系数矩阵。

步骤2:确定一维Chebyshev系统的初始参数。设用户密钥为x01,x02利用密钥值x01,x02采用公式(4)生成实数值混沌序x1k,x2k,在该算法中不使用该序列的初始段部分,设起始位置分别为n1,n2,然后由x1k和x2k分别生成二维置换阵列的行地址和列地址,这里采用两个Chebyshev映射产生的序列加1成为区间[0,2]间的数,然后乘以(M+ 1)/2和(N+ 1)/2取整来作为置换阵列的行地址和列地址。密钥为( xo1,x02,n1,n2)。

步骤3:对得到的振幅谱或相位谱进行行列置乱。也可以对振幅谱和相位谱同时置乱,密钥更安全。文中为介绍简单起见对得到振幅谱和相位谱矩阵分别加密。

解密过程为加密过程的逆。首先根据密钥生成逆置乱序列,对加密的振幅谱或相位谱进行列逆置乱。再进行分数傅里叶反变换,达到解密图像的目的。

三、仿真结果与分析

为了验证文中提出的加密算法,在MATLAB7.0中实现图像分数傅里叶变换,并做了相关实验。使用的原始图像为256×256的256灰度级标准“lena”图像。对加密图像进行了破解实验。图1为原始图像。

基于分频域相位和幅度的数字图像加密方法

图2(a)是对图1原始图像先进行分数傅里叶变换,然后再对其振幅谱用混沌序列进行置乱得到加密图像a图2(b)是对图1原始图像先进行分数傅里叶变换,然后再对其相位谱用混沌序列进行置乱得到加密图像。

两处的密钥均为:分数傅里叶变换阶数密钥(px,py)=(0.8,0.9)、混沌系统控制参数密钥为(0.2,0.6,170,160)。

基于分频域相位和幅度的数字图像加密方法

对加密后的图像进行解密。图3 (a)、(b)、(c)是对图2(a)的错误解密图像。其中图3(a)和(b)均为分数傅里叶变换密钥正确,置乱反变换密钥不正确得到的解密图像;图3(d)为分数傅里叶变换密钥不正确,置乱反变换密钥正确得到的解密图像。错误密钥分别是:( X01,X02,n1,n2)=(0.20000001,0.6,170,160)、( x01,X02,n1,n2)=(0.2,0.6,170,180)、(px,py)=
(0.85,0.95)。

基于分频域相位和幅度的数字图像加密方法

图4 (a)、(b)、(c)是对图2(b)的错误解密图像。其中图4(a)和(b)均为分数傅里叶变换密钥正确,置乱反变换密钥不正确得到的解密图像;图4(c)为分数傅里叶变换密钥不正确,置乱反变换密钥正确得到的解密图像。错误密钥分别是:(x01,x02,n1,n2)=(0. 2,0. 60000001,170,160)、(x01,x02,n1,n2=(0.2,0. 6,170,180).、(px,py)=(0.82,0.92)。

基于分频域相位和幅度的数字图像加密方法

图5是密钥都正确时的解密图像D其中图5(a)是图2(a)的正确解密图像,图5(b)是图2(b)的正确解密图像。

基于分频域相位和幅度的数字图像加密方法

大量实验表明,加密密钥中混沌序列的初始存在很小的偏差,图像解密将无法完成。当解密设置的混沌序列的起始位置与密钥起始位置接近时只能看到图像的小部分信息,而混沌序列的起始位置存在很大的密钥空间,可实现较高安全程度。当混沌密钥正确,而分数傅里叶变换密钥不正确也看不到清晰的图像。可见只有同时知道置乱密钥和分数傅里叶变换密钥时才能得到原始图像信息。

小知识之空间域

空间域 。英文: spatial domain。 释文: 又称图像空间(image space)。由图像像元组成的空间。在图像空间中以长度(距离)为自变量直接对像元值进行处理称为空间域处理。