摘 要: 提出了一种基于级联混沌系统的图像加密算法。实验结果表明,这种加密算法具有高度的安全性和有效性。
关键词: 图像加密算法;混沌;级联混沌
目前混沌加密己成为密码学研究的热点之一,但已有的大部分混沌加密算法都是基于单个混沌系统的。事实表明,一些混沌映射可通过相空间重构的方法精确预测出来[1]。另外,由于计算机精度的限制,单混沌系统输出的时间序列并不能达到理论上的完全随机,而可通过多个混沌系统的级联使这一缺陷得到改善[2]。为此,本文提出了一种基于多混沌系统级联的图像加密算法,理论分析与数值实验均表明本算法能够达到密码学要求的混淆和扩散的目的,并能有效地预防差分攻击。
1 混沌序列的生成
1.1 Logistic映射
Logistic映射由数学生态学家May于1976年提出,是非线性迭代方程和研究最广泛的动力系统。Logistic映射的定义为:
当3.569 945 6<μ≤4时,Logistic映射工作处于混沌状态,即由初始条件x0在Logistic映射的作用下所产生的序列{xk}是非周期、不收敛的, 并对初始值非常敏感;当μ=4时,该映射是满射,产生的混沌序列在区间(0,1)上具有遍历性。由于Logistic映射具有与白噪声相似的特性、简单和 初始值敏感性的特点,因此很多混沌图像加密算法都是基于Logistic映射的。
1.2 时空混沌映射
时空混沌系统是一个空间上的扩展系统[3],它展现了时间和空间上的混沌性。耦合映射格子(CML)通常被作为时空混沌系统使用,这种系统是具有离散时 间、离散空间和连续状态的动力系统。它由位于格子站点上的称为局部映射的非线性映射组成,每个局部映射与其他局部映射以一定规则进行耦合连接。由于每个局 部映射所固有的非线性动力特性及相互间耦合所产生的发散性,CML可以展现时空混沌性。所以采用不同的局部映射和耦合方法便可以构造出不同形式的 CML[4]。本算法构造的二维CML为:
2 加密与解密的实现
本算法选用的混沌系统为时空混沌系统与一维Logistic映射。首先利用式(2)时空混沌系统产生随机序列,然后将这个序列值分别作为式(1)的 Logistic映射初始值,经过特定次数的迭代以后得到最后所需的混沌序列。这个特定次数是由上一个图像像素加密后的结果决定的。
(4)对图像c1按相反的方向从最后两个像素开始按步骤(3)对像素值进行操作得到图像c,即为加密后的密文图像。
作者:景运革,王彩霞 来源:微型机与应用