为提高图像传输的安全性和可靠性,提出一种结合LDPC编码和混沌系统的图像加密方法。首先,通过奇偶校验码将像素值扩展为10比特,并计算标准差作为混沌映射初值;其次,使用Arnold变换置乱像素位置,并利用Henon映射扩散像素值;最后,从10比特像素值中分离高2比特经LDPC编码实现无差错传输,而其余8比特则为加密结果。

一、加密算法描述

1、预处理

将M×N的原图像各像素灰度值转换为二进制表示并判断奇偶性,针对偶数位的像素,在8b二进制灰度值尾部加“01”,而对奇数位的像素,加“00”将其扩展为10b二进制奇校验码,最后将其转化为10进制表示(0 -1023)。

为了提高加密算法对明文的敏感度,计算经过奇偶校验扩展的图像矩阵的标准差,除以1024后作为内部密钥南,并将其与混沌初值相加。

2、混沌系统加密

混沌现象是在非线性动力学系统中出现的确定性的、伪随机的过程,这种过程对初始条件的高度敏感性和高度随机性,符合Kerck-hoffs准则等特性,具有良好的密码学特性。

(1)Henon映射扩散

Henon映射是二次方型非线性的二维映射,定义为:

基于低密度奇偶校验编码和混沌系统的图像文件加密

为了适合本文预处理图像的特点,在加密算法中使用如下取模改造的Henon映射:

基于低密度奇偶校验编码和混沌系统的图像文件加密

其中:1.1≤a≤1.5,0.2≤b≤0.4,与初值xo,yo构成密钥。

设定初值xo,yo根据式(2)迭代MxN次得到x1和y1,然后以x1和Y11作为初值生成长度为MxN的混沌序列,将其转换为MxN的矩阵形式,与经过预处理的像素值按位异或进行扩散加密。

(2)Arnold变换置乱

设原图像A为MxN大小,假设像素位置为(x,y),经几何置乱变换后的像素位置为(x’,y’),本文采用不等长Arnold变换进行置乱,以置乱轮数为密钥,可表示为:

基于低密度奇偶校验编码和混沌系统的图像文件加密

其中:a=1,b>0,c=n*q,q=N/gcd(M<N),d=1+b*c。

利用非等长Arnold变换的反算法可以直接快速恢复图像。其具体公式为:

基于低密度奇偶校验编码和混沌系统的图像文件加密

3、LDPC编码加密

LDPC码是一种性能接近Shannon限的好码,且与Turbo码相比,编译码方法更简单。

LDPC是线性分组纠错码,可以由检验矩阵H唯—定义。由于G×Ht=0,所以构造校验矩阵旧是编码的关键,LDPC码的校验矩阵H是一个几乎都是由0组成的,称为稀疏矩阵。Gallager定义的(n,j,k)LDPC码是码长为n,列重为j,行重为k的码字,在有限域GF(2)中,每个校验式均为二元异或运算。

(1)LDPC编码加密原理

构造大小为N×2N的LDPC码的校验矩阵H并消去短环,然后对日通过高斯消元转换为H=[I|P],从而得到生成矩阵G= [pT|I],针对2M×N大小的密钥矩阵K,其LDPC编码为Ck=KxG;[K×PT|K],K的每一行为一组信息节点,CK的每—行为密钥矩阵K对应行的LDPC编码。

由于截取者不知道密文和密钥矩阵的传输关系,从而不能准确得到内部密钥的编码,并且不知道加密者所采用的LDPC码生成矩阵G和校验矩阵日,因而不能解密得到内部密钥,从而不能正确解密。

(2)LDPC译码原理

本文采用和积迭代译码算法。按照如下译码步骤对CK每一行进行译码。

步骤1 初始化,对信息比特的先验概率赋初值并设置迭代次数。

步骤2 水平迭代。按置信传播算法由信息节点的先验概率计算校验节点的后验概率。

步骤3 垂直迭代。由校验节点的后验概率计算出信息节点的后验概率。

步骤4 对信息节点的后验概率进行硬判决,得到译码结果C,如果CxHT=O,则译码结束;否则跳至步骤2,重复迭代,直到满足条件或达到最大迭代次数,得出最终译码结果。

4、加密步骤

步骤1 对MxN大小的原图像进行预处理。

步骤2 对预处理过的图像使用以L为密钥的Arnold变换进行置乱和以xo,y0,a和b为密钥的Henon混沌扩散加密。

步骤3 将混沌加密以后的图像像素值转换为二进制表示,分离出最高2b并沿行方向进行拼接成2M×N的二值矩阵,作为内部密钥,而低8b转换成10进制表示后作为密文图像输出。

步骤4 对密钥矩阵进行LDPC码编码后输出。

5、解密步骤

步骤1 LDPC码解码得到2个M×N的内部密钥。

步骤2 将密钥矩阵和密文进行二进制位拼接,然后进行Henon和Arnold混沌解密。

步骤3 按照奇偶校验规则对各个像素值进行奇校验,满足奇校验规则,则在校验矩阵相应位置输出0;否则输出1。

步骤4 针对校验矩阵为l的位置,在解密图像中相应位置,根据8邻域像素值对其进行线性插值。

步骤5 消掉像素值二进制位的末2位得到解密图像。

二、仿真实验及结果分析

对目标灰度图像进行加解密仿真验证,并通过分析密钥敏感度、密钥空间、相关性、直方图、抗差分攻击能力、抗剪切攻击能力及抗噪声能力,验证算法的安全性及可靠性。

1、仿真实验

