基于Logistic和标准映射,提出了新的数字图像文件加密方法。即在Logistic映射和标准映射的基础上,构造一种具有强非线性耦合结构的置乱变换(类似于传统加密方式中的Feistel结构)来实现图像像素位置的置乱变换。然后对置乱后像素的灰度值进行替代变换,并将每一个像素值扩散到密图其他像素中,以改变图像的统计特性,达到更好的加密效果。

一、加密算法原理

1、Logjstic混沌映射

Logistic映射是一种可产生混沌的非线性系统,0<μ≤4,O<x<l,v∈N,μ为分岔参数,xn在区间[0,1]上遍历。研究表明,当3.569945---<μ≤4时,映射处于混沌状态。

2、标准映射

人们对于弹跳球模型的研究由来已久,标准映射是弹跳球模型在高弹跳情形下的二维映射。标准映射形式上为显函数,却具有极其丰富的动力学性质,是研究混沌现象的基本模型,其理论意义重大,已在理论物理、力学等各个领域得到了深入研究。

在混沌动力学中有一种标准映射,其定义如下参数k为正常数。

二、加密算法设计

1、置乱变换

为了设计置乱变换系统,需要先将式(3)和式(4)离散化,i,j,i’,j',N均为整数。函数φ(.)和ψ(.)应选择为对其各自的自变量充分敏感的函数,而混沌系统刚好满足这一特性,因此选取函数φ(.)和ψ(.)为:

式中,round函数表示按四舍五入方式求整数,cn,cn'为密钥序列,由Logistic映射迭代式(l)产生,且在Logistic映射控制参数为μ1、初值为c(0)时产生cn;在控制参数为μ2、初值为cn'(0)时产生cN'。为了取得更好的随机性,取迭代m次(可设m>10000)以后的迭代值。

应用式(8)可以对大小为N×jV的数字图像进行像素置乱变换,在上述系统中,i,j为图像像素的当前位置坐标,i',J'为置乱后该像素的位置坐标。

2、灰度值变换

置乱和替代是加密技术中的两个基本方法。除了上述置乱操作,下面将引入对像素值的替代变换。设I(i,j)是位置为(i,j)的像素的灰度值,I’(i,j)为I(i,j)经过替代变换后的值,I'(i,j)为替代变换循环中上一个处理过的像素灰度值。这里我们设置一个替代变换放大倍数Gn,利用Logistic映射式(1),取控制参数为μ3、初值为g(0),同样取迭代m次之后的混沌序列产生gn,通过上面的操作,可以将加密图像中每一个像素值都联系在一起,也就是扩散到密图所有像素中,改变任何一个像素的像素值,都会影响到所有像素,从而提高了替代变换系统的安全强度。

3、加密解密算法

假设要加密的数字图像其大小为N×N,灰度级为256,加密算法如下:

(1)读人原始图像和密钥K;

(2)将给定密钥Keyl=(μ1,c(0),m)和Key2=(μ2,c'(0),m)分别带人Logistic映射式(1),分别取迭代m次以后的值产生混沌序列cN和cn’;

(3)将cN和cN'带人式(9),构造函数φ(.)和ψ(.);

(4)选取原图中任意一点,应用式(7)对原始图像像素进行置乱变换,直至图像中所有像素完成置乱变换;

(5)将给定密钥Key3=(μ3,g(o),m)带人Logistic映射式(1),取迭代研次以后的值产生混沌序列gn,并将函带入式(11)得到Gn;

(6)对置乱过后的图像,应用式(12)按照电视扫描线方式从第一个像素开始对图像进行像素值替代变换;

(7)重复步骤(6)N×N次,直至置乱后图像的所有像素值被替代;

(8)完成一轮加密操作后,可根据需要进行多轮加密。

解密算法与加密算法刚好相反,要先对密图进行警代变换,应用式(13)采用逆电视扫描线的方式从最后一个像素开始对密图像素进行替代变换,直至第一个像素也替代变换完毕。然后对此时的图像进行逆置乱变换,即运用式(8)对此时图像进行逆置乱变换,直至图像中所有像素均完成逆置乱变换。

三、加密算法分析及仿真实验

本文加密算法先根据标准映射设计了像素的置乱变换,又通过替代变换使各像素值改变并相互依赖,所采用的加密解密算法都具有迭代结构,因而适合计算机快速计算;对于图像矩阵,也不需要进行预处理,提高了效率。同时,应用混沌系统产生了算法中各部分所需要的密钥流,使其简单快速又具有非线性,还具有对初始值敏感的特性。

为了不被穷举攻击解密图像,图像加密方案应该具有尽可能大的密钥空间。本文算法中由于密钥参数有7个,并且是在实数范围内取值,因此算法有足够大的密钥空间,使得穷举攻击不可能。

1、加密密钥敏感性测试

仿真环境为Matlab 7.O,原始图像为256×256的Lena灰度图像。用密钥K1=(3.86,3.67,3.72,0. 86,0. 76,0.59,10000)进行加密,加密一轮,分别使用K1及与K1略有不同的K2=(3. 6,3.67,3.72,0.86,0.76,0.5900001,10000)进行解密。

通过实验结果可以看出,当解密密钥与加密密钥有一点微小的差别时,都完全不能正确解密出原始图像,所以本算法对密钥有极强的敏感性。而且可以看出,在加密只进行一轮的情况下,已经达到了相当好的效果,也可以根据需要进行多轮加密。

2、统计分析

抗统计分析攻击能力的好坏是评判图像加密算法优劣的重要标准。

1)统计直方图

加密前后的图像直方图有很大的区别,加密后像素值分布非常均匀,非常好地掩盖了原始图像的分布规律,增加了破译难度。

2)相邻像素的相关性

相邻像素的相关性可以反映出图像像素的扩散程度。原始图像中相邻2个像素的相关性通常非常大,加密后图像相邻像素的相关性应该接近为O。随机选取1500对像素对,测试其水平方向、垂直方向和对角方向的像素相关性。

明显可见加密后图像相邻像素间的相关性呈随机的对应关系。从表1也可以看出,加密图像的相邻像素相关系数接近于零,其相邻像素已基本不相关。

小知识之Logistic

Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。