APP下载

结合多混沌映射与DNA的彩色图像加密算法①

2019-12-20胡春杰黄启胜嵇海祥

计算机系统应用 2019年12期
关键词:加密算法密文直方图

胡春杰,黄启胜,陈 翠,嵇海祥,阮 聪

1(水利部南京水利水文自动化研究所,南京 210012)

2(江苏南水科技有限公司,南京 210012)

3(云南省水文水资源局西双版纳分局,西双版纳 666100)

引言

随着数字技术、通信技术的不断发展,数字图像、视频等多媒体交流形式在人们日常生活中扮着相当重要的角色[1].然而在通信传输过程中,这些信息的安全性面临到巨大的威胁.相比现代数字图像具有海量数据、高度相关性的特点,一些传统的加密算法已不适用于图像加密[2,3].由于混沌系统是非线性的动力系统,具有初值敏感性、遍历性、随机性等特点,与图像加密非常契合,被广泛应用于图像加密领域[4-9].

文献[10]提出了一种多混沌映射的快速图像加密算法,该算法加密效率较高.文献[11]提出了一种利用复合混沌系统的加密算法,由于低维混沌系统控制参数和初始值个数少,安全性很低.文献[12]采用超混沌系统进行图像加密,密钥空间大,安全性较高,但是单一的混沌系统,算法复杂度低,不能满足现代图像加密的要求.文献[13]采用模拟DNA生物操作的方式,通过伪DNA计算来实现信息加密,成为信息加密算法的新热点.文献[14]提出了结合混沌系统和DNA动态编码的图像加密算法,然而由于DNA运算规则单一,导致加密算法复杂度不够.

结合上述,针对低维混沌系统和单一的DNA加密方案的空间小、复杂度低等问题,本文提出一种结合多混沌与DNA的彩色图像加密算法,采用超混沌系统实现了多种DNA编码方式加密.通过仿真实验测试,本文提出的图像加密算法具备足够大的密钥空间,大大地增强了复杂度,足以抵御各种攻击,安全性更高.

1 混沌系统

1.1 Logistic映射

Logistic映射是一个经典的非线性迭代方程,其数学表达式如式(1)所示:

其中,当3.5699<μ≤4时系统处于混沌状态,此时会产生具有随机性、遍历性的序列,如图1所示.

图1 系统状态随参数μ 的演化图

1.2 Arnold映射

Arnold映射是一种非线性二维映射方程[9],其公式定义如下:

其中,(x,y)为明文图像的像素点,(x′,y′)为置乱图像的像素点.

1.3 Chen超混沌系统

Chen超混沌系统方程如下:

式中,x,y,z,w是系统的状态变量;a,b,c,d,e是系统的控制参数.当a=35,b=3,c=12,d=7,e处于[0.085,0.798]区间内,Chen系统处于超混沌状态.其混沌吸引子图如图2所示.

图2 吸引子图

2 DNA编码技术

DNA中含4种不同的氮碱基分别是腺嘌呤A、胸腺嘧啶T、胞嘧啶C和鸟嘌呤G.根据碱基互补配对原,中A和T互补配对,C和G互补配对,而数字图像中像素点的值可以用二进制表示,在二进制中0和1是互补的,因此00和11是互补的,01和10是互补的.基于这种思想,结合二进制和DNA编码共有8种符合碱基编码规则,如表1所示.按照表1的方式,A用00表示,T用11表示,C用01来表示,G用10来表示.DNA的运算规则如表2~表4所示.

3 算法原理

本文算法分成2个部分:Arnold置乱部分和DNA加密部分.假设明文图像的大小为M×N,具体步骤如下:

表1 编码规则方式

表2 DNA加法运算

表3 DNA减法运算

表4 DNA异或运算

第1步:输入原始图像,并进行R、G、B分层.

第2步:对原始明文图像的R、G、B分量分别进行Arnold变换置乱,得到R、G、B共3个分量的Arnold置乱图.

第3步:将Logistic混沌系统方程迭代300次,以减少暂态效应带来的不良影响,设定初值和参数,连续迭代式(1)方程得到长度为M×N的序列.

第5步:对3个分量的Arnold置乱图和随机矩阵R均匀分成4×4的小块.

第6步:设定好Chen系统的4个初值x(0)、y(0)、z(0)和w(0),利用四阶龙格-库塔算法对Chen系统方程求解可得到3个混沌序列{x(k)}、{y(k)}、{z(k)}.

