一种基于混沌的彩色图像加密算法外文翻译资料
2021-12-12 21:58:30
英语原文共 8 页
一种基于混沌的彩色图像加密算法
Xingyuan Wang*, Lin Teng, Xue Qin
大连理工大学电子信息工程系,大连116024,中国
文章信息
文章历史:2011年3月30日接收,2011年10月24日接收修订版,2011年10月31日接受,2011年11月6日网上公布。
目录
摘要
在这篇文章中,我们提出了一种基于混沌的彩色图像加密算法。我们利用混沌系统对彩色图像的R、G、B分量同时进行加密,使这三个分量相互影响。因此,R、G、B分量之间的相关性被降低了,算法的安全性被提高了。仿真结果表明,该算法能够有效地对彩色图像进行加密,并能抵抗各种典型的攻击。
关键词:彩色图像加密,混沌系统,R、G、B分量
绪论
随着计算机网络技术的迅速发展,许多敏感信息通过网络传输。信息安全变得越来越重要。随着图像信息传输的迅速发展,图像加密技术越来越受到人们的重视[1]。图像加密与文本加密的不同之处在于,图像加密具有数据容量大、像素间相关性强等内在特点。因此,传统的DES、IDES、RSA等加密技术已经不再适用于图像加密。混沌映射对初始条件的敏感性和随机性等特性引起了人们对发展图像加密算法的关注。
近年来,一些基于混沌的图像加密算法得到了发展[2-10],包括灰度图像加密算法[2-6]和彩色图像加密算法[7-10]。对于彩色图像,一张彩色图像的每个像素值由R、G、B等颜色分量组成,每一个颜色分量直接决定了红色、绿色或蓝色的强度。相比灰度图像来说,彩色图像提供的信息更多,也因此受到越来越多的关注[11-13]。但大多数过去的彩色图像加密算法选择用一致的方法对图像的R、G、B分量进行加密处理,即分别对图像进行三次独立加密。他们忽略了R、G、B分量之间的相关性,因此更容易受到攻击[7-13]。为了解决这一问题,本文提出了一种基于混沌的彩色图像加密算法。我们采用混沌系统对彩色图像的R、G、B分量同时进行加密,使这三个分量相互影响。组合置换阶段和组合扩散阶段有效地降低了R、G、B分量之间的相关性,提高了加密性能。仿真结果表明,该算法能够有效地对彩色图像进行加密,并抵抗各种典型的攻击。
本文的其余部分安排如下。第二部分介绍彩色图像的加密算法。第三部分给出了实验结果,并对算法的安全性进行了评估。第四部分对全文进行总结。
基于混沌的彩色图像加密算法
在不失一般性的前提下,假设彩色平面图像P的大小为Mtimes;N。将P转换为其R、G、B分量;每种颜色(R、G或B)的矩阵的大小为Mtimes;N,像素值范围为0到255。本文采用Logistic映射作为混沌系统。Logistic映射可以描述为
(1)
其中参数,系统处于混沌状态。
2.1 混沌序列排序算法
2.1.1 组合行置乱
设置初始参数a和初始值去迭代混沌系统m 3M次,丢弃前m值,以避免不利影响。将这3M个值排序并得出。接下来,找到在中的位置并记下变换位置。
将R、G、B矩阵垂直组合得到矩阵,其中包含3M行和N列。根据TM重新排列的行,即把行移到第一行,行移到第二行,以此类推,直到所有的行都被移动。我们得到转换后的矩阵。
2.1.2组合列置乱
设置初始参数和初始值去迭代混沌系统n 3MN次,丢弃前n值来避免不利影响,得到混沌序列。将划分为M个混沌序列;每个序列有3N个值。将每个排序得到变换位置:。
将变换后的矩阵从上到下划分为三个矩阵;每个矩阵的大小为Mtimes;N,水平组合得到M行3N列的矩阵。根据重新排列每一行的列,即把第i行的列移动到第一列,把第i行的列移到第二列,以此类推,直到每一行的所有列都被改变,得到转换后的矩阵。
经过了组合行置乱阶段和组合列置乱阶段,R、G、B分量的像素相互置换,从而有效地实现了像素的组合置换。
2.2 像素组合扩散
使用以下公式计算混沌序列,并得到以下序列:
, (2)
和
。 (3)
的值是从0到2的整数,的值是从0到255的整数。将变换后的矩阵从左到右划分为三个矩阵;每个矩阵的大小为Mtimes;N。将转化为向量(i=1,2,hellip;,L),每个向量的长度为L=Mtimes;N。
将作为参考,如果=0,扩散的当前值,如果的所有的值都已经被更改,则让=1;如果=1,则扩散的当前值,如果的所有的值都已经被更改,则让让=2;如果=2,则扩散的当前值,如果的所有的值都已经被更改,则让=0,直到三个向量的所有的值都变了为止。扩散公式为, (4)其中,是当前加密值,是当前平面值,是前一个加密值,是前一个平面值。设置初始值。
经过扩散阶段后,我们得到了三个加密向量(i=1,2,hellip;,L)。将向量转换成大小为Mtimes;N的三个矩阵;这些矩阵就是加密图像的R、G、B分量。所以,我们得到了加密的彩色图像。
2.3 图像解密
解密图像的过程与加密图像的过程相似,但顺序相反。
在解密过程中,初始参数和初始值的设置与加密过程相同,并使用相同的方法获得、、、和。
将C转换为R、G、B分量,然后将这些分量转换为向量(i=1,2,hellip;,L);每个向量的长度为L=Mtimes;N。以作为参考,反向扩散。扩散公式是
, (5)
其中,是当前值,是当前解密值,是前一个加密值,是前一个解密值。设置初始值。经历了反向扩散阶段后,我们得到了三个向量(i=1,2,hellip;,L)。将转换为三个大小为Mtimes;N的矩阵。
将、、水平组合,从而得到M行、3times;N列的矩阵。根据对每一行的列进行反向置换,然后得到逆置换矩阵。
将从左到右分为、、三个矩阵;每个矩阵的大小为Mtimes;N。将、、垂直组合,得到3M行、N列的图像。根据TM对的行进行反向置换,然后得到逆置换矩阵。
将变换后的矩阵从上到下划分为三个矩阵,每个矩阵的大小为Mtimes;N。这三个矩阵则为加密彩色图像的R、G、B分量,因此,我们得到了加密的彩色图像。
实验结果
3.1 加密结果
这张彩色平面图像“Lena”的大小为256times;256,它被用来当作加密对象。初始参数和初始值为a=4.0, =3.99以及=0.1234567898765,=0.56789123456789。
图一(a)展示了这张平面彩色图像。图一(b)-(d)展示了平面图像的R、G、B分量。
图1.彩色平面图及其R,G,B分量。(a)彩色普通图像。(b)平面图的R分量。(c)平面图G分量。(d)平面图的B分量。
图二(a)展示了加密后的图像。图二(b)-(d)展示了加密后图像的R、G、B分量。
图2.加密图像及其R,G,B组件。(a)加密图像(b)加密图像的R分量。(c)加密图像的G分量。(d)加密图像的B分量。
3.2 安全性分析
一个好的加密算法应该能够抵抗各种已知的攻击,比如穷举攻击、统计攻击以及选择明文/密文攻击。在这一部分中,我们将对所提出的加密方案进行安全性分析。
3.2.1 密钥空间分析
一个好的加密方案应该对密钥敏感,密钥空间应该足够大,以至于暴力攻击不再是可行的。在这个算法中,初始条件和参数a、、以及可以用作密钥也可以用作初始迭代数m和n。如果精度为,密钥空间尺寸可以达到,大于。所以,密钥空间是足够大的,能够抵抗暴力攻击的。
3.2.2 密钥灵敏度分析
我们进行了几个密钥灵敏度测试。图三(a)展示了使用正确密钥的加密图像Lena,其中a=4,=0.1234567898765。图三(b)、(c)展示了使用错误密钥的加密图像Lena,其中各自分别使用a=3.99999999999999,=0.1234567898764;图三(d)、(e)展示了使用错误密钥的加密图像Lena,其中各自分别使用=3.99000000000001,=0.56789123456788。所以,我们能够得出这样一个结论:本文提出的算法是对密钥灵敏的,即使是密钥的小小改动也将产生完全不同的解密结果,从而无法获得正确的平面图像。
图3.关键灵敏度分析(a)具有正确参数的解密图像。(b)具有不同初始值a=3.99999999999999的解密图像。(c)不同初始值的解密图像=0.1234567898764。(d)具有不同初始值=3.99000000000001的解密图像。(e)具有不同初始值 =0.56789123456788的解密图像。
3.2.3直方图分析
从直方图中可以看出每个灰度的频率,它会导致图像信息的泄漏。仿真结果如图4和图5所示。从这些图中,我们可以看到加密图像的直方图是相当均匀的,与原始图像有很大的不同。
加密后,加密图像的R、G、B分量的直方图基本一致.图5(a)-(c)展示了加密图像的R、G、B分量的直方图。
图4.平面图像的R,G,B分量直方图。(a)R分量直方图。(b)G分量直方图。(c)B分量直方图。
图5.密码图像的R,G,B分量直方图。(a)加密图像R分量直方图。(b)加密图像G分量直方图。(c)加密图像B分量直方图。
3.2.4 相关性分析
众所周知,在平面图中,相邻的图像像素高度相关。为了抵抗统计攻击,必须降低加密图像中两个相邻像素的相关性[14]。采用以下公式计算每一对相邻像素相关系数:
, (6)
其中
,,,
其中x和y是图像中两个相邻像素的灰度值。
我们从平面图像中随机选取了2000对相邻的像素,图1(b)-(d),以及加密的图像,图2(b)-(d),用于计算相关系数。从表1我们可以看到加密图像的相关系数远小于平面图像,因此混沌加密算法满足零相关性。
表1 平面图像和加密图像R、G、B分量的相关系数
相关性 |
R分量 |
G分量 |
资料编号:[5572] |