针对图像加密算法中迭代性高、低维离散混沌加密密钥空间小、保密性低等特点,我们提出了一种基于有限状态斜帐篷映射的混沌加密方法。该方法采用一种有限状态skew tent映射来产生伪随机整数序列,然后依据该混沌序列控制图像像素的置换和灰度值的修改,攻击者在不知道密钥的情况下,加密图像不能被正确重建。

一、有限状态斜帐篷混沌映射

考虑如下一维离散时间非线性动力学系统Xk+1=τ(xk),其中Xk∈P,k=0,1,2,…,称之为状态;而τ:P→P是一个映射,将当前状态Xk映射到下一个状态Xk+1,如果由初始值x0反复应用τ,就得到一个序列{Xk}k=o,1,2,…,这一序列称为该离散时间动力系统的一条轨迹。

定义有限状态斜帐篷映射fa(x):{1,2,…,M}→{1,2,…,M}为:

基于有限状态斜帐篷映射的图像加密算法

fa(x)是一维正合的,因而也是混合和遍历的,其中控制参数a=0.5时,(1)式即为Tent映射,f的Lyapunov指数定义为:

基于有限状态斜帐篷映射的图像加密算法

有限状态帐篷映射fa(x){1,2,…,M}→{1,2,…,M}是一个双射,在有限精度数字计算机中迭代时,由于截断误差,x将很快落人一个循环。将区间[o,1]分成M等分,将外部密钥P和密文C表示为所有的等分点构成一个状态集合:

基于有限状态斜帐篷映射的图像加密算法

同时将外部密钥空间K定义为:

基于有限状态斜帐篷映射的图像加密算法

基于fa,可以构造一个在P上的有限状态映射fa。

基于有限状态斜帐篷映射的图像加密算法

其中a∈K,[z]表示小于z且与z最接近的古的倍数。

为了使混沌映射在整数集上运算,在(2)式的基础上,重新定义明文空间、密文空间、密钥空间和混沌映射FA如下:

基于有限状态斜帐篷映射的图像加密算法

其中P’为明文空间,C’为密文空间,K’为密钥空间。

二、图像加密算法

图像加密算法过程如下:

Step1:设待加密图像Ie={o≤fk(i,j)≤255),若图像为彩色图像,k=1,2,3分别对应三个彩色分量R、G、B;若图像为灰度图像,k=1,i=0,1,2,…,M-1,j=0,1,2,…,N-1,图像分辨率为MxN。不失一般性,假设明文图像大小为t= 256×256,对于比之大或比之小的图像,可以分别采取分割为256×256的块组或填充至256×256的办法。

Step2:利用有限状态斜帐篷映射产生伪随机整数序列Sk∞=0,Sk∈(1,M)),该序列对初始值十分敏感,不同的初始值将产生完全不同的随机参数序列,从而达到像素置乱之目的。

Step3:二值序列,可以通过定义一个阈值函数Ⅱ,由上述的伪随机整数序列得到2H值混沌序列,阈值函数Ⅱ定义为:

基于有限状态斜帐篷映射的图像加密算法

Step4:在对MxN的图像进行位置置换时,一般做法是建立一个等大的输出空间,将此空间中的每个像素坐标(i,j)作为初始值代人混沌映射序列T1 (x)=Cn-1Cn-2…C1C0中,对于某一个像素点(i,j)的灰度值I(i,j),0≤/(i,j)≤255,将它表示为二进制形式I7I6…I1I0。利用2H值混沌序列T(x)=Cn-1Cn-2…C1C0来修改I7I6…I1I0。

Step5:执行混沌置乱算法,混沌置乱采用的是使用较多的猫映射,也叫Amold映射,其定义为:

基于有限状态斜帐篷映射的图像加密算法

从式(3)不难看出,Arnold映射过程是把原图像位置(x,y)上的像素映射到(x’,y')位置上,那么其逆映射即为把(x’,y')的像素映射到(x’,y')位置上.因此,可以用原来式(3)的映射过程,通过(x,y)求得(x’,y')后,把位置(x’,y')上的像素移动到(x,y)上便实现逆映射过程,该逆映射方法简单,不需要进行判断。

Step6:图像加密过程结束。

本文设计的加密算法是对称的,也就是图像文件加密和解密都使用同一个密钥,因此解密算法是上述加密算法的逆过程。

三、加密算法安全性分析

1、密文统计特性与密文相关性

明文图像一般具有某种统计特征,经过图像文件加密处理后,这种统计特性应该消失,即密文图像的灰度分布应该是均匀的,从图1可以发现,加密算法在消除明文图像的统计特性方面是有效的。

基于有限状态斜帐篷映射的图像加密算法

分别测试密文图像中垂直方向、水平方向和对角线方向相邻像素之间的相关性。首先,从密文图像中随机选择1000对相邻像素点;然后,通过下式计算每对相邻像素点之间的相关系数:

基于有限状态斜帐篷映射的图像加密算法

其中x和y是相邻两个像素点的灰度值。在数值计算中,使用如下离散公式计算:

基于有限状态斜帐篷映射的图像加密算法

2、密文图像受损攻击

数字图像在传输过程中,难免经过必要的数据处理或遭受人为攻击,如压缩、滤波、噪声污染、破损和几何失真等,算法应该具有抵抗这种攻击和干扰的能力,在密文图像受到破损攻击后,经解密算法,破损部分应该没有扩散,其余部分应能正确还原,图2所示为密文图像破损攻击,设定密文图像的左上方有一块15 ×10大小的图像像素丢失,设丢失部分的图像像素灰度值为0,图2(d)所示为解密结果,可以发现解密图像与明文图像相似程度很高。

基于有限状态斜帐篷映射的图像加密算法

小知识之阈值函数:

阈值函数定义为:Y=X-T,X≥TX+T,X≤-T0,|X|小波变换的系数,T是预先选定的阈值。而阈值的量化采用固定阈值法,其定义为:T=σ2log(N),这里N为信号采样的数目,σ为噪声的标准偏差。