安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

彩色图像混沌加密算法

更新时间:2022-10-28 15:44:39


本文简介:彩色图像处理是数字图像处理的重要组成部分,在网络与多媒体通信中,常常涉及到彩色图像文件加密。为此,我们提出了一种彩色图像混沌加密算法,该加密算法通过选用Lorenz系统中三个不同维的变量生成置乱矩阵来分别实现对RGB彩色图像三分量的置乱加密,从而实现对整个彩色图像文件加密。一、彩色图像混沌加密算法设计实现1、对Lorenz混沌序列的优化Lorenz动力学方程为:其中, 参数σ,r,b 的典型值分别

彩色图像混沌加密算法

彩色图像处理是数字图像处理的重要组成部分,在网络与多媒体通信中,常常涉及到彩色图像文件加密。为此,我们提出了一种彩色图像混沌加密算法,该加密算法通过选用Lorenz系统中三个不同维的变量生成置乱矩阵来分别实现对RGB彩色图像三分量的置乱加密,从而实现对整个彩色图像文件加密。

一、彩色图像混沌加密算法设计实现

1、对Lorenz混沌序列的优化

Lorenz动力学方程为:

彩色图像混沌加密算法

其中, 参数σ,r,b 的典型值分别为σ= 10,r=28,b=8/3,在σ和b不变,当r>24.74时,系统进入混沌状态。

但该系统输出的实值混沌序列有一些固有缺陷:x,y,z的值域各不相同,不利于批处理;x,y,z局部取值呈现单调性,易受线性预测攻击;x,y,z自相关特性非理想的δ函数,互相关特性非理想的零特性,难以保证不可预测性,而且系统多输出特性也得不到充分利用。为此,有专家提出了一种对Lorenz混沌序列的优化方法,构建了式(2)所示的一个数学模型:

彩色图像混沌加密算法

其中,x',y',z'三为优化后的实值混沌序列;m为控制参数,通过它可以提高序列取值的不规则性;round()为取最接近整数函数。经过实验,证明此优化序列具有良好的混沌特性、较理想的万函数自相关特性和近似为0的互相关特性。

本空域算法采用了此混沌优化序列。

2、置乱算法

利用式(2)产生的三个优化后的混沌序列x',y',z'生成三个置乱矩阵,分别对RGB彩色图像的三个分量进行置乱加密。

置乱矩阵的生成方法:利用优化混沌序列生成相应的置换矩阵PM×N, 对PM×N来说, 其中任一元素Pij∈[1,2,…,M×N],且Pij=Pkl,当且仅当i=k,j=1。

比如:M=4,N=4,P即为4×4的矩阵,由优化混沌序列生成16个实数值组成的混沌序列为:

10.95621370、10.91248372、 10.57640346、11.0759704、11.62504738、 11.13958961、 10.26628130、 9.10829136、9.53332571、 9.21575219、 9.11570905、 9.19910548、8.87154601、9.27423505、 9.85781001、10.94356727

对以上序列按大小排序,然后从1到16进行标识,即可得到序列:4、6、7、3、1、2、8、15、10、12、14、 13、16、11、9、5。

按行排列成4×4的置乱矩阵P4×4为:

彩色图像混沌加密算法

置乱规则:采用非线性置换方法,将图像IM×N。N与置乱矩阵PM。Ⅳ的元素一一对应。将IM×N中的元素对应PM×N中的元素进行置乱。如对4x4的图像I4×4按照上面的P4x4矩阵进行
置乱,I中的第1个元素移到第4个元素位置,第2个元素移到第6个元素位置,…,具体过程为:

彩色图像混沌加密算法

3、分块加密

由于经本加密算法加密的彩色图像在以后的处理过程中还要进行JPEG压缩,而JPEG压缩过程中的二维DCT、系数量化以及熵编码都是以8×8块为基本单位进行的,为了不破坏DCT系数的分布概率,并且使Huffman编码表能按最优方式使用,我们将待加密彩色图像的R、G、B3个分量按8×8大小分块,以8x8块为单位分别用置乱矩阵Px,Py,Pz进行空域置乱加密。

4、彩色图像混沌加密算法的实现

(1)彩色图像混沌加密算法的实现

图像加密算法实现步骤为:

Step1:输入待加密的彩色图像,分离彩色图像的R、G、B三基色分量。

Step2:对Lorenz混沌序列进行优化处理。输入密钥σ,r,b,x0,yo,z0(xo,yo,zo为初始值),生成x,y,z实值混沌序列,用式(2)对x,y,z混沌序列进行优化,得到x',y',z'优化混沌序列。

Step3:将待加密彩色图像的R、G、B3个分量按8x8大小分块,以8×8块为单位生成置乱矩阵Px,Py,Pz。

Step4:空域置乱。按置乱矩阵Px,Py,Pz规则重排三基色分量8×8块的几何位置,实现置乱加密。

Step5:输出置乱彩色图像。合成置乱后的三基色图,即得到加密后的图像。

(2)解密算法实现

用户输入正确的密钥后,将加密算法逆向运算,即可获得解密图像。

二、实验仿真

