一种基于Lorenz系统的混沌数字图像加密算法
2013-04-29鲁菁浮燕何芸
鲁菁 浮燕 何芸
摘 要 根据数字图像的特点,将混沌技术应用于数字图像加密中,对图像进行置乱和像素值替换,最终实现图像加密。从实用性的角度,对初始密钥进行处理,使得算法能够接受字符形式的用户密钥,提高了算法的实用性和安全性。
关键词 Lorenz系统 密码学 混沌加密 数字图像
中圖分类号:TP393.08 文献标识码:A
随着数字多媒体技术和计算机网络技术的迅速发展,数字多媒体的安全性和保密性就越来越重要。数字图像的加密和解密在信息安全技术中尤其重要,希望加密后的图像类似于现实世界的白噪声,这样,未授权者就无法得到图像的有效信息,实现了数字图像信息的安全和保密。而传统的对文本加密的方法无法适应数字图像自身的特点,所以不适合应用于数字图像加密。混沌理论是一种新兴的非线性理论,它具有以下几个特征:对初值敏感性、不可预测性、非线性、伪随机性。这些特性非常适合于数字图像信息的加密。但是混沌序列是一种高度依赖迭代精度的序列,当理论精度是无穷大时,混沌序列可以看作是理想的随机序列,近似于现实世界的白噪声。实际应用中,由于计算部件精度的限制和实现成本的制约,都无法达到无穷的计算精度,这样得到的混沌序列就是一种有周期的伪随机序列。
1 Lorenz系统介绍
Lorenz混沌系统是美国著名的气象学家洛伦兹在1963年研究大气运动时提出的,其方程组表达式如下:
其中表示对流运动的振幅,与运动强度成正比;表示上升流与下降流的温度差;表示垂直温度分布与线性温度廓线的偏差,即垂直温度分布的非线性度;表示流体分子的粘性系数;为瑞利数;为几何因子,没有直接的物理意义。
1.1 加密算法的密钥设计
混沌模型用于加密算法中的时候,这些混沌模型的参数和系统初始值理论上都可以作为加密算法的初始密钥。但是为了使得加密算法有良好的安全性能,必须保证这些超混沌模型能够进入超混沌状态,因此,在算法中,仅仅把这三个模型中每一个模型的初始值,作为算法的初始密钥,由用户输入,而把这些模型中的所有系统参数都按照上面给出的进入超混沌状态时的取值在算法中固定下来。
另外,为了区分不同模型的初始值,将这三个模型中的初始值,分别记作M,N;A,B;U,V。即混沌模型的两个初始值在加密算法中记为M,N;超混沌模型的两个初始值在加密算法中记为A,B;混沌模型的两个初始值在加密算法中记为U,V。
所以初始密钥K是一个6元组,包含6个子密钥:
K=(M,N,A,B,U,V)。
1.2 加密算法原理
利用图像像素值替换算法,对置换后的图形进行像素值的修改,得到最终的密文图像。解密的过程与加密相似,采用相同的初始密钥,对超混沌模型进行迭代,分别生成置换矩阵、密钥流矩阵和替换次序矩阵。先将密钥矩阵与密文按位进行异或操作,再把结果根据置换矩阵进行逆向置换,既可以解密为初始明文。
2 算法的安全性分析及实验结果
对256*256大小的灰度lena图像,采用Matlab工具对优化后的多级混沌加密算法进行实验,并对实验结果进行安全性分析。
2.1 实验结果
对原始图像进行加密,输入的初始密钥(未经字符化处理)K(M,N,A,B,U,V)=(4.32,0.25,0.17,0.66,1.67,2.05)。
可以看出,利用该多级混沌图像加密算法,使得原始图像被充分的置乱与替换,直观上无法看出原始图像的痕迹。
2.2 密钥空间和密钥敏感性分析
本算法的初始密钥未经字符化处理前,为实数,由6个子密钥构成。若计算机的精度为1015,则密钥空间远远大于1090,完全可以抵抗穷举法的攻击。密钥经字符化处理后,密钥空间为位字符(≥6),所以密钥空间为256n,当足够大时,可以抵抗穷举攻击;另外,由于算法加入了时间戳,实际密钥空间也极大增加。利用正确的初始密钥,可以对加密图像进行解密,解密后的图象质量良好。另外,当解密密钥发生微小的错误(0.001)时,不能正确还原图像,解密图像混乱无序,没有意义。这说明,解密过程对密钥非常敏感,算法的安全性较高。
2.3 相关性分析
从加密图像中随机抽取1000对垂直相邻的像素,对它们的相关性进行分析。图中横坐标表示像素点()的像素值,纵坐标表示像素点( +1)的像素值。
可以看出加密后图像的相邻像素值较为均匀得分布到了整个像素值空间。相邻像素值不仅仅在低值空间均匀分布,在高值空间也同样均匀分布。这说明,加密后的图像灰度分层现象消失,因而图像的相关性大大减弱。
采用相关性计算公式,对算法的加密图像计算相关系数,结果如表1所示。
表1 加密图像的相关系数
说明加密算法使图像的相关性降低,具有较高的抗攻击能力。
3 实验结论
该加密算法在直方图分析、相关性分析以及差分分析上均具有良好的表现,证明该算法具有更高的安全性和实用性。