为了解决数字图像加密算法复杂度高、安全性较差的问题,提出一种基于混沌系统的DNA融合图像加密算法。首先利用Baker变换对图像进行置乱以读取DNA序列;再由Logistic混沌映射产生混沌序列,从而对DNA序列进行混沌加密。该算法对初值具有很好的敏感性,抗统计、抗差分攻击能力强。
一、理论知识
1、混沌理论和Logistic映射
混沌系统有许多特性,如对初始条件的敏感性被认为是 一个加密算法的密钥发生器中的一个基本部分:Logistic映射的数学表达形式如下:
其中O≤μ≤4为分叉参数。混沌动力学的研究表明,在3. 569 945 6---≤μ≤4时,Logistic映射为混沌状态。
由此,提出了二维Logistic混沌映射,其表达式:
其中:μ=4,β=0.1,α1=α2=[0. 65,0.9],系统进入混沌状态。
2、DNA序列加密
(1)图像的DNA编码和解码
一个链DNA,由四个不同的基本核苷酸组成:腺嘌呤( A)、胸腺嘧啶(T)、胞嘧啶(C)和鸟嘌呤(G),这4种核苷酸能够结合在一起形成一条长序列,且A与T配对,C与G配对。通过规定A、C、G、T分别编码为00,01,10,11,这样的编码方案有24种,但只有8种编码方案满足Watson-Crick规则,如表1。假设规定A-OO、T-O1、C-10、G-11,如二进制序列101 10100,DNA序列可以写成GTCA。
(2)DNA序列的加减代数运算
随着DNA计算的飞速发展,一些研究人员提出基于DNA序列的某些生物学操作和代数运算,如加法运算。DNA序列加法和减法运算是源于在传统二进制中加法和减法。
对应于8种DNA编码方案,也存在8种DNA加法运算和8种DNA减法运算。如表2—3所示,从中可看出任何一个基因在每行或列中是唯一的,即加法运算和减法运算的结果有且只有一个。
3、Baker变换
Baker变换是一种将连续的平面区域反复进行拉伸和折叠的变换技术,公式如下:
由于Baker变换的拉伸与折叠性以及图像的点阵特征,对数字图像进行置乱时,首先对图像Gn×m的各个像素按照混沌随机序列进行两两配对,依次记为a(1),a(2):,…,a(n),其中a(1)=1,a(i)与a(i -1)进行配对(其中i为奇数)且a(1)<a(3)<...<a(n/2);其次对已经配对后的两行进行拉伸和折叠操作,其公式为:
其中λ=l,2...,n/2。Baker变换如图1所示。
与Arnold置乱算法相比,Baker变换最大优点在于:Baker变换的置乱周期比较长;只需进行很少的变换次数就可以达到很好置乱效果;算法操作简便,运算速度快,而且图像的保密效果好。
二、加密方案设计
1)设原图像为G,大小为N=axb,则图像G表示为:G=F(i,j)。其中;o≤i≤a;0≤j≤b;(i,j)表示像素点位置,F(i,j)表示该点处图像数据,则F(i,j)可构成图像矩阵。
2)根据内部设定的参数由式(3)构造二维Baker映射,然后亩式(4)将图像矩阵进行置乱。
3)置乱后的矩阵转变为相应的二进制序列,二进制序列编码为A、T、c、G分子表示序列,利用表1的方案2进行编码。
4)给定参数μ值和初值x0、Y0,通过二维Logistic映射得到混沌序列s1、S2。
5)利用索引函数对混沌序列s1、S2进行操作,排序的索引函数公式如下:
其中;fs1是把S1升序排列后的新序列ls1是s1的索引值。
6)选择s1、S2的索引值组合通过表2进行加法运算。
7)在图像加密的最后一步,DNA序列转变为二进制序列,再变为二进制矩阵,然后就得到了加密图像。
解密图像是加密图像的逆过程,需知道图像的置乱周期和DNA序列加密运用的减法运算和加法运算表才可解密图像。
三、仿真结果及安全性分析
1、仿真结果
在产生混沌序列时用501次以后迭代形成的混沌序列,可以增加混沌序列的复杂性和提高加密安全性。如图2给出了仿真结果图及直方图。
2、统计特征分析
1)直方图
由图2(a)、(b)的直方图,图像加密前后的灰度分析,像素分布很均匀,与原图差别很大。
2)相邻像素相关性
相关系数的计算公式如下:
其中x和y分别代表图像中相邻2个像素值,且gxy为相邻2个像素的相关系数。随机选取明文和密文中的相邻1000对像素,计算相关系数,如表4及图3所示。
3、敏感性分析
对一幅大小为256×256的图像进行测试。设置密钥参数x0=0.3, Yo=0.3,μ=4,α1=α2=0.798171。如图4所示,在解密过程中,只有0.000000 01的差别,也不能恢复出原图像。
4、明文敏感性分析
差分攻击:原图像的一个微小改变能引起加密图像的巨大变化,攻击者能获得原始图像与加密图像之间的联系。通过NPCR(Number of Pixel Change Rate)与UACI(UnifiedAverageChanging Intensity)来衡量。公式如下:
其中:m、n分别表示图像的行和列,C1与C2分别为仅改变原图像的告个像素值而得到的不同加密图,C1(i,j)与C2(i,j)表示在(i,j)坐标上的像素值。
由计算可知NPCR和UACI值如表5所示。可以了解到只要原图像发生微小的改变,会使加密图像接近100%的NPCR发生变化,加密后的图像平均变化在30%(UACI)以上。同时也说明明文图像的信息很好地扩散到了密文图像中,具有很好的明文敏感性,对差分攻击有很好的鲁棒性。
小知识之DNA序列
部分DNA序列或基因序列使用一串字母表示的真实的或者假设的携带基因信息的DNA分子的一级结构。