为了提高图像加密算法的安全性和高效性,我们提出了一种分段Logistic混沌映射与Cat映射相结合的双混沌系统。首先由改进后的Logistic映射确定选用哪种映射进行迭代,从而确定混沌密钥,最后对加密算法的安全性进行分析。
一、分段Logistic混沌映射和Cat映射
1、分段Logistic混沌映射
一维Logistic映射从数学形式来看是非常简单的混沌映射,但此系统具有极其复杂的动力学行为,因此在保密通信领域的应用十分广泛,其数学表达公式如下:
其中μ∈[O,4]被称为Logistic参数,n=1,2,…,当x∈[O,1]时,Logistic映射工作处于混沌状态,也就是说,初始条件xo在Logistic映射作用下产生的序列是非周期的、不收敛的,但在此范围之外,其生成的序列必将收敛于某一个特定的值。如图1所示。
图1(a)为xo =0.5,μ=3.99时的300次迭代结果,图1(b)为xo =0.5,μ=2.5时的300次迭代结果。
可以看出,在μ取3.569 945 6<μ≤4时,特别是接近4时,迭代生成的值是处于一种伪随机分布的状态,而在其他取值时,经过一定次数的迭代之后,生成的值将收敛到一个特定的数值,这是不可接受的。
当μ=4时,相应的Logistic映射定义为:
混沌系统在初值发生微小变化时,得到的结果就会大相 径庭,图2的Logistic混沌映射就很好地反应了初值敏感性。
图2显示的是xo =0.663 489 000和x0=0.663 489 001,μ=3.99时,两个Logistic序列之差的图像,在最开始20多次迭代, 两者的差很小,近似为0,但随着迭代次数的增加,两个序列的 值显示出一种无规律的情形,两者相差也比较大。 Logistic混沌映射和Tent混沌映射存在着拓扑关系忉,由分段Tent映射的定义公式:
可构造出分段Logistic混沌映射,其混沌映射定义为:
2、 Cat映射
二维的可逆Cat混沌映射每次的运算,都要先线性拉伸正方形的点空间,然后通过模运算分割折叠,如图3所示。
二维cat映射动力学方程式如下:
因为线性转换矩阵行列式为1,所以Cat映射又是区域保 留的。李雅普诺夫指数δ1=(3+ 根号5)/2>1,δ2=(3-根号5)/2<1;当a、b均为1时,就是经典的Amold Cat映射。
二、算法设汁
混沌系统的加密算法,设计关键是对混沌映射的选择,不同的混沌映射在时间复杂度、空间复杂度以及安全性方面都有很大的差别。本文提出的分段Logistic双混沌映射与Cat映射相结合的加密算法,相对一维Logistic混沌映射安全性更高,而相对于三维的混沌Lorenz系统复杂度更低,运算速度更快。
本算法先选定分段Logistic映射和Cat映射的初始值xo、yo和xo。再设定内部参数a=0.4,b=0.6和μ=3.976,将选定的初始值和内部参数作为密钥,而xn、yn。和xn'为分段Logistic映射和Cat映射的中间迭代结果。解密过程与加密过程相同。算法步骤如下:
步骤1设置初始值xo、yo、xo'。
步骤2把xo、yo用分段Logistic映射公式(4)迭代500次,得到xn、yn。
步骤3计算xn×yn×100的值,取其后2、4、6、8位有效数字组成的整数,记为N(O<N<10000)
步骤4当N当N≥5 000时,选用Cat映射迭代5次,得到xn'、yn'。
步骤5计算xn'×yn'×100的值,取其后2、4、6、8位的值,组成一个十进制整数与256取余,得到混沌密钥。
步骤6读取明文,将得到的混沌密钥与明文做异或运算,得到密文字节。
步骤7判断加密是否完毕。
加密解密流程图如图4所示。
三、实验结果及分析
1、实验结果
本算法在Matlab7.0上,对256×256的Lena图像文件加密,其结果如图5所示。
从实验结果上看本算法有效地对图像进行了加密/解密,图5(b)中可以看到,图像在经过加密后完全不能被识别,可见本算法具有较好的置乱性,而图5(d)可以看到,密钥稍有不同,解密出的图像就得不到原图的任何信息,说明该算法具有较高的安全性。而图6中可以看出,加密后的图像被均匀化了,说明该算法具有密码学特征。
2、密切空间分析
为了不被穷举攻击解密图像,加密方案应该具有尽可能大的密钥空间。混沌序列的产生过程中,分别有3个参数和3个初值作为初始密钥,密钥空间可达到1090,由此可见密钥空间很大。而规定的密码位数为8位,因为ASCII字符集最多有95个,所以口令密钥空间为958,因此使用穷举攻击是不可能成功的。
3、 初值敏感性分析
当xo变量有10-8的微小变化时,加密后的图像如图7(a)所示,图7(b)为两图做差的结果。
当y0变量有10-8的微小变化时,加密后的图像如图8(a)所示,图8(b)为两图做差的结果。
当xo变量有10-8的微小变化时,加密后的图像如图9(a)所示,图9(b)为两图做差的结果。
可以看出初值有微小的变化,其结果就相差很大,说明该方法具有很好的初值敏感性。在实际应用中可以根据该算法,对不同的传输对象使用不同的密钥,而不同的对象不可能根据自身的密钥得到其他人的密钥,因此该方法具有很好的安全性和实用性。
4、 加密扩散速度和强度分析
将原始图像的点(1,1)值由原来的138改为137,则像素数目变化速度(NPCR),像素强度变化速度(UACI)分别利用公式(6)、(7)计算。
图10可以看出,两个图像只有一个像素点不同,但随着迭代次数的增加,两幅图像截然不同。
5、抗攻击性能分析
为测试本算法的抗攻击能力,考虑到Amold Cat算法具有较强的抗击能力,因此选取Amold Cat算法进行对比,如表1所示。
对加密图像根据公式(8)进行峰值信噪比计算,其中I为加密图像,I'为加密图像受攻击后的图像。
可以看出本算法对JPGE压缩、高斯噪声、椒盐噪声、乘性噪声、高斯低通滤波、直方图均衡化和裁剪等常见攻击方法峰值信噪比都比Amold Cat算法的峰值信噪比高,因此该算法具有很好的抗攻击能力。
小知识之李雅普诺夫指数
李雅普诺夫指数指的是对初值敏感(即对混沌现象)的判断需要一个定量的指标, 这个指标就是李雅普诺夫指数,它表示相邻轨线间的平均发散(分离)率, 是一个统计平均量。