一维混沌加密算法由于利用了混沌序列的良好复杂性、伪随机性和对初值的敏感特性而具有较好的加密性能,但与其它加密方法比较,其缺点是密钥空间较小。为此,我们提出了一种基于三维混沌系统的图像文件加密方法,这样即扩大了密钥空间,又提高了加密系统的抗破译强度。

一、基于三维混沌系统的彩色图像文件加密算法和解密算法设计

1、基于三维混沌系统的彩色图像文件加密算法思想

一幅24位的真彩色图像由RGB三原色组成,可以表示为M×N×3三维数组的形式,且相邻像素的三原色值在空间域上具有很强的相关性。所以,本文所采用的方法就是利用混沌系统产生的密钥序列分别作用于RGB三原色,扰乱三原色在空间域中的相关性,从而使得原彩色图像变成一幅杂乱无章的图像,达到良好的图像文件加密效果。

2、密钥产生

目前被广泛研究的一维混沌系统为Logistic映射,即:

基于三维混沌系统的彩色图像文件加密算法
其中,0≤u≤4称为分枝参数,fk∈(0,1)。混沌动力系统的研究工作指出,当35699456时,Logistic映射处于混沌状态。

本文所采用的三维混沌系统形式如下:

基于三维混沌系统的彩色图像文件加密算法

其中,a,b,c为参数。当a=35, b=3,c∈[20, 28, 4]时,系统处于混沌状态,如图1所示。

基于三维混沌系统的彩色图像文件加密算法

即初始条件x0、yo、z0在三维混沌系统的作用下所产生的序列{xk,yk,zk;k=0,1,2…}是非周期的、不收敛的,并对初始值非常敏感。实验结果表明,由此产生的混沌序列值随着重复次数的增加而增加,最后会超出计算机的精度范围。由于从彩色图像中提取出的R色、G色和B色的取值范围都是0— 255。因此,就需要对所产生的密钥作适当的修正。所采用的方法为:

基于三维混沌系统的彩色图像文件加密算法

其中,fabs(x)是x的绝对值,round(x)是取fabs(x)靠近零的整数。经过这样处理后,所产生的混沌序列值{xk,yk,zk;k=0,1,2…}…)∈(0,1)。

另外,本文为了增强抗破译强度还将扩散函数的思想应用到密钥当中,将密文中的像素值嵌入到密钥发生器当中,其具体的形式为:

基于三维混沌系统的彩色图像文件加密算法

其中,KR、KG和KB分别表示密文中一个像素的R、G和B分量值,是LogisDc映射式(1)所产生的混沌序列值。由式(4)可将密文当中的像素分量R、G和B值嵌入到密钥发生器中,可以达到大大增强扩散函数影响的目的,将密文当中每一位像素的影响扩散到整个密文当中去。

3、基于三维混沌系统的彩色图像文件加密算法和解密算法

对一幅大小为M×N×3的24位真彩色图像文件加密解密处理的统框图如图2所示,具体过程描述如下:

基于三维混沌系统的彩色图像文件加密算法

(1)加密过程

步骤1 输入原始图像I'M×N,混沌系统初始值x0、y0和z0。

步骤2利用三维混沌系统生成混沌序列{xk,yk,zk;k=0,1,2…},取该序列的某连续片断(如100 0<k≤1 000+3MN),该片断元素个数为3MN.同时利用上述(式(4))密钥产生法生成最终用来加密图像的混沌序列{xk,yk,zk}。

步骤3利用生成的混沌序列{xk,yk,zk}加密原始图像I'M×N,具体加密方法如下:

基于三维混沌系统的彩色图像文件加密算法

其中,KR、KG和KB分别表示待加密像素点的R、G和B分量值,K'R、K‘G和K’B分别表示已加密像素点的R、G和B分量值,K'R-1、K‘G-1和K’B-1分别表示前一个加密像素点的R、G和B分
量值。

步骤4输出加密图像I'M×N。

(2)解密过程

步骤1输入加密图像I'M×N,与加密过程相同的混沌系统初始值xo、y0和z0。

步骤2同加密过程的步骤2生成与其相同的混沌序列xt、yt和zt。

步骤3利用生成的混沌序列{xt、yt和zt}解密原始图像I'M×N,具体解密方法如下:

基于三维混沌系统的彩色图像文件加密算法

步骤4输出解密图像。

二、基于三维混沌系统的彩色图像文件加密算法特点

(1)本文所采用的三维混沌映射对初始值xo、y0和z0具有很强的敏感依赖性,三者只要其中一个有微小的变化就无法得到正确的解密结果。因此,采用本加密算法进行图像文件加密是非常安全的,其密钥空间大,可达到10的54次方。

(2)应用本加密算法对图像文件进行加密处理后,原始图像已失去了它本来的面目,变得杂乱无章,无法辨认,因此本文提出的基于三维混沌系统的彩色图像文件加密算法算法有很好的加密效果。

(3)由于本文采用的算法仅在空域对图像数据进行整数运算处理,处理操作(异或及加法运算)比较简单,所以加密效率很高。

基于三维混沌系统的彩色图像文件加密算法

基于三维混沌系统的彩色图像文件加密算法

(4)从图5和表1可以看出,密文的R、G和B分量的直方图与原始图像相比很均匀,且加密和错误解密后的R、G、B三色系的变化率都已经达到了99%以上,因此可以有效地抵抗统计攻击和唯密文攻击。

(5)本文加密算法是分别对图像的R、G和B分量进行加密的,数据量没有发生数据膨胀,它能克服基于秘密共享加密算法的缺陷。

小知识之秘密共享

秘密共享的思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。更重要的是,当其中任何相应范围内参与者出问题时,秘密仍可以完整恢复。