众所周知,人们需要对数字图像中的隐私信息进行保护或加密,由于混沌系统具有拓扑传递性、正的李雅普诺夫指数并且对初始条件高度敏感,在数字图像混沌加密中获得了广泛的应用[1-3]。例如,文献[4]利用Arnold映射置乱图像像素位置,文献[5]给出了一种基于DNA序列的加密算法,文献[6]介绍了一种基于Logistic映射的混沌加密算法,文献[7]给出了基于通信编码序列与多混沌图像加密算法,文献[8]给出了复合级联混沌的彩色图像加密算法,文献[9]给出了图像全息数字水印算法,文献[10]给出了基于DNA序列操作的新型混沌图像加密方案。还有最新的图像加密算法,如文献[11]给出的基于并行计算系统的快速图像加密算法。在这些算法中,例如文献[5]的密文直方图不均匀,文献[6]存在混沌范围小的特点等,此外部分算法存在混沌系统和加密算法与明文无关、用于生成混沌序列的混沌系统结构相对简单的不足。
为解决上述问题,本文提出了一种基于三维Logistic-Sine级联映射(3D-LSCM)的图像混沌加密算法,将Logistic映射的输出作为Sine映射的输入,构造一种三维Logistic-Sine级联映射,在此基础上,利用3D-LSCM设计图像混沌加密算法。该算法的主要特点是采用两轮置乱和双向扩散的方法,并且将明文信息作为初始条件的一部分,增强等价密钥破译难度,最后给出了等价密钥分析、差分分析、相关性测试、密钥敏感性测试、密钥空间大小的结果。
1 3D-LSCM混沌映射的构造
Logistic映射的数学表达式为:
由于Logistic映射范围较小,只有当μ∈4时才出现单位区间[0,1]上的满映射;而Sine映射存在与Logistic映射一样的缺点,即具有有限的混沌映射范围和分布不均匀性。但如果将Logistic映射与Sine映射进行级联,则能扩大混沌映射的范围。基于上述考虑,本文在文献[12]的基础上,提出一种3D-LSCM映射,其迭代方程的数学表达式为:
在式(3)中,Logistic映射的输出作为Sine映射的输入,进而由一维扩展到三维。与单独的Logistic映射和Sine映射相比,由于Logistic映射和Sine映射相互嵌套和耦合,因而具有更好的统计性能[13]。李氏指数(Lipschitz Exponent,LE)计算结果如图1所示,可知3D-LSCM在整个控制参数区间内具有3个正的李氏指数(λ1、λ2、λ3)。
2 图像混沌加密算法
2.1 混沌加密流程图
本文设计了一种基于3D-LSCM的图像混沌加密算法,其流程图如图2所示。由图2可知,该算法采用了两轮置乱-双向扩散结构,密钥由x0、y0、z0、μ组成,其中x0、y0、z0为3D-LSCM的初始值,并且与明文相关;μ为3D-LSCM的控制参数。混沌序列则由3D-LSCM产生,主要用于两轮置乱-双向扩散中。设明文图像P的尺寸为M×N,对其混沌加密的流程图如图2所示。
2.2 初始值设置与混沌序列的生成
为了抵御选择明文攻击,混沌系统的初始条件需要对明文有高度敏感性。为了解决这个问题,在本算法中,对初始值设置的数学表达式为: