利用Lorenz混沌系统设计实现彩色图像加密算法

龙源期刊网 http://www.qikan.com.cn

利用Lorenz混沌系统设计实现彩色图像加密算法

作者:邹本娜

来源:《信息安全与技术》2013年第03期

【 摘 要 】 利用混沌系统敏感依赖于初始条件的特性,迭代Lorenz三维混沌系统生成的三组伪随机序列,设计算法加密真彩色图像的红绿蓝三个分量。采用多个衡量指标的测试结果表明,该算法具有较大的密钥空间,加密效果令人满意。 【 关键词 】 混沌;图像加密;Lorenz系统

Using Lorenz Chaos System to Design Color Image Encryption Algorithm Zou Ben-na

(Party School of CPC Huludao Municipal Committee LiaoningHuludao 125000) 【 Abstract 】 Use the characteristics of chaotic system sensitive depending on the initial conditions of, iterative the three dimensional Lorenz chaotic system to generate three groups of pseudo random sequence, design algorithm to encrypt true color image of red, green and blue components. Use each indicator test results show that this algorithm has large key space, and can get the ideal effect of encryption.

【 Keywords 】 chaos; image encryption; lorenz system 1 引言

真彩色图像(BMP格式)是由红绿蓝三个分量组成的,每个分量的值在0到255之间。图像加密与文本加密的不同之处在于,图像的红绿蓝像素之间存在很高的关联性。图像加密分为两大步骤:像素的扩散和混淆。扩散是指像素的原始位置打乱,即打破像素间的关联,但是他们的值不变,因此直方图也不变化。混淆是利用异或等运算,改变原像素的值。 混沌系统具有对初值的敏感依赖性,状态变量初值的微小变化,能够得到完全不同的轨道,这一特性被用来加密,是混沌在密码学中的探索性应用。最初,一维和两维的混沌系统,如Logistic系统、Chebyshev(切比雪夫)映射、PWLCM(分段线性混沌映射)等,被用来加密文本、图像等信息。这类系统的特点是,只有一到两个状态变量,加密算法的密钥空间较小。

龙源期刊网 http://www.qikan.com.cn

三维混沌系统,如Lorenz系统、Chen系统等,之前被用来设计保密通信系统,近几年,开始被研究者用来做加密图像。三维混沌系统拥有更多的状态变量和参数,因此设计的加密算法具有更大的密钥空间。

笔者拟采用Lorenz系统设计彩色图像算法。Lorenz系统用来生成三个伪随机序列,用来加密三个颜色分量。特点是加密效果好,密钥空间大,能够抵制常见的各种常见的攻击。 2 Lorenz系统

Lorenz系统是由爱德华·洛伦茨在1950年研究天气预报中的气流模型时发现的。后人在此基础上又发现了超混沌Lorenz系统。该系统的动力学方程如下所示:

状态变量位于以下区间:-20≤x≤20,-50≤y≤50,-50≤x≤50。当参数a=10,b=21,c=8/3时,该系统是周期变化的。当参数a=10,b=28,c=8/3时,该系统是混沌的。状态变量x-z的空间分布如图1、图2所示。 3 算法设计 3.1 加密算法

假定明文图像P的大小为W×H,W和H分别是宽度和高度。加密步骤如下所示: (1) 利用初值x0、y0和z0,迭代Lorenz系统100次之后,继续迭代W×H次,每次迭代得到一组状态变量(xi,yi,zi)∈[0,255],根据公式(2),得到序列X={x1,x2,...,xW×H},Y={y1,y2,...,yW×H},Z={z1,z2,...,zW×H}。

(2)从第一个像素开始,即i=1,2,...,W×H,将每个像素pi∈P分解成三个灰度分量piR、piG和piB,对于每个明文像素pi∈P,通过公式(3)加密得到密文ciR、ciG和ciB。 符号?茌表示异或操作。最后得到密文彩色图像C。 3.2 解密算法

密文图像C的大小也是W×H,W和H分别是宽度和高度。通过相同的密钥,密文图像可成功解密。解密算法是加密算法的逆过程,具体步骤如下: (1)和加密算法相同。

(2)从密文的第一个像素开始,将每个像素ci∈C分解成三个灰度分量ciR、ciG和ciB,对于每个密文像素ci∈C,通过公式(4)解密得到明文piR、piG和piB。最后得到解密后的彩色图像P。

龙源期刊网 http://www.qikan.com.cn

4 加密结果

密钥值都是随机选取的,在下面的实验结果中,对于Lorenz系统,设置其初值为x0=0.89234567896716,y0=12.83912567845678,x0=35.10986453445657。原始图像和加密结果如图3所示。 5 性能和安全分析 5.1 密钥空间和安全性分析

加密算法的安全性之一,取决于密钥空间是否足够大到能够抵抗暴力攻击。该算法的密钥是Lorenz系统的初值和参数(x0,y0,z0)。

通过对Lorenz系统的任意一个状态变量的初值做微小改变,加密结果将会完全不同,说明该系统对于初值的微小变化具有高度敏感性。经过测试发现,密钥的误差在10-14时,解密图像仍是不可识别的内容,但密钥的误差在10-15时,图像可被成功解密。因此,Sx0=Sy0=Sz0=1014 ,总的密钥空间S=Sx0×Sy0×Sz0=1042 。目前公认的只要密钥空间大于2100,就算是安全的,因此该密钥空间足以抵制暴力攻击。 5.2 相关系数分析

从明文和密文图像中按纵向、横向和对角方向随机选择3000对相邻像素,利用公式(5),计算它们的两个相邻像素之间的相关系数: 其中

图4显示了明文和密文图像中相邻像素的相关性,可以看出,在密文图像中,相邻像素之间的相关性很高,而在密文图像中,相邻像素之间的相关性大大降低。

表1是明文及密文图像的相关系数。结果表明,密文图像中两个相邻像素间的相关性是很明显的,而在密文图像中相关性微乎其微,因此该算法的加密效果良好。 5.3 差分攻击

图像加密方案的一个基本要求,就是密文图像要和明文图像有显著差异。这些差异可以通过两个标准来衡量,即像素个数变化率(NPCR)和整体平均变化强度(UACI)。以下是计算NPCRR,G,B和UACIR,G,B的公式:

其中W 和H 分别是图像的宽度和高度,CR,G,B和C'R,G,B分别是明文图像的某一个像素改变前后的密文图像。对于在坐标(i,j)处的像素,如果CR,G,B(i,j)≠C'R,G,B(i,j),令DR,G,B(i,j)=1,否则DR,G,B(i,j)=0。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4