第7步:将置乱图像矩阵各分块内所有像的灰度值转化为二进制数;利用序列x(k)变换后的值,按表1的第x(k)的DNA编码规则进行DNA编码,x(k)按照式(5)进行变换.

同理,将随机矩阵各分块内所有像素的灰度值转化为二进制数;利用序列y(k)变换后的值,按表1的第y(k)的DNA编码规则进行DNA编码,y(k)按照式(6)进行变换.

当z(k)=0时,则图像矩阵与随机矩阵分块内所有像素一一对应进行DNA加法运算.

当z(k)=1,则图像矩阵与随机矩阵分块内所有像素一一对应进行减法运算.

当z(k)=2为则图像矩阵与随机矩阵分块内所有像素一一对应进行异或运算.

第9步:将3个密文R、G、B分量合成,得到最终密文图像.

解密算法是加密算法的反向过程,只要在获取正确密钥条件下就能恢复出原始明文图像.

4 仿真实验

本文算法采用大小为256×256×3的Lena彩色图像作为样本原始图像,测试坏境为Windows10 64位系统坏境,在Matlab 2016a软件平台下进行仿真实验,运行得到的加密图像,如图3所示.

5 算法分析

5.1 直方图分析

图4分别为Lena图像R、G、B信道的明文和密文灰度直方图.从图4可知,加密前后图像直方图变化很大,明文图像的直方图分布不均,密文图像的直方图分布平均,有效地隐藏了原始图像的灰度信息,从密文的直方图上无法得到原始图像的统计特性.

5.2 密钥空间分析

一个良好的加密算法,须具有尽可能大的密钥空间[15].本文加密算法采用Logistic映射的有1个控制参数和1个初始值,采用Chen系统有4个控制参数和4个初始值.假如仿真实验计算机的每个参数精度都可达1 0-16,其密钥空间为1 0160,此外还有Arnold变换控制参数,想通过穷举攻击破译密文图像,成功的概率是微乎其微的.

图3 图像加密结果

图4 图像加密前后的灰度值

5.3 信息熵

信息熵是衡量信源随机性的重要参数,图像混乱越厉害,信息熵越接近理想值[16],其计算公式为:

其中,P(mi)是信源取第i个符号mi的概率,图像灰度级为256的信息熵应该是8.由式(8)计算可得密文图像的信息熵为7.9980,非常接近于理论值8,可以得出密文图像灰度分布是非常均匀的,整个加密系统能够有效地抵御恶意攻击.

5.4 像素相关性分析

为了分析加密前后图像相邻像素之间的相关性,分别从加密前后图像随机水平,垂直,对角3个方向上选取2000对相邻的像素,使用式(9)计算像素相关性:

式中,n是像素点的个数;E(x),E(y)分别是x,y的期望,cov(x,y)是x,y的协方差,r是相关系数.从表5可知,原始明文图像的相邻像素高度相关,其3个相关系数接近1,而密文图像的3个相关系数趋近于0,说明密文图像的相邻像素点基本不相关了.与此同时比较其他算法[7,9],得到本文加密算法的相关系数r更小.

图5 加入噪声后解密图像

表5 像素相关系数

5.5 抗噪声分析

密文图像在传输过程中经常受到噪声,造成图像失真.为了检测算法抗噪声性能,在密文图像上加了分差不同的高斯噪声.从图5可以看出,随着高斯噪声分差增加,解密图像局部越来越模糊,但是依然可以看清楚图像的轮廓信息,可见本文算法具有较好的抗噪声性.

6 结束语

本文提出一种结合多混沌与DNA的彩色图像加密算法,采用超混沌系统实现了多种DNA编码方式加密.通过仿真实验测试,本文加密算法密钥空间较大,大大地增强了复杂度,足以抵御各种攻击,安全性更高,抗噪声性较好,适合用于图像的加密传输,具有良好的实用价值和应用前景.

猜你喜欢

加密算法密文直方图
一种支持动态更新的可排名密文搜索方案
加密文档排序中保序加密算法的最优化选取
基于模糊数学的通信网络密文信息差错恢复
嵌入式异构物联网密文数据动态捕获方法
一种新的密文策略的属性基加密方案研究
用直方图控制画面影调
例析频率分布直方图
中考频数分布直方图题型展示
教育云平台的敏感信息保护技术研究
一种改进的加密算法在空调群控系统中的研究与实现