本发明涉及一种图像加密算法,采用量子混沌映射以及dna动态编码对图像进行加密的算法。
背景技术:
:
随着计算机网络以及多媒体的迅速发展,图像信息的安全越来越受到重视,继而出现了多种加密的技术,如des、rsa等,然而绝大多数加密技术是对文本加密提出的,这并不适用于具有较大数据量的图像。基于混沌的加密技术具有实现简单,加密速度快,安全性高等特点,已越发体现其在加密领域的优势,混沌技术已成为近些年的主要加密技术。其中量子混沌解决了传统混沌的“不动点”和“稳定窗”的问题,系统的随机性更好,敏感性更强,使得量子混沌加密技术的安全性更高。最近几年,基于dna计算思想的图像加密方法逐渐出现,dna含有四个碱基,分别是腺嘌呤a(adenine)、胸腺嘧啶t(thymine)、鸟嘌呤g(guanine)与胞嘧啶c(cytosine)。这四个碱基中,a与t互补,g与c互补。图像像素值的二进制正好也是由0和1组成,可以将二进制用这四个碱基进行表示,从而可以使图像像素值重新编码,达到图像加密的目的。
本文将量子混沌加密和dna加密应用到图像加密领域,提出了一种基于量子混沌映射和dna动态编码的图像加密算法,很大地提高了安全性。
技术实现要素:
本发明的目的是提供一种基于量子混沌映射和dna动态编码的图像加密算法。首先采用量子logistic混沌产生随机序列对图像进行循环移位进行置乱;然后采用量子混沌映射对图像进行动态dna编码;再采用lorenz混沌进行dna加法、异或对图像进行扩散;最后采用量子混沌对图像进行dna解码得到密文图像。通过以上几部分结合得到加密后的图像的加密算法,该算法可以通过给定不同的混沌初值对量子图像加密。
为了达到上述目的,本发明采用如下技术方案:
基于量子混沌映射和dna编码的图像加密算法,包括以下步骤:
输入:灰度图像i,大小为m行n列(m和n为正整数),lorenz混沌系统的参数a,b,c和初值x,y,z,量子logistic混沌系统的参数β,r和初值x1,x2,x3,x4,y1,y2,y3,y4,z1,z2,z3,z4;
输出:加密图像i′;
(1)将灰度图像i转换成大小为m×n的二维矩阵i1。
(2)采用量子logistic混沌映射产生四组混沌序列,根据量子logistic混沌映射公式
(3)将图像i2转换成为m×n的二进制二维矩阵i3,即i3中的每个元素为i2中对应元素的二进制;
(4)根据lorenz混沌映射产生三组随机序列,根据lorenz混沌公式
(5)根据序列c中的值,随机选择表1中的dna编码规则,对二进制矩阵i3的每两位二进制数进行dna编码,产生dna矩阵i4。如i3中第一个值为11000110且c(1)=3,c(2)=2,c(3)=7,c(4)=5,则编码后为gact。
(6)根据序列c中的值,随机选择表1中的dna编码规则,对序列y的前m×n×8个二进制序列的每两位进行dna编码,产生自然dna矩阵i5。如序列y的第1到第8位为01101110且c(1)=3,c(2)=2,c(3)=7,c(4)=5,则dna编码为acat。
(7)根据序列x中的值随机选择8种dna加法规则,将两个dna矩阵i4,i5相加,得到dna矩阵i6。如两个dna序列分别为gact和acat,且x(1)=3,x(2)=5,x(3)=1,x(4)=8,则dna加法后得到的dna矩阵为cgct。
(8)根据序列c中的值,随机选择表1中的dna编码规则,对序列y的后m×n×8个二进制序列的每两位进行dna编码,产生自然dna矩阵i7;
(9)根据序列z中的值随机选择8种dna异或规则,将两个dna矩阵i6,i7异或得到dna矩阵i8;
(10)根据序列d中的值,随机选择表1中的dna编码规则,对dna矩阵i8进行解码得到二进制矩阵i9;
(11)将二进制矩阵i9转为十进制矩阵i10,然后将i10转换为加密图像i′;
(12)dna的每个碱基a、c、g、t可以表示成两个二进制,按照a与t互补,c与g互补的原则,dna编码规则如表1所示;针对表1中的dna编码规则,每一种规则对应一种dna加法运算,如表2是dna编码规则1的加法运算规则,表3、表4、表5、表6、表7、表8、表9分别是dna编码规则2、3、4、5、6、7、8的加法运算规则。表10-表17为表1中对应的dna异或规则。
表1
附图说明
图1是原始图像,图2是加密效果图,图3是解密效果图。
图4是原始图像灰度直方图。图5是加密图像灰度直方图。
具体实施方式
1、量子logistic混沌映射的初值x1=0.4347,x2=0.7823,x3=0.4547,x4=0.8823,y1=0.0563,y2=0.0362,y3=0.0463,y4=0.0262,z1=0.1384,z2=0.1134,z3=0.1284,z4=0.1434,参数β=6,r=3.99。lorenz混沌映射的参数分别为a=10,b=8/3,c=28,初值分别为x0=25.384,y0=7.235,z0=18.347。
2、图1-图3是针对512×512的lena灰度图像进行仿真实验得到的加密解密效果图。图1为lena原图像,图2为对原图像加密后的加密图像,图3为解密图像。
3、图4是对lena图像加密前的图像进行灰度直方图分析的效果图,图5为lena加密图像的灰度直方图。通过比较能够发现,加密前的灰度直方图的像素值都集中在一些值上,并且有明显的波峰和波谷,但加密后图像的灰度直方图像素分布是相对均匀的,这说明了利用该加密算法得到的加密图像很难被统计性的攻击破解。