随着计算机技术和网络技术的发展,一些涉及到机密的未加密的图像信息在网络传播过程中,便能轻易地被攻击者窃取,并加以篡改或恶意传播。如何对图像信息采取恰当的保护措施,一直是人们非常关注的问题。根据一维倒锯齿映射的混沌符号动力学运算原理,我们提出一种仅需一个混沌密钥便可产生多个混沌密钥的方法,并对原图像进行了多密钥的像素位置乱,在此基础上,进一步提出了针对像素值的多密钥“置乱”原理,从而完成了对图像加密过程。

基于混沌符号动力学的图像加密原理

从总体上来说,所谓的混沌加密原理就是把原始信息与混沌发生器产生的混沌序列进行某种运算,使得原始信息变为具有类似随机噪声的性态,从而达到加密目的。目前,基于混沌的图像加密方法总体上可以划分为扰乱图像像素值和置乱图像像素位置以及这2种方法的结合。

1、像素置乱原理

设图像P=MxN,Pxy(x∈{1,1,…,Mj,y∈{1,2,…,N})为其图像中的任一像素。从线性代数的原理可知,假设A是MxM阶单位矩阵的第i行和第J行相互调换后得到的初等矩阵。则利用

AM*M

左乘图像矩阵PM*N,即如下式所示:

基于混沌符号动力学的图像加密利用上式的运算实际就完成对P矩阵中第i行和第j行像素的相互调换过程,达到了“行置乱”的效果。此外,假同样存在BN*N是N×N阶单位矩阵的第k列和第h列相互调换后得到的初等矩阵,同样利用BN*N右乘图像矩阵,可得到如下结果:

基于混沌符号动力学的图像加密

则利用上式实际就达到了“列置乱”的效果。

从上述可知,只要能得到经单位阵变换后的初等矩阵AM*M及BN*N,利用两者的左乘和右乘运算,完全可完成对图像矩阵的行置乱和列置乱的过程,达到对像素置乱的效果:

基于混沌符号动力学的图像加密

为此,如何合理地构造出初等矩阵便是在图像置乱算法过程中非常重要的一步。

对于单位矩阵EM*N,仅需对单位矩阵进行行与行的交换,便可得到上式的初等矩阵AM*N。

综上所述,本文所涉及的图像置乱原理算法简单且有效,通过一个初始参数,便可得到2个不同分布的初等矩阵AM*M和BN*N。

2、像素值置乱原理 

在经过上述的置乱过程后,原图像PM*N中每个像素点的位置通过行变换和列变换的过程,都有了相应的位置改变,得到像素点位置变换后的TM*N 。而TM*N实际上仅仅是原图的 位置改变,为了进一步增强保密性和提高加密效果,便需要对TM*N中每个像素点的值进行“置乱”加密。

对于像素值的“置乱”过程,目前较为常用的方法是直接利用混沌序列与像素值进行异或运算,另一方法是结合压缩或变换域的方式对像素值进行加密。在此基础上,本文提出一种基于混沌符号动力学运算原理,在提供一个加密参数的基础上,能完成对整个图像的多密钥参数加密,这一点是目前混沌加密技术中较为少见的方法。

首先假设Tij表示为置乱后图像TM*N中第i行第j列像素的灰度值,且每个像素的灰度分成256级,即采用一个字节来表示一个像素的灰度值。本文所述的像素值“置乱”可以用以下步骤来描述:

(1)将置乱后图像分成4个区域,分别进行像素值的“置乱”过程(实际使用过程中可结合具体情况划分区域的4大小和所划分区域的个数):

基于混沌符号动力学的图像加密

(2)利用前文使用的混沌序列{ai}和混沌动力学运算的原理,根据所分区域的个数,生成相对应的混沌符号序列,如{{ai},2{ai},3{ai},4{ai}}(实际验证过程中,这里4个混沌序列可以是任一四则运算得到的混沌序列,只要保证运算后对应的初值能在映射区间即可)。

(3)在每个混沌符号序列中任取其中的8个连续符号,分别用{bi1}、{bi2}、{bi3}、{bi4}表示(其中,i∈{1,2,…,8})。

(4)利用{bi1}符号序列对Tij1,矩阵中每一个像素值进行按位的异或运算,得到异或后的变换像素矩阵Sij1,即:

基于混沌符号动力学的图像加密

其中,k∈{1,2,…i};l∈(1,2,…j}。

(5)如上述对图像进行置乱一样,再次利用符号序列{bi1}形成一个初等变换矩阵AM*N1,利用:

基于混沌符号动力学的图像加密

因为Tij1中包含了8bits,可以看成一个8*1的矩阵,从而上式运算结果也是一个8x1的矩阵,但QK11与TK11相比,2个矩阵中每个“1”和“0”的位嚣都发生了相应的变化,即达到了对像素值“置乱”的效果。

综上所述,通过上述的图像像素位置和像素值的置乱,完成了整个图像的加密过程。从中可以了解,整个图像文件加密过程中虽然仅用到一个密钥参数,但利用混沌动力学运算原理实现多密钥参数的图像置乱加密过程,在一定程度上克服了低维混沌系统,密钥空间较小,保密性能不够的问题。在加密过程中,不光利用多密钥实现了图像像素位置的加密,而且也通过多密钥实现像素值的加密,从而可降低攻击者可能通过像素比较的方法加以破解的可能性。

小知识之符号动力学

这种系统的状态均可表示为有限个符号的无穷序列,而由任一状态点引出的运动轨道可由表示该状态的无穷序列通过简单的移位规则来确定。许多复杂动态系统均可经过变换等价于这类系统,从而可通过对比较简单的符号动力系统的分析来研究一般动力系统的行为。这种方法特别在混沌等复杂行为研究中占有重要地位。