针对图像Contourlet多级树集合分裂编码的安全性问题,我们利用混沌密码设计了一种新的图像加密算法。该加密软件使用具有良好随机性、安全性的混沌映射构造置乱数组和混沌密钥流对图像文件进行加密。
一、混沌映射
数值混沌映射具有非常适合于作为密码系统的特性:遍历性、混合性、非周期性以及对初值的敏感依赖特性等。近10年来混沌理论在数据安全保密方面得到广泛的应用。
常用的数值混沌系统包括:
一维Logistic映射:
当3. 994 65<μ≤4时,该映射处于混沌状态。
具有一次耦合项形式的二维Logistic映射:
在μ1=μ2=0.89,γ=0.1时系统是混沌的。
混沌映射阶数越高,安全性也越尚,相应的计算复杂度也越高。
二、离散Contourlet变换
2002年提出了一种新的多分辨分析框架——Contourlet变换,也称为金字塔型方向滤波器组(Pyramidal Directional Filter Bank,PDFB)。Contourlet变换具有良好的多分辨率、局部化和方向性等优良性质,与小波相比更适合于捕捉高维奇异点信息。
二维离散Contourlet变换由两个独立的步骤完成,分别是拉普拉斯金字塔( Laplaciari Pyramid,LP)和方向滤波器组(Directional Filter Bank.DFB)变换。图1显示了使用离散ConLourlet变换进行二维图像分解的过程。
Conioulet变换首先使用LP滤波器对原图像进行子带分解,捕获二维图像信号中存在的奇异点。一次LP分解将原始图像信号分解为原信号的低频逼近分量和原信号与低频信号的差值,即高频分量。这一过程在低频逼近图像上可重复进行,从而将原图像分解为多分辨分解图像。
LP变换后,Contourlet变换接着使用方向滤波器组DFB对LP变换中获得的高频分量进行方向变换,将同方向上的奇异点进行汇集,得到Contourlet变换系数。
数字图像经过Contourlet变换后的子带系数分布规律和小波变换有许多相似之处。在Contourlet系数矩阵中,系数幅值总体而言从低频子带到高频子带是逐渐衰减的。如果对DFB选择适当的方向分解数(如进行I『层分解,每一层高频子带DF'B分解的方向数设定为下一层分解的方向数的2倍,由高至低分别含有4个方向子带,8个方向子带,16个方向子带,…,2t个方向子带),则构建出的Contourlet系数矩阵具有“零树”特征,因此可参照小波变换进行嵌入式位平面编码,获得优异的编码效率。图2给出了这种分解方式下系数矩阵所形成的零树结构。
参照SPIHT算法(基于小波零树结构)编码过程,基于上述的ConIourlet零树(Spatial Orientation Tree,SOT)结构提出了CSPIH1算法。和SPIHT算法类似。CSPIHI编码算法构造了3个链表:不重要系数链表(Ust ofInsignificant Pixels.UP)、不重要集合链表(List of InsignificantSets.LIS)和重要系数链表(List of Significant Pixe18,LSP),用于存放编码过程数据。
三、图像加密算法
为了便于描述加密算法,引入如下符号表示:
O(i,j)表示节点(i,j))所有孩子的坐标集;
D(i,j))表示节点(i,j))所有子孙(包括孩子)的坐标集;
H表示低频子带所有树根的集合;
L(i,j))=D(i,j))- O(i,j)),即节点(i,j))所有非直系子孙的坐标集。
最初坐标集由LIS=Φ、LIP=|{i,j|(i,j))∈H}及LIS=|D{i,j|(i,j))∈ H且具有非零子孙}组成。
根据Shannon信息理论的扩散和置换两个基本要求,图像加密算法将由两部分构成,加密过程融合在CSPIHT编码过程中。
1、置乱算法
置乱算法作用于编码中的两个环节,实现Shannon信息理论的扩散要求。
1)对初始化的LIP表的置乱
2)对US表的D、L型表项分集数据的置乱
2、异或加密算法
CSPIHT在编码第f轮(f=l,2,…,n)扫描中,处理完LIP表、LIS表后,对LSP表的扫描输fi5非本轮扫描新添加系数的第i个位平面比特。
于是,编码过程中对LIp、LIS、LSP这3个链表扫描,产生了6种类型的比特数据:UP系数重要性比特及系数符号比特;D型表项重要性比特、其孩子系数重要性比特及符号位比特;L型表项重要性比特;LSP系数位平呵比特。本文使用高效的异或运算设计加密算法.设编码输出的比特序列为Xi(i=l,2,…,s),采用混沌函数生成一个二值混沌序列Ci(i=1.2,…,s),与输出比特序列作异或加密运算,实现Shannon信息理论的置换要求。
注意到在解码过程中,将会使用这些比特逆向构造空间方向树。特别地,如果加密改变了其中的LIp系数重要性比特、D型表项重要性比特和L型表项重要性比特,则不但影响了它们自身的值,还改变了它们相应子树的分布和重构过程,也连锁地改变了后续比特的含义。因此,如果需要进一步降低加密的开销,则可以选择此部分比特进行加密,就已经可以达到良好的加密效果。
四、仿真实验与分析
采用256 x 256的灰度图像Lena作为测试图像a图3给出了利用本文算法对Lena图像进行完全加密的结果。加密后的图像已经无法识别出原图像的任何信息。出了加密前后图像的厌度统计直方图。原图和密图的灰度统计直方图完全不同,并且密图直方图中的灰度均匀分布,完全消除了原图像中的灰度统计分布特征,这说明加密算法有效实现了Shannon信息加密理论扩散和置换的两个要求。
根据实验结果对算法的性能进行分析。
1)安全性分析
本文算法由基于扫描有序表数据的置乱和扫描输出比特加密两部分组成,实现了Shannon理论的置换和扩散两个要求。由于采用对初始参数极其敏感的混沌密钥流来构建置乱矩阵和流密码,算法安全性由选用的混沌密码保证。混沌初始参数敏感性是指给定的初始密钥尽管有很微小的差别,但所产生的混沌序列却有特别大的差别,因此密钥稍有偏差则不能正确解密图像。足使用正确的混沌密钥所获得的解密图像,而图4(b)是使用错误密钥(将混沌参数由0.1改为0. 10001,仅相差l0-5)所获得的解密图像。可以看到,得益于混沌初始参数的敏感性,不能还原出任何原图像的信息。
用均方误差(Mean Square Error.MSE)衡量解密图像和原图像之间的差别,分别使用不同初始参数的敏感性统计实验结果列于图5。从图5可知,正确密钥0.1对应的MSE值为0,即图像被正确解密,其他错误密钥(分别与正确密钥相差10-2、10-3、10-4、10-5)的解密图像与原图像的MSE值均很大,超过105,说明无法正确解密。
2)对编码效率影响分析
对扫描有序表数据的置乱过程实质上是仅改变了相应节点为根的子树扫描顺序,没有增加新的数据,因此对编码效率没有影响。而对扫描输出比特的异或加密运算,也不会对编码效率造成影响。
3)对编码时间影响分析
本文的加密算法中的置乱单元中,采用高效的混沌映射,可快速构建置乱矩阵。例如,将256×256的Lena标准图像按图2方式分解,初始LIP表的置乱仅需要使用1个长度为32 x32 =1024的置乱数组,对D型表项和L型表项数据的置乱均使用长度为4的置乱数组。置乱数组规模小,效牢很高。搭配采用高效异或运算的替换单元,对编码时间影响较小。
设编码时间影响率为γ,不包含加密过程时(即原CSPIHT算法)熵编码编码时间为L,包含加密时熵编码时间为T2。
小知识之遍历性
遍历性是指统计结果在时间和空间上的统一性,表现为时间均值等于空间均值。