大家都知道,图像加密主要有置乱方法和替代方法,置乱方法对图像像素、灰度比特或频率域系数的位置重新排列;替代方法对图像像素灰度、灰度比特或频率域系数值进行替代。根据数字图像加密的特点,我们基于混沌动力系统设计出了一种数字图像加密方法,接下来我就带大家认识一下。

一、混沌动力系统

混沌序列具有非周期性、连续宽带频谱、类似噪声的特性,使它具有天然的隐蔽性,对初始条件和微小扰动的高度敏感性使混沌序列适用于保密通信。Logistic映射是非常简单但得到广泛应用的动力系统,它的一种定义形式如下:

基于混沌动力系统的数字图像加密方法

其中,0<μ≤4称为分岔系数,Xn∈(0,1)称为状态。0<Xn<1,3.6≤μ≤4时,Logistic映射工作于混沌状态,当μ=4时,其概率分布密度为:

基于混沌动力系统的数字图像加密方法

目前已有不少二维混沌矩阵可供加密使用,很容易通过计算机将一维混沌序列推广成混沌矩阵应用于图像文件加密,如耦合方法等。

二、混沌有序化映射与置乱模块

设混沌有序化映射为f:M→MLR,M是混沌矩阵,MLR是对M有序化运算后的结果。f定义为MLR=M(K),即:按下标矩阵K读取M得到MLR。设M是大小为L×R的混沌矩阵,产生下标矩阵K的步骤如下:

1、根据密钥生成一个大小为L×R的混沌矩阵M;

2、对M的各行元素升序排列得矩阵ML,ML的元素在M中的列下标构成矩阵K2;

3、对ML的各列元素升序排列得矩阵MLR,MLR的元素在ML中的行下标构成矩阵K1;

4、下标矩阵为K:K(l,r)=(K1(l,r),(K2(l,r)),l=1,2,…,Lr=1,2,…,R。设明文图像为I,大小为L×R,置乱图像为I′,解置乱图像为I″,由以上步骤生成K,置乱和解置乱运算如下:

置乱运算:I′=I(K)(3)

解置乱运算:I″(K)=I′(4)

三、替代模块

为了提高加密算法的安全性,设计了替代运算如下:

I*=(I+C×M)modG(5)

其中I*表示灰度替代后图像,混沌矩阵M根据密钥生成,G是图像灰度等级,C是常数。解替代运算:

I**=(*-C×M)modG(6)

其中I**代表解替代后图像。

四、算法实现

1、空间域加密算法

置乱模块和替代模块都是根据密钥进行的,每个模块均可单独对图像进行有效加密。空间域加密算法把两者结合起来:加密时先对原始图像进行置乱操作,再进行替代操作,解密时先对密文图像解替代操作,再解置乱操作。

2、频率域加密算法

密文图像在传播过程中可能需要根据传输率要求进行相应压缩比的有损压缩,图像空间域加密算法破坏了图像像素间的相关性,严重影响密文图像压缩率。为了解决密文图像的有损压缩问题,本文设计了频率域图像加密算法。

假设明文图像大小为L×R,m,n是块下标,i,j是块内元素标号,*,*表示所有块,频率域图像加密算法描述如下:

1、对明文图像进行8×8分块DCT,记DCT域图像为:

Im,n(i,j),m=1,2,…,L/8,n=1,2,…,R/8,i,j=1,2,…,8

所有8×8DCT块的(i,j)位置的系数构成矩阵记为:

I*,*(i,j),i,j=1,2,…,8

步骤2根据密钥生成大小为L×R的混沌矩阵并8×8分块,记为:Mm,n(i,j),m=1,2,…,L/8,n=1,2,…,R/8,i,j=1,2,…,8

所有8×8块的(i,j)位置的值记为:

M*,*(i,j),i,j=1,2,…,8

对M*,*(i,j)进行有序化运算同时生成下标矩阵记为:K*,*(i,j),i,j=1,2,…,8

步骤3按式(3)用K*,*(i,j)对I*,*(i,j)进行置乱操作;

步骤4DCT逆运算,建立加密图像;根据加密算法很容易写出相应解密算法。

本文基于混沌有序化映射设计了图像加密的置乱模块,该模块能有效去除图像的相关性;设计了图像的空间域和频率域加密算法。图像空间域加密算法的优势是计算速度快,无失真;频率域加密密文图像在传播过程中,能根据传输率要求对密文图像进行相应压缩比的有损压缩处理再传播,并能根据压缩后的密文图像解密出较低失真率的解密图像。

小知识之混沌动力学

混沌动力学是复杂性科学的一个重要分支,也是近三十年来的一个热门学科,沌动力学已发展成相对完备的体系,并在众多领域显示出强大的生命力。