我们选取大小为512×512的彩色图像Lena作为实验对象(如图1),利用MATLAB 6.5编程实现算法。选取密钥σ=10,r=28,b=8/3,xo=0.5143978026,yo=0.3246981507,
zo=0.7021364589。为了增强生成混沌序列的安全性,我们除去序列的初始段,使Lorenz方程预先迭代n=10000次。

图2、图3、图4分别是Lena的三基色分量分解图,图5、图6、图7分别是三基色分量图加密后的图像,图8是将分量图合成为彩色图像后的Lena最终加密图像。

彩色图像混沌加密算法

三、安全性分析

1、保密性测试

本算法在空域范围内使用Px,Py,Pz对彩色图像三基色分置乱,从密码学角度来说,加强了算法扩散的强度。若采取唯密文攻击,则解密工作量高达3×(M×N)!,进一步加大了破译难度。另外,三基色分量分别置乱,混淆了彩色图像每一像素的R,G,B三分量,使加密图像在视觉上发生了色彩变化,图像更难读懂。图9为参数r的偏差为10的-10次方时的错误解密图像,图10为初值xo的偏差为10的-10次方时的错误解密图像。

由于混沌序列对系统参数和初值极其敏感,即使密钥有微小的变化也会得到完全不同的置乱矩阵,从而导致错误的解密结果。

彩色图像混沌加密算法

2、置乱度分析

我们使用置乱度(SM)来评估加密图像的置乱程度。它的计算式为:

彩色图像混沌加密算法

在本加密算法中,我们将R定义为经过幻方变换生成的置乱图像。幻方变换是一种矩阵变换,在图像文件加密中,它的加密算法和密钥是不能公开的,因此,一般不单独作为加密算法。但单就置乱效果而言,幻方变换的置乱效果是很好的,所以我们将它作为衡量本加密算法置乱度好坏的一个标准。

我们利用本加密算法多次试验来计算Lena三基色分量图像的置乱度,可得到SM的平均值SM为:

彩色图像混沌加密算法

可见,本加密算法的置乱度与幻方变换的置乱度相近,具有良好的置乱性。

3、抗攻击测试

图11、图12分别为Lena加密图像受到压缩处理、噪声干扰后的解密图像。图1 1为加密图像经JPEG压缩为原大小20%后的解密图像,图12为加密图像受到10%强度的高斯噪声干扰后的解密图像,可以看出解密图像效果较好,具有较强的抗攻击能力。

彩色图像混沌加密算法

小知识之Huffman编码

哈夫曼编码(Huffman Coding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。

立即下载试用

图像加密技术的基本原理和评价标准

从密码学角度来看,图像数据的加密与文本信息数据加密是相同的,就是把图像数据信息转换为不可以辨识的形式的过程,并通过网络传输到接收方,其目的是使非授权接收方通过非常途径截获加密图像后也不能识别和解密。

对于任何一个图像加密系统,不管形如何复杂,是基于什么加密的原理,实现的加密算法如何不同,其基本组成部分是相同的,主要包括4个部分,1、待加密的数字图像,成为明图M。2、加密后形成的数字图像,成为密C。3、加密M=Ek1(C)、解密算法M =Ek2(C)。4、用于加密解密的钥匙,称为密钥K1,K2。

明图M通过加密算法加密后,得到密图C,然后发送方利用传输通道将密图C传送给授权接收方。图像传输过程中是很容易被截获或窃取,但是由于图像是加过密的,只要非授权用没有密钥,就无法获取图像信息,即使截获也无法解密,整个过程如下图:

评价标准:一个图像加密的性能好坏主要有以下标准

1、密钥的敏感性

密钥的敏感性是指相同的加密算法的密钥微小变化,得到结果与正确加密结果相差很大。具有好的敏感性的密钥,只要密钥有微小差异,就无法得到正确的加密图。

2、密钥的空间大小

密钥空间大小是指全体密钥参数集合的空间大小。密钥空间越大,密码攻击的难度也越大,安全性就越高,尤其是对蛮力攻击,穷举工具具有很强的保护性。

3、直方图

直方图是图像处理中一重要的统计特征,用来描述图像中像素的灰度级分布的图。灰度图的直方图是一个离散的函数,他表示图像中每个灰度级与该灰度级出现次数的对应函数。

4、相邻像素的相关性

相邻像素的相关性反应的是图像相邻像素的相关程度。一副待加密的图像相邻像素间的灰度值具有很强的相关性。相邻像素的相关性主要体现在水平、垂直和对角三个方向上的相邻像素间的相关系数,其计算形式为:

Snapa

Snapb

 

 

5、信息熵

信息熵反映的是一个信息的不确定性,将其应用到图像加密算法中,主要是衡量图像中包含的信息即图像中灰度值的分布情况。

Snap

6、算法的复杂度

算法的复杂度主要是指算法的时间复杂性和空间复杂性,它是衡量一个算法性能优劣的重要指标。加密算法的空间复杂性主要是指算法在加密过程中消耗的空间资源,消耗的空间越少,空间的复杂性越好。一个好的加密算法的时间复杂性和空间复杂性都应该达到最优。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16353.html