对数字图像而言,在传输过程中可能要求发送端与接收端进行保密通信,以保证图像信息的完整性、可靠性和安全性,对于数字图像,目前主要有两种有效的保护方法,即数字水印方法和图像加密方法,那么接下来,就给大家介绍一种数字图像加密方法基于Logistic与Henon混沌系统的彩色图像加密方法,能够改变图像象素的空间分布和灰度分布,而且具有较强的鲁棒性。

一、混沌映射

混沌是指在一个非线性系统中出现的一种貌似无规则的,类似于随机的现象。对于确定型的非线性系统出现的具有内在随机性的解,就称为混沌解。这种解在短期内可以预测,而在长期内却不可预测,因此与确定解和随机解都不同。混沌有着自己独有的遍历性、有界性、内随机性和普适性等特征。例如:

混沌具有对初值的敏感依赖性,只要初始条件稍有差别或有微小的扰动,就会使系统的最终状态出现很大的差异;

混沌具有各态历经的遍历性,混沌系统可以在特定范围内,按自身规律不重复地遍历所有状态。

Logistic映射是一个典型的非线性混沌方程,它起源于一个人口统计的动力学系统。 Logistjc映射的表达式如下:

基于Logistic与Henon混沌系统的彩色图像加密方法

这里0<λ≤4.称λ为分支参数。在确定了λ的值之后,λ由任意初值知X0∈[O,l]就可以迭代出一个确定的序列X1,X2,...Xn….。对于不同的λ值,式(1)的系统将呈现不同的特性;随着参数λ的值的增加,系统不断地经历倍周期分叉,最终达到混沌。

Logistic映射的另一种形式为

基于Logistic与Henon混沌系统的彩色图像加密方法
其中,μ(0,2),Yi∈[-1,1]。式(2)的系统与式(1)的系统具有类似的特征。

如下的Henon映射,在一定的条件下也呈现混沌
基于Logistic与Henon混沌系统的彩色图像加密方法
在Henon映射中,含有两个参数a和b,可以取一个参数为常数,把另一个参数作为变量进行迭代,这样可以得到类似于Lopstic映射的分岔,也是经历了一系列的倍周期分岔而达到混沌。

二、产生多个混沌序列的步骤

为了实现对数字图像文件加密,下面提出一种多个混沌系统相结合的加密方法。在该方法中,首先用如下的步骤产生多个混沌序列:

(1)第一步——由Logistic映射的式(1)进行N次迭代,产生一个混沌序列知,X0,X1,...Xn,将1.39+|Xn|/100作为Henon映射中的参数a的值;

(2)第二步——由Log18tic映射的式(2)进行M次迭代,产生一个混沌序列,Y0,Y1,....Ym,将0.29+|Ym|/100作为Henon映射中的参数b的值。

(3)第三步——由LOgi8tic映射的式(1)进行X次迭代,产生一个混沌序列对,X0’,X1’,...Xk’。将0.2+|Xk’|/150作为Henon映射中的初值Zo的值;将0.1+|Xk’|/200作为Henon映射中的初值W0的值;

(4)第四步——对Henon映射,使用在第三步中选定的Z0和W0的初值,以及在第一步和第二步选定的参数a和b的值,进行迭代,产生一个混沌序列。从所产生的这个混沌序列中选出一部分Zi,Zi+1,…,Zi+t作为图像加密时使用的混沌序列。这里t和s为给定的正整数。

对如上的四步依次多次运行,每次运行时选取不同的初始值X0,Y0和X0’,获得用于图像加密的多个不同的混沌序列。

在上述步骤中,N,M和K都为正整数。

三、加密步骤

整个图像加密方法的步骤如下:

(1)打开—个图像文件;

(2)顺序读取图像中的象素信息;

(3)选定初始参数;根据Logistic映射的式(1)和式(2),以及Henon映射的式(3)。

用如上方法产生混沌序列。这里,由于所产生的混沌序列中每一个数是实数,因此将这种混沌实数序列在其最大值与最小值之间,按照256级的等级进行线性映射,获得8位二进制序列,并作为加密因子序列。

(4)把图像的像素所对应的二进制序列与加密因子序列进行异或运算。异或的结果是一个与图像原来的二进制序列不相同的序列,将该序列转换为像素信息,即得到经过加密后的图像。

四、解密过程

对加密图像的解密过程,如图所示。

基于Logistic与Henon混沌系统的彩色图像加密方法

我们用VisualC++编制了如上的基于混沌的图像加密算法的程序,实现了对彩色图像的加密与解密。在实验时,对Logistic映射的式(1)中的参数λ的值取为4,对Logistic映射的式(2)中的参数μ的值取为1.99。图2至图5是对一副彩色图像的实验结果。

图2是原图像,图3是经过加密后的图像,图4是解密后的图像。图5是当Henon映射中参数a的值具有10-5的误差时解密后的图像。

基于Logistic与Henon混沌系统的彩色图像加密方法

通过实验结果说明,从加密后的图像看不出原图像的内容;利用正确的密钥解密出的图像与原图像看不出差别;当解密密钥与加密密钥存在微小的差别时,都完全不能难确解密出原始图像。因此本文的加密算法对密钥有极强的敏感性。

混沌具有自相似性、遍历性、对初值敏感等特征,非常适合于对图像数据进行加密。基于混沌的加密方法,可以防范频率分析攻击、穷举攻击等攻击,使得密码难于分析和破译。若单独使用一种混沌系统对图像进行加密,若密钥选得不是很好,则加密的效果有限,例如有时加密之后还能看见原图像的大概轮廓。采用多个混沌系统的结合,来实现图像的加密,可以取得较好的加密效果,增强加密系统的安全性。

小知识之鲁棒性

所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。