以256×256的Lena和Cycle图像为例,如图1(a)和(d)所示,取初值xo;0.1,Yo=0.2,a=14,b=0.314,L=7对其进行加密,得到密文图像分别如图l(b)和(e)所示,密文图像完全掩盖了原图像信息,达到了加密的目的;解密图像分别如图1(d)和(f)所示,说明选取正确的密钥,本加密算法可以不失真地恢复原图像。

基于低密度奇偶校验编码和混沌系统的图像文件加密

2、结果分析

(1)直方图分析

以Lena和Cycle图像为例,原图像直方图分别如图2(a)和(d)所示,密文图像直方图分别如图2(b)和(e)所示,正确解密图像直方图分别如图2(c)和(f)所示。对比可知,密文图像直方图与明文图像直方图完全不同,不带有明文图像的统计信息,且密文图像直方图分布均匀,说明每个像素的扩散到整幅图中,从而能够有效抵抗统计分析攻击。

基于低密度奇偶校验编码和混沌系统的图像文件加密

(2)密钥敏感性测试

以Lena图像为例,选取4组错误密钥进行解密,测试密钥的敏感性,图3(a)为使用错误初值xo=0.10001,yo=0.199 99,其他密钥正确的解密图像;图3(b)为使用错误控制参数a=1.40001,b=0.313 99,其他密钥正确的解密图像;图3(e)为使用错误置乱轮数L=6,其他密钥正确的解密图像;图3(d)为使用错误校验矩阵日,对密钥矩阵解密错误,其他密钥均正确的解密图像。

基于低密度奇偶校验编码和混沌系统的图像文件加密

由解密实验结果分析可知,任何一个密钥有轻微的改变(万分之一),都不能正确解密,只有加密、解密密钥完全相同的情况下,才能正确解密,因此该算法对密钥敏感。

(3)密钥空间分析

为了防止穷举攻击,需要设计尽可能大的密钥空间,本加密算法中,Henon映射的初值(x0,y0)和控制参数(a,b)的精度为10-16,其密钥空间为1064,加上Arnold的置乱轮数L,其密钥空间远远大于1064,而对于N×2N的校验矩阵,则密钥空间为2Nx2N,可以有效地抵抗穷举攻击。

(4)相邻像素间相关性分析

原图像相邻像素间相关性通常很大。相邻像素的相关性可以反映出像素的扩散程度,所以应该让加密后图像相邻像素的相关性系数尽可能地小。为验鹾原图像和加密图像相邻像素的相关性,在2个图像中分别随机选取了2000对像素对,测试其水平方向、垂直方向和对角方向的像素相关性,并应用式(6)进行相关系数的计算:

基于低密度奇偶校验编码和混沌系统的图像文件加密

计算原图像、密文图像和仅密文解密图像图像个方向相关系数如表1所示。

基于低密度奇偶校验编码和混沌系统的图像文件加密

由表1可知,加密后图像的相邻像素间相关性显著减少。

图4所示为对角方向原始图像和加密后图像相邻像索的相关关系。可见,原始图像像素间的相关性呈现明鼎的线性结构,而加密图像像素间的相关性呈现随机的对应关系,说明本加密算法具有较强的抗统计分析能力。

基于低密度奇偶校验编码和混沌系统的图像文件加密

(5)抵抗差分攻击能力

差分攻击思想是微小地改变明文,然后分析对应密文的改变情况,以发现明文和密文之间的关系。为了抵抗该类攻击,希望当明文有很小的变化时,密文则发生显著的变化。一般通过计算改变一个像素后,相应的密文像素变化率(Number of Pixels Change Rate,NPCR)和平均变化密度(Unified Average Changing IntensiLy,UACI)来衡量。

令C1(i,j)和C2(i,j)表示两个密文图像在像素点(i,j)的像素值,且C1和c2所对应的明文仅在一个像素有微小差异,如果C1(i,j)=C2(i,j),则记D(i,j)=0;否则D(i,j)=1。则NPCR和UACI的定义如下:

基于低密度奇偶校验编码和混沌系统的图像文件加密

随机将一个像素的灰度值改变l阶,如将Lena图像像素点(128,127)的值由65改为64,计算可得NPCR;99.630-/0,UACI=33.45%,说明有99.63%的密文像素受影响,平均像素值改变33.45%;将Cycle图像像素点(96,69)的值由O改为255。计算得99.65%的密文像素受影响,平均像素值改变33. 55tr/o,说明该加密算法对明文敏感,抵抗差分攻击能力比较高。

(6)可靠性分析

为了测试该加密算法的可靠性,对加密图像(图1(b))进行剪切和增加噪声,实施主动攻击测试。

1)剪切攻击。对密文图像进行不同情况剪切,如图5(a)一(c)所示,对应的解密图像如图5(d)一(f)所示。

基于低密度奇偶校验编码和混沌系统的图像文件加密

2)噪声攻击。对密文图像增加2%和20%的椒盐噪声,对应的解密图像如图6(a)和(b)所示。

基于低密度奇偶校验编码和混沌系统的图像文件加密

由实验结果得出,该加密算法具有良好的抗剪切和噪声的能力。

三、结论

通过实验也证明了这种方法有较高的安全性和可靠性,在图像信息安全和多媒体通信方面有具有较好的应用前景。

小知识之Turbo码

Turbo码。它巧妙地将两个简单分量码通过伪随机交织器并行级联来构造具有伪随机特性的长码,并通过在两个软入/软出(SISO)译码器之间进行多次迭代实现了伪随机译码。他的性能远远超过了其他的编码方式,得到了广泛的关注和发展,并对当今的编码理论和研究方法产生了深远的影响,信道编码学也随之进入了一个新的阶段。