基于忆阻超混沌系统、元胞自动机和dna计算的图像加密算法
【专利摘要】本发明涉及一种基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算法,首先采用基于Chua电路的四维忆阻超混沌系统,同时明文图像通过作用于SHA256函数来产生密钥;将混沌系统产生的伪随机序列作为DNA动态编码的依据并且根据扩散后的DNA矩阵来决定元胞动态演变的规则,并且在加密的过程中,对图像做了分块处理;最后,通过伪DNA计算方法对图像进行加密,在对图像进行置乱的同时进行了扩散操作。本发明一方面增加了密钥空间,增强了算法抵抗暴力攻击的能力,另一方面又使得密钥的产生紧紧地依赖于明文,提高了算法抵抗选择明文攻击的能力,具有更强的抗穷举攻击能力,便于并行计算,进一步提高运行效率,提高算法的安全性。
【专利说明】
基于忆阻超混巧系统、元胞自动机和DNA计算的图像加密算法
技术领域
[0001] 本发明设及图像加密领域,特别设及一种基于忆阻超混浊系统、元胞自动机和DNA 计算的图像加密算法。
【背景技术】
[0002] 当今,伴随着智能终端设备的快速发展和普及,我们生活中的绝大多数信息,例如 在微博上分享的图片、利用微信视频对话等,都要通过网络的传输。图像由于具有形象生 动、简单、直观等优点,已经发展成为我们生活中不可或缺的交流方式。但是,人们对网络安 全的研究并没有达到一个绝对可靠的地步,所W图像在网络中的传输也存在着巨大的安全 漏桐。信息遭到泄密的新闻报道也屡见不鲜,所W确保信息在网络传输中的安全性已经成 为研究学者必须面对的问题。通常来说,要传输的图像通常都有着一些相同的特点,都存在 着数据量大、相邻像素相关性强、冗余度高等特点。起初,人们对信息安全的研究主要聚焦 于文本信息,它们大多都是W-维数据流为设计目标的,像DES、3-DES和RSA等,并没有考虑 到数字图像的特点,如果采用和文本信息相同的加密方式来对图像进行加密,其加密效果 并没有达到预期的目的。所W寻找一种安全的、可靠的、实用的图像加密方法已经摆在人们 面前。目前,采用混浊系统并结合其它加密手段对图像进行加密已经成为信息安全研究的 一个热点,具有巨大的应用潜力。
[0003] 过去大多数图像加密算法都是基于低维的混浊系统,低维混浊系统具有结构简 单、易于操作且计算速度快的优点,但是低维混浊系统由于密钥空间较小,产生的伪随机序 列复杂度不高且容易受到相空间重构法攻击的缺点而导致其加密的图像安全性不太高,随 着计算机运行速度的提高和新型算法的提出,很多基于低维混浊系统的加密算法已经被成 功破解,运就促使更多学者通过采用高维的超混浊系统来对图像进行加密。超混浊系统的 吸引子具有难W识别的拓扑结构,动力学行为也比一般的混浊系统更加复杂且难W预测, 并且相应加密算法的秘钥空间大,运使得超混浊系统在通信加密及信息安全领域具备更高 的使用价值。随着2008年惠普实验室的科学家成功研制出第一个物理实现的忆阻器开始, 各种基于忆阻器的超混浊系统也已经成为学术界研究的一个热点。忆阻器是一种非线性无 源元件,具有非线性、非易失性、体积小和功耗低的优点,运都使得忆阻器成为混浊非线性 电路的理想选择。基于忆阻器的混浊系统具有W下几个优势:①忆阻器具有着纳米级的尺 寸,当应用于混浊系统的非线性部分时可W大大缩小系统的物理尺寸;②忆阻器的阻值是 随着磁通或电荷的变化而产生的,其伏安特性曲线能够过零点,可W得到多样的非线性曲 线,运就提高了混浊系统的复杂度和信号的随机性;③大多数忆阻材料可W与CMOS工艺兼 容,运就使得忆阻系统具有更低的能量消耗,由于运些优势,忆阻混浊系统在通信和信息加 密领域具有广阔的应用前景。
[0004] 近年来,随着元胞自动机研究的不断深入,将元胞自动机应用于图像加密越来越 受到研究学者的青睐。元胞自动机属于一种离散的动力系统,具有在时间、状态和空间上都 离散的特性,除此之外,元胞结构简单、并行性好,每个元胞由简单的与、或等逻辑运算组 成,运算简单,非常适合图像加密的实现,尤其是二维元胞自动机在并行加密方面更是有着 天然的优势,所W将混浊系统与元胞自动机结合用于图像加密也是图像加密一个新方向。 然而,当前的图像加密技术和相关的理论还不够完善,很多算法仅仅依赖元胞自动机或单 纯的混浊映射进行图形加密,安全性还是不够高,因此有必要寻找一种复合构造的图像加 酱系统。
[0005] 当前,另外一种采用较多的图像加密方法就是利用伪DNA计算来对图像进行加密, DNA加密主要是W生物学技术的局限性为安全依据,与计算能力无关,因此即使是量子计算 机也无法攻破DNA密码学的保护,从而具有更高的安全性。同时,由于DNA计算具有许多其它 计算方式所不具备的特性,如超高并行性、超低能耗等,又具有超强存储能力,运使得DNA计 算在密码学上具有先天的优势。但是已有的基于DNA的加密算法大多要依赖于生物实验进 行操作,由于生物实验设备昂贵,实验环境难W控制,实验灵敏性高等缺点,导致基于DNA计 算的加密方法还是理论多于实践,通过采用伪DNA计算对图像进行加密可W避免生物实验。 除此之外,DNA编码规则有8种,大多数基于DNA的加密算法都是采用其中的某一种编码规 贝IJ,运就造成了算法对穷举攻击的抵抗能力不强,严重威胁了信息的安全存储和传输。
【发明内容】
[0006] 为克服现有技术中的不足,本发明提出一种基于忆阻超混浊系统、元胞自动机和 DNA计算的图像加密算法,克服了低维混浊系统密钥空间小、安全性不高W及算法缺乏与明 文联系的缺点,同时也消除了DNA固定编码规则抗穷举攻击能力较弱和DNA加密通过复杂生 物操作实现难度大的弊端,具有更强的抗穷举攻击能力,并且在加密的过程中,对图像做了 分块处理,便于并行计算,提高效率;通过伪DNA计算方法对图像进行加密,摆脱了复杂的生 物实验操作,并且该算法是基于比特级的加密,在对图像进行置乱的同时也进行了扩散操 作,提高了算法的安全性。
[0007] 按照本发明所提供的设计方案,一种基于忆阻超混浊系统、元胞自动机和DNA计算 的图像加密算法,包含如下步骤:
[000引步骤1.利用甜A256函数对大小为MXN的明文图像P进行计算,得到一组256位的哈 希值并将它作为图像密钥Key,将256位的图像密钥K巧换算为32个十进制数ki,k2,...,k32, 计算基于化ua电路的四维忆阻超混浊系统的初始状态值;
[0009] 步骤2.将得到的初始状态值带入忆阻超混浊系统进行迭代,得到4个大小分别为1 X 4MN的状态值矩阵X = [XI, 1 ,xi,2,. . .,X1,4MN],Y = [yi, 1 ,yi,2,. . .,yi,4MN] ,Z = [Z1,1, Zl,2,. . .,Z1,4MN],W= [Wl,l ,W1,2,. . .,W1,4MN],对状态值矩阵X、Y、Z进行修正得矩阵Xl = [XI ' ,1 ,X1 ' ,2 , . . . ,X1 ' '4MN]、Y1 = [yi ' ,1 ,yi ' ,2 , . . . ,yi ' '4MN]、Z1 = [Z1 ' ,1, Zl ' ,2 , . . . , Zl ' ,4MN],使 得Xl',h、yl',h、Zl',hG[l,8],对状态值矩阵W进行修正得矩阵Wl = [Wl',l,Wl',2,...,Wl',4MN], 使得Wi ' ,hG [0,I ],hG [ I,4MN],将Xl、Y1、Z1、W1分别按行重组为大小为MX 4N的矩阵X_1,Y_
[0010] 步骤3 .对重组后的矩阵X_1、Y_1、Z_1 进行分组,记Al = [X_l,Y_1 ],A2= [X_l,Z_ 1],A3 = [Y_1,Z_1],利用明文的第一个像素选取将要用于DNA动态编码所需的规则数矩阵 Rl和 R2,并使 Rl=Ai(l),R2=Ai(2),i = l,2,3;
[0011] 步骤4.将明文图像P按位展开,得到八个位平面并重组为大小为MX8N的矩阵U,
[0012]令D(i,j) = [U( i,2* j-1),U(i,2* j)],将矩阵U中每两个元素为一组,作为D中的一 个元素,iG[l,M],jG[l,4N];
[OOU]步骤5.将矩阵D、R1、R2分别分害喊pXq个分块矩阵,每个分块矩阵的大小为mXn, 且满足mXp = M,n X q = 4N,并将分割后的矩阵分别按行重组为大小为1 Xpq的一维矩阵并 记为0_1、3_1、1?_2,其中用0_1山、1?_1山、1?_2山分别表示0_1、1?_1、1?_2中第1^块的分块矩 阵,k=l,2, . . .,pXq;
[0014]步骤6.从矩阵W_1的第一个元素开始按行依次选取2mn个元素,重新组成大小为m X化的矩阵,并将该矩阵作为元胞自动机演变的初始构型护;
[001引步骤7.对初始构型C。进行演变,其中Ck代表第k次演变后得到的构型,在进行第k次 演变时,演变规则由第k-1次经过扩散后获得的DNA矩阵块决定,k=l,2, ...,pXq;
[0016]步骤8.将0_1中第k块分块矩阵D_1山按照R_1中第k块分块矩阵R_1山中的编码 规则进行DNA编码,并将编码后的矩阵记为DNA(D_1比]);对演变得到的元胞构型Ck按照R_2 中第k块分块矩阵R_2[k]中对应的编码规则进行DNA编码,并将编码后的矩阵记为DNA(Ck), k=l ,2, . . . ,pXq;
[0017]步骤9.对得到的编码矩阵DNA(D_1比])进行扩散操作;
[0018] 步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密;
[0019] 步骤11.将加密过的所有分块DNA矩阵重组为MX 4N的矩阵并按照规则数矩阵Rl中 对应的规则数进行DNA解码操作,得到一个大小为MX8N的二进制矩阵Ql,然后对矩阵Ql进 行十进制转换操作,得到一个大小为MXN的十进制密文矩阵Q2,即为加密后的密文图像。
[0020] 上述的,所述步骤1中基于化Ua电路的四维忆阻超混浊系统的表达式为:
[0021]
[002。其中,h(x) =mix+0.5(m0-mi) X ( I X+1 I - I X-I I ):
x,y,z,w代表混浊系统的状态变量,a、b、c、d、e、m日、ml是混浊系统的控制参数,并且当a = 30, 6 = 36,(1 = 2.5,6 = 3.5,111日=-0.5,1]11 = -0.1且。£[0.073,0.162]时,系统处于超混浊状态; 并通过公式:
[0023]
[0024] 计算基于畑Ua电路的四维忆阻超混浊系统的状态变量的初始状态值xo,yo,zo和 wo,其中,sum化2i,k22,. . . ,k32)表示对k21,k22, . . . ,k32进行求和,max化2i,k22, . . . ,k32)表示 求k2i,k22,. . .,k32的最大值,.汲y代表取X和y的异或。
[0025] 上述的,所述步骤2具体包含如下步骤:
[0026] 步骤2.1、将通过步骤1计算得到的初始状态值xo,yo, Z日和W日带入基于化Ua电路的 四维忆阻超混浊系统迭代NO次,其中
I得到4个大小分别为 1 X4MN的状态值矩阵X=[xi,i,xi,2, . . .,X1,4MN],Y=[yi,i,yi,2, . . .,yi,4MN],Z=[Z1,1, Zl,2, . . .,Z1,4MN],W=[W1,1,W1,2, . . .,W1,4MN];步骤2.2、对状态值矩阵X、Y、Z、W分别通过修正 公式进行修正得矩阵Xl、Y1、Z1、W1,其中修正公式如下:
[0027] Xl =mod((abs(xi,h)-fIoor(XLh)) X 1〇14,8)+1,
[002引 Yl =mod( (abs( yi,h)-floor (yi,h) )Xl0i4 ),8)+1,
[0029] Zl =mod( (abs(zi,h)-f Ioor(ZLh)) X l〇i4,8)+1,
[0030] Wl =mod( (abs(wi,h)-f Ioor(WLh)) X l〇i4,2),
[00川其中,xl,h,yl,h,zl,h,wl,h分别代表状态值矩阵X、Y、Z、W中的第h个值,hG[l,4MN]; abs (X)表示对X取绝对值,floor (X)表示取不大于X的最大整数,mod(a,b)表示a对b的取模 运算;
[0032] 步骤2.3、将Xl、Y1、Z1、W1分别按行重组为大小为MX 4N的矩阵X_1,Y_1,Z_1,W_1。
[0033] 上述的,步骤7具体包含如下步骤:
[0034] 步骤7.1、通过如下公式:
[0035]
[0036] 决定元胞自动机演变规则,设定元胞的状态空间为{0,1},其中,SG'表示在t+1时 刻处于位置(i,j)处的中屯、元胞的状态值,S',,表示在时刻t处于位置(i,j)处的中屯、元胞的 状态值,取W、巧,-1、爲1,,、巧,+1分别表示在时刻t处于中屯、元胞的上、左、下、右的邻居元 胞的状态值,1、¥1、¥1\化、¥0、¥1?是值为0或1的变量;如果1^=1,表示规则是非线性规则,否 则就是线性规则,VM、VT、化、VD、VR分别控制中间、上、左、下、右五个元胞是否参与元胞演变 过程,如果VM、VT、化、VD、VR中对应的值为0,则表示其对应的元胞不参与演变;L、VM、VT、^、 VD、VR的值由步骤7.2中演变规则ru 1 e化)决定;
[0037] 步骤7.2、通过公式:
[00;3 引
[0039] 确定元胞自动机演变规则数,其中,:rule化)表示元胞进行第k次演变时的规则数, DNA化化-1))表示前一个经过扩散后获得的DNA矩阵块,sum(DNA化化)))表示对第k个扩散 后的DNA矩阵的每个元素的ASCII码值求和,当k=l时,E(O)=CD, C嗦示元胞的初始构型,k =1,2, . . . ,pXq;
[0040] 步骤7.3、将步骤7.2中计算得到的^16化)转变为二进制,即求得1^、¥1、¥1\化、¥0、 VR的值,同时根据步骤7.1)确定元胞演变的函数。
[0041] 上述的,所述步骤9中扩散操作具体包含:通过公式: DNA(巧.1]) = UN八((、;)货 DNA(/J> I川)货 UN八(D IL"x?])' /( = I
[0042] I ,, DNA( q/c]) = DNA((、')货 DNA( D IW) @ DN八(/7[/( - U ),A';; I
[0043] 对得到的编码矩阵DNA(D_1比])进行扩散操作。
[0044] 本发明的有益效果:
[0045] 本发明克服现有技术中低维混浊系统密钥空间小、安全性不高W及算法缺乏与明 文联系的缺点,同时也消除了DNA固定编码规则抗穷举攻击能力较弱和DNA加密通过复杂生 物操作实现难度大的弊端;采用基于化Ua电路的四维忆阻超混浊系统,同时明文图像通过 作用于SHA256函数来产生密钥,增加密钥空间,增强算法抵抗暴力攻击的能力,另一方面又 使得密钥的产生紧紧地依赖于明文,提高算法抵抗选择明文攻击的能力;将混浊系统产生 的伪随机序列作为DNA动态编码的依据并且根据扩散后的DNA矩阵来决定元胞动态演变的 规则,相较于当前其它很多结合DNA计算与元胞自动机的加密算法中采用的固定DNA编码规 则和元胞单一演变规则,该算法具有更强的抗穷举攻击能力,并且在加密的过程中,对图像 做了分块处理,便于并行计算,提高了效率;通过伪DNA计算方法对图像进行加密,摆脱复杂 的生物实验操作,并且该算法是基于比特级的加密,在对图像进行置乱的同时也进行了扩 散操作,提高了算法的安全性。
【附图说明】:
[0046] 图1为本发明的流程示意图;
[0047] 图2(a)为实施例S所用原始图像;
[0048] 图2(b)为实施例S所用的加密后图像;
[0049 ]图2 (C)为实施例S所用的密钥正确时解密图像;
[0050] 图2(d)为实施例S所用的使用错误密钥时的解密图像之一;
[0051] 图2(e)为实施例S所用的使用错误密钥时的解密图像之二;
[0052] 图2(f)为实施例S所用的使用错误密钥时的解密图像之
[0053] 图3(a)为实施例S所用的原始图像的直方图;
[0054] 图3(b)为实施例S所用的加密图像的直方图;
[0055] 图4(a)为实施例=所用的原始图像水平方向上相邻像素的相关性分析图;
[0056] 图4(b)为实施例=所用的加密图像水平方向上相邻像素的相关性分析图;
[0057] 图5(a)为实施例四所用原始图像;
[0058] 图5(b)为实施例四所用的加密后图像;
[0059] 图5(c)为实施例四所用的密钥正确时解密图像;
[0060] 图5(d)为实施例四所用的使用错误密钥时的解密图像之一;
[0061] 图5(e)为实施例四所用的使用错误密钥时的解密图像之二;
[0062] 图5(f)为实施例四所用的使用错误密钥时的解密图像之
[0063] 图6(a)为实施例四所用的原始图像的直方图;
[0064] 图6(b)为实施例四所用的加密图像的直方图;
[0065] 图7(a)为实施例四所用的原始图像水平方向上相邻像素的相关性分析图;
[0066] 图7(b)为实施例四所用的加密图像水平方向上相邻像素的相关性分析图;
[0067] 图8(a)为实施例五所用原始图像;
[0068] 图8(b)为实施例五所用的加密后图像;
[0069] 图8(c)为实施例五所用的密钥正确时解密图像;
[0070] 图8(d)为实施例五所用的使用错误密钥时的解密图像之一;
[0071] 图8(e)为实施例五所用的使用错误密钥时的解密图像之二;
[0072] 图8(f)为实施例五所用的使用错误密钥时的解密图像之
[0073] 图9(a)为实施例五所用的原始图像的直方图;
[0074] 图9(b)为实施例五所用的加密图像的直方图;
[0075] 图10(a)为实施例五所用的原始图像水平方向上相邻像素的相关性分析图;
[0076] 图10(b)为实施例五所用的加密图像水平方向上相邻像素的相关性分析图。
【具体实施方式】:
[0077] 下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详 细说明本发明的实施方式,但本发明的实施方式并不限于此。
[0078] 实施例一,参见图1所示,一种基于忆阻超混浊系统、元胞自动机和DNA计算的图像 加密算法,包含如下步骤:
[0079] 步骤1.利用甜A256函数对大小为MXN的明文图像P进行计算,得到一组256位的哈 希值并将它作为图像密钥Key,将256位的图像密钥K巧换算为32个十进制数ki,k2,...,k32, 计算基于化ua电路的四维忆阻超混浊系统的初始状态值;
[0080] 步骤2.将得到的初始状态值带入忆阻超混浊系统进行迭代,得到4个大小分别为1 X 4MN的状态值矩阵X = [XI, 1 ,xi,2,. . .,X1,4MN],Y = [yi, 1 ,yi,2,. . .,yi,4MN] ,Z = [Z1,1, Zl,2,. . .,Z1,4MN],W= [Wl,l ,W1,2,. . .,W1,4MN],对状态值矩阵X、Y、Z进行修正得矩阵Xl = [XI ' ,1 ,X1 ' ,2 , . . . ,X1 ' '4MN]、Y1 = [yi ' ,1 ,yi ' ,2 , . . . ,yi ' '4MN]、Z1 = [Z1 ' ,1, Zl ' ,2 , . . . , Zl ' ,4MN],使 得Xl',h、yl',h、Zl',hG[l,8],对状态值矩阵W进行修正得矩阵Wl = [Wl',l,Wl',2,...,Wl',4MN], 使得Wi ' ,hG [0,I ],hG [ I,4MN],将Xl、Y1、Z1、W1分别按行重组为大小为MX 4N的矩阵X_1,Y_
[OOW] 步骤3 .对重组后的矩阵X_1、Y_1、Z_1进行分组,记Al = [X_l,Y_1 ],A2= [X_l,Z_ 1],A3=[Y_1,Z_1],利用明文的第一个像素选取将要用于DNA动态编码所需的规则数矩阵 Rl和 R2,并使 Rl=Ai(l),R2=Ai(2),i = l,2,3;
[0082] 步骤4.将明文图像P按位展开,得到八个位平面并重组为大小为MX8N的矩阵U,
[0083] 令D(i,j) = [U( i,2* j-1),U(i,2* j)],将矩阵U中每两个元素为一组,作为D中的一 个元素,iG[l,M],jG[l,4N];
[0084] 步骤5.将矩阵D、R1、R2分别分割成pXq个分块矩阵,每个分块矩阵的大小为mXn, 且满足mXp = M,n X q = 4N,并将分割后的矩阵分别按行重组为大小为1 Xpq的一维矩阵并 记为0_1、3_1、1?_2,其中用0_1山、1?_1山、1?_2山分别表示0_1、1?_1、1?_2中第1^块的分块矩 阵,k=l,2, . . .,pXq;
[0085] 步骤6.从矩阵W_1的第一个元素开始按行依次选取2mn个元素,重新组成大小为m X化的矩阵,并将该矩阵作为元胞自动机演变的初始构型护;
[0086] 步骤7.对初始构型护进行演变,其中Ck代表第k次演变后得到的构型,在进行第k次 演变时,演变规则由第k-1次经过扩散后获得的DNA图像块决定,k=l,2, ...,pXq;
[0087] 步骤8.将0_1中第k块分块矩阵D_1山按照R_1中第k块分块矩阵R_1山中的编码 规则进行DNA编码,并将编码后的矩阵记为DNA(D_1比]);对演变得到的元胞构型Ck按照R_2 中第k块分块矩阵R_2[k]中对应的编码规则进行DNA编码,并将编码后的矩阵记为DNA(Ck), k=l ,2, . . . ,pXq;
[0088] 步骤9.对得到的编码矩阵DNA(D_1比])进行扩散操作;
[0089] 步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密;
[0090] 步骤11.将加密过的所有分块DNA矩阵重组为MX 4N的矩阵并按照规则数矩阵Rl中 对应的规则数进行DNA解码操作,得到一个大小为MX8N的二进制矩阵Ql,然后对矩阵Ql进 行十进制转换操作,得到一个大小为MXN的十进制密文矩阵Q2,即为加密后的密文图像。
[0091] 实施例二,参见图1所示,一种基于忆阻超混浊系统、元胞自动机和DNA计算的图像 加密算法,包含如下步骤:
[0092] 步骤1.利用甜A256函数对大小为MXN的明文图像P进行计算,得到一组256位的哈 希值并将它作为图像密钥Key,将256位的图像密钥K巧换算为32个十进制数ki,k2,...,k32, 计算基于化ua电路的四维忆阻超混浊系统的初始状态值,具体基于化ua电路的四维忆阻超 混浊系统的表达式为:
[0093]
[0094] 其中,h(x) =mix+0.5(m〇-mi) X (X+1 I - I X-I),
, y,z,w代表混浊系统的状态变量,a、b、c、d、e、m〇、mi是混浊系统的控制参数,并且当a = 30,b =36,(1 = 2.5,6 = 3.5,111日=-0.5,虹=-0.1且。£[0.073,0.162]时,系统处于超混浊状态;并 通过公式:
[0095]
,
[0096] 计算基于畑Ua电路的四维忆阻超混浊系统的状态变量的初始状态值XO,yo,ZO和 W0,其中,sum化2i,k22,. . . ,k32)表示对k21,k22, . . . ,k32进行求和,max化2i,k22, . . . ,k32)表示 求k21,k22, . . .,k32的最大值,义笛y代表取X和y的异或;
[0097] 步骤2.将得到的初始状态值带入忆阻超混浊系统进行迭代,得到4个大小分别为1 X 4MN的状态值矩阵X= [X1,1,xi,2,. . .,X1,4MN] ,Y= [yi,i,yi,2,. . .,yi,4MN] ,Z = [Z1,1, Zl, 2 , . . . , Z1,4MN],W = [Wl, I , Wl, 2 , . . . , W1,4MN],对状态值矩阵X、Y、Z进行修正得矩阵Xl =
[XI ' ,1 ,X1 ' ,2 , . . . ,X1 ' '4MN]、Y1 = [yi ' ,1 ,yi ' ,2 , . . . ,yi ' '4MN]、Z1 = [Z1 ' ,1, Zl ' ,2 , . . . , Zl ' ,4MN],使 得Xl',h、yl',h、Zl',hG[l,8],对状态值矩阵W进行修正得矩阵Wl = [Wl',l,Wl',2,...,Wl',4MN], 使得Wi ' ,hG [0,I ],hG [ I,4MN],将Xl、Y1、Z1、W1分别按行重组为大小为MX 4N的矩阵X_1,Y_ I,Z_1,W_1,具体包含如下步骤:
[009引步骤2.1、将通过步骤1计算得到的初始状态值xo,yo, Z日和W日带入基于化Ua电路的 四维忆阻超混浊系统迭代NO次,其中
,得到4个大小分别为 1 X4MN的状态值矩阵X=[xi,i,xi,2, . . .,X1,4MN],Y=[yi,i,yi,2, . . .,yi,4MN],Z=[Z1,1, Z I, 2 , . . . , Zl, 4Mn] jW=[wi,1,W1,2, . . . , W1,4Mn];
[0099] 步骤2.2、对状态值矩阵X、Y、Z、W分别通过修正公式进行修正得矩阵Xl、Y1、Z1、W1, 其中修正公式如下:
[0100] Xl =mod((abs(xi,h)-fIoor(XLh)) X 1〇14,8)+1,
[0101 ] Yl =mod( (abs( yi,h)-floor (yi,h) )Xl〇i4 ),8)+1,
[0102] Zl =mod( (abs(zi,h)-f Ioor(ZLh)) X l〇i4,8)+1,
[0103] Wl =mod( (abs(wi,h)-f Ioor(WLh)) X l〇i4,2),
[0104] 其中,xl,h,yl,h,zl,h,wl,h分别代表状态值矩阵X、Y、Z、W中的第h个值,hG[l,4MN]; abs (X)表示对X取绝对值,floor (X)表示取不大于X的最大整数,mod(a,b)表示a对b的取模 运算;
[0105] 步骤2.3、将X1、Y1、Z1、W1分别按行重组为大小为MX4N的矩阵X_1,Y_1,Z_1,W_1;
[0106] 步骤3 .对重组后的矩阵X_1、Y_1、Z_1 进行分组,记Al = [X_l,Y_1 ],A2= [X_l,Z_ 1],A3 = [Y_1,Z_1],利用明文的第一个像素选取将要用于DNA动态编码所需的规则数矩阵 Rl和 R2,并使 Rl=Ai(l),R2=Ai(2),i = l,2,3;
[0107] 选取Rl和R2的规则如下:
[010引 index=mod(P( 1), 3)+1;
[0109] 如果Index = I,那么i = l ,Ai=Al,此时R1=X_1,R2 = Y_1;
[0110] 如果 index = 2,那么 i = 2,Ai=A2,此时 R1=X_1,R2 = Z_1;
[0111] 如果 index = 3,那么 i = 3,Ai=A3,此时Rl=Y_l,R2 = Z_l。
[0112] 其中,index是我们设定的一个变量,X_1、Y_1、Z_1表示修正重组后的状态值矩阵, P (1)表示明文图像的第一个像素值,mod (a,b)表示a对b取模,i G [ 1,3 ];
[0113] 步骤4.将明文图像P按位展开,得到八个位平面并重组为大小为MX8N的矩阵U,令 D(i,j) = [U(i,2*j-1),U(i,2*j)],将矩阵U中每两个元素为一组,作为D中的一个元素 ,i G [l,M],jG[l,4N];
[0114] 步骤5.将矩阵D、R1、R2分别分割成P X q个分块矩阵,每个分块矩阵的大小为m X n, 且满足mXp = M,nXq = 4N,并将分割后的矩阵分别按行重组为大小为IXpq的一维矩阵并 记为0_1、3_1、1?_2,其中用0_1山、1?_1山、1?_2山分别表示0_1、1?_1、1?_2中第1^块的分块矩 阵,k=l ,2, . . . ,pXq;
[0115] 步骤6.从矩阵W_1的第一个元素开始按行依次选取2mn个元素,重新组成大小为m X2n的矩阵,并将该矩阵作为元胞自动机演变的初始构型(^
[0116] 步骤7.对初始构型护进行演变,其中Ck代表第k次演变后得到的构型,在进行第k次 演变时,演变规则由第k-1次经过扩散后获得的DNA矩阵块决定,k=l,2, . . .,pXq,具体包 含如下步骤:
[0117] 步骤7.1、通过如下公式:
[011 引
[0119] 决定元胞自动机演变规则,设定元胞的状态空间为{0,1},其中,表示在t+1时 刻处于位置(i,j)处的中屯、元胞的状态值,驾J表示在时刻t处于位置Q J)处的中屯、元胞的 状态值,取,,,.、、记,y、冷+1分别表示在时亥Ijt处于中屯、元胞的上、左、下、右的邻居元 胞的状态值,1、¥1、¥1\化、¥0、¥1?是值为0或1的变量;如果1^=1,表示规则是非线性规则,否 则就是线性规则,¥1、¥1\¥1^眉、¥1?分别控制中间、上、左、下、右五个元胞是否参与元胞演变 过程,如果VM、VT、化、VD、VR中对应的值为0,则表示其对应的元胞不参与演变,L、VM、VT、^、 VD、VR的值由步骤7.2中演变规则rule化)决定;
[0120] 步骤7.2、通过公式:
[0121]
[0122] 确定元胞自动机演变规则数,其中,:rule化)表示元胞进行第k次演变时的规则数, DNA化化-1))表示前一个经过扩散后获得的DNA分块矩阵,sum(DNA化化)))表示对第k个扩 散后的DNA矩阵的每个元素的Ascn码值求和,当k = 1时,E(O)=护,护表示元胞的初始构型, k=l ,2, . . . ,pXq;
[0123] 步骤7.3、将步骤7.2中计算得到的^16化)转变为二进制,即求得1^、¥1、¥1\化、¥0、 VR的值,同时根据步骤7.1)确定元胞演变的函数;
[0124] 步骤8.将0_1中第k块分块矩阵D_1比]按照R_1中第k块分块矩阵R_1比]中的编码 规则进行DNA编码,并将编码后的矩阵记为DNA(D_1比]);对演变得到的元胞构型Ck按照R_2 中第k块分块矩阵R_2[k]中对应的编码规则进行DNA编码,并将编码后的矩阵记为DNA(Ck), k=l ,2, . . . ,pXq;
[0125] 步骤9.对得到的编码矩阵DNA(D_1比])进行扩散操作,通过公式:
[0126]
[0127] 进行扩散操作;
[0128] 步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密;
[0129] 步骤11.将加密过的所有分块DNA矩阵重组为M X 4N的矩阵并按照规则数矩阵Rl中 对应的规则数进行DNA解码操作,得到一个大小为MX8N的二进制矩阵Ql,然后对矩阵Ql进 行十进制转换操作,得到一个大小为MXN的十进制密文矩阵Q2,即为加密后的密文图像。
[0130] 实施例S,参见图2(a)~4(b)所示,在本实施例中,采用的编程软件为Matlab R2014a,选取大小为256 X 256的Lena灰度图像为实验对象,具体加密过程如下:
[01川步骤1.输入原始大小为256 X 256的Lena灰度图像,用P= imread( ' Iena. bmp ')读 取图像信息,利用細A256函数对明文图像P进行计算,得到一组256位的哈希值并将它作为 图像密钥Key,然后将256位的K巧换算为32个十进制数ki,k2,...,k32,用来计算四维忆阻超 混浊系统的初始状态值的具体步骤如下:
[0132] 1.1)采用基于化Ua电路的四维忆阻超混浊系统来产生加密算法所需的伪随机序 列,其表达式如下所示:
[0133]
[0134] h(x) =mix+0.5(m〇-mi) X ( I X+1 I -1 X-I I ),
[0135] 当a = 30,b = 36,c = 0.1,d = 2.5,e = 3.5,m〇 = -〇. 5,mi = -〇. I时,系统处于超混浊 状态。
[0136] 1.2)利用甜A256函数对明文图像进行计算,可W得到一组256位的哈希值(十六进 制表不为[2 62 88 fel3eeee0c6baaf8dalc8c25f5ac36 9a0994656d59e4605e3d0476723e 9]),并把它作为图像的 密钥,然后将256位的哈希值转换为32个十进制数(38 40 143 225 62 238 224 198 186 175141 161 200 194 95 90 195 105 160 153 70 86 213 158 70 5 227 208 71 103 35 233),并将其定义为kl,k2,...,k32,接着利用如下公式计算忆阻超混浊系统的初始状态值:
[0137]
[013引 通巧计算得剖K阻趟混视《统的初猫状态但XO = 1.3359,yo = 0.2813 ,ZO = 0.9297,w0 = 0.1984。
[0139] 步骤2.将得到的初始状态值带入忆阻超混浊系统进行迭代,可W得到4个大小分 别为1 X262144的状态值矩阵X = [xi,i,xi,2,. . . ,xi,262i44],Y=[yi,i,yi,2,. . . ,yi,262i44] ,Z = [Z1,1,Z1,2, . . .,Z1,262144],W=[W1,1,W1,2, . . .,W1,262144],接着对得到的状态矩阵X、Y、Z进行修 lEf#^l|^Xl = [xi',l,Xl',2, . . . ,Xl',262144]NYl = [yi',l,yi',2, . . . ,yi',262144] nZI = [zi',1, Zl',2, . . . ,Zl' ,262144],使得 Xl ',h、yi',h、Zl',hG[l,8],对状态值矩阵W 进行修正得矩阵Wl = [W1',1,W1',2,. ..,W1',262144],使得 Wi',hG[0, ILhG [1,262144],进而再将 XUYl、Z1、W1按行 重组为大小为256 X 1024的矩阵X_1,Y_1,Z_1,W_1,其具体步骤如下:
[0140] 2.1)为了避免有害影响,我们先将通过步骤l计算得到的(xo,yo,zo,wo)带入混浊 系统迭代NO次,其中
进而再对混浊系统进行迭代 可W得到S个大小分别为256 X 1024的状态值矩阵X、Y、Z、W。
[0141] 2.2)通过修正公式分别对得到的状态值矩阵乂、¥、2、¥进行修正,得到乂1、¥1、21、 Wl,修正公式如下:
[0142] Xl =mod((abs(xi,h)-fIoor(XLh)) X 1〇14,8)+1
[0143] Yl =mod( (abs(yi,h)-floor(yi,h)) X 1〇14) ,8)+1
[0144] Zl =mod((abs(zi,h)-fIoor(ZLh)) X 1014,8)+1
[0145] Wl=mod((abs(wi,h)-floo:r(wi,h)) X 1014,2),
[0146] 其中xl,h,yl,h,zl,h,wl,h分别代表状态值矩阵X、Y、Z、W中的第h个值,hG[l,256X 1024] ;abs(X)表示对X取绝对值,floor(X)表示取不大于X的最大整数,mod(a,b)表示a对b 的取模运算。
[0147] 2.3)对修正后的矩阵Xl、Y1、Z1、W1按行重组成大小为256 X 1024的矩阵X_1、Y_1、 Z_1、W_1。
[0148] 其整个过程如下所示:
[0149]
[0150] 步骤3.对修正重组后的矩阵X_1、Y_1、Z_1进行分组,记Al = [X_l,Y_1 ],A2= [X_l, Z_1 ],A3 = [Y_1,Z_1 ],接着利用明文的束象素来选取将要用于DNA动态编码所需的规 则数矩阵Rl 和R2,并使Rl = Ai (1),R2=Ai (2),i = 1,2,3;
[0151] 选取规则数矩阵Rl和R2的规则具体如下:
[0152] index=mod(P( 1 ),3)+1;
[0153] 如果index = l,那么i = l ,Ai=Al,此时R1=X_1,R2 = Y_1;
[0154] 如果 index = 2,那么 i = 2,Ai=A2,此时 R1=X_1,R2 = Z_1;
[0155] 如果 index = 3,那么 i = 3,Ai=A3,此时 R1=Y_1,R2 = Z_1。
[0156] 其中,index是我们设定的一个变量,X_1、Y_1、Z_1表示修正重组后的状态值矩阵, P (1)表示明文图像的第一个像素值,mod (a,b)表示a对b取模,i G [ 1,3 ]。
[0157] 本实施例中,P(I)的值为162,通过选取规则得到index的值为1,所WR1=X_1,R2 = Y_l〇
[0158] 步骤4.将明文图像P的八个位平面,重组为大小为256X2048的矩阵U,
[0159] 令D( i,j) = [U( i,2* j-1),U( i,2* j)],即将U中每两个元素为一组作为D中的一个 元素,i G [ 1,256],j G [ 1,1024],具体过程如下:明文图像
[0160]
[0161] 其中,P表示明文图像,PO~P7表示明文图像P的8个位平面,U表示将8个位平面按 行重组后得到的矩阵,D表示将U中每两个元素看为一组后获得的矩阵,始表示明文图像P 的第(i,j)个元素转换为二进制后的第t位数值,tG[0,7]。
[0162] 步骤5.将矩阵D、R1、R2分别分割成4 X 16个分块矩阵,每个分块矩阵的大小为64 X 64,并将分割后的矩阵分别按行重组为大小为1X64的一维矩阵并记为0_1、心1、1?_2,其中 用0_1山、3_1比]、1?_2山分别表示0_1、3_1、1?_2中第k块的分块矩阵,运里k=l,2,..., 64,具体过程如下:
[0163] 对矩阵D进行分块:
[0164]
[
[
[0167] 同理,参考获得D_1比]的方法,也可W获得R_1比]、R_2[k]对应的分块矩阵,其中P G[l,4],qG[l,16]。
[016引步骤6.从矩阵W_1的第一个元素开始按行依次选取2mn = 2 X 64 X 64 = 8192个元 素,重新组成大小为64X128的矩阵,并将该矩阵作为元胞自动机演变的初始构型C<^其中, 元胞自动机(Cellular Automa化,简称CA)是一种在时间和空间上都离散的动力系统,具有 结构简单、并行性好等优点。每个元胞由简单的与、或等逻辑运算组成,运算简单。元胞自动 机可W用式CA= (C,S,V,F)的四元组来表示,其中:C代表元胞空间,S代表元胞状态空间,V 代表元胞的邻域组合,F化亲局部掉換巧敬。对于邻域半径r = l的一维元胞自动机来说,它 的状态转移函数可由式
来表示,是1、S;、爲I是S个输入变量,分别 表示元胞在t时刻在位置i-1,i和i+1处的元胞状态,式"代表元胞在t+1时刻在位置i处的元 胞状态,它们的值只能是0或1两种状态。
[0169] 二维元胞自动机是将元胞空间划分为方形网络,对于半径为1的Von化umann邻居 类型的二维元胞自动机来说,它的状态转移函数可由式巧 来表示,式中萌、取.、而_,、勒,,,冷4分别表示t时刻元胞在位置。,如、。-1,^、。^-- 1)、( i+1,j)、( i,j+1)处的状态,式^表示t+1时刻元胞在位置(i,j)处的状态。
[0170] 元胞自动机的演化特性是通过规则来决定的,运里规则又被称为局部状态转移函 数。对于邻域半径r=l的一维元胞自动机来说,其状态值5,%、<、成1的值只能是0或1,因 此它一共有28 = 256种规则。如果将fi的每种可能列成真值表的形式,就可W确定fi属于几 号规则,其中80号演变规则的真值表如下表所示:表1邻域半径为1的一维元胞自动机80号 规则真值表
[0171]
[0172] 元胞演变的规则号可W用8位二进制数来表示,如上表80号规则真值表所示,化为 二进制为(〇1〇1〇〇〇〇)2=(80)1〇,规则号表示为简化的十进制形式如
所 示。同理,一维元胞自动机的其它规则也可按照同样的方法来确定。
[0173] 获得元胞初始构型护的整个过程如下所示:
[0174] 从¥_1的第一个元素开始按行选取8192个元素(虚线所示),接着将其重组为64 X 128的矩阵,即为护:
[0175]
[0176] 步骤7.对初始构型护进行演变,其中Ck代表第k次演变后得到的构型,特别的是在 进行第k次演变时,演变规则由第k-1次经过扩散后获得的DNA矩阵块来决定,k=l,2, ..., 64,其中,改进的二维元胞自动机像一维元胞自动机一样,二维元胞自动机邻域的大小也可 W用半径r来表示,但定义较为复杂且演化规则的数量和复杂度会随着邻域内元胞数目的 增加而成指数增长,运在一定程度上增强了算法的安全性,但是同时也极大的增加了算法 的计算量,对献杰掉務巧敬讲行修放得到公式:
[0177]
,
[0178] 通过该公式来决定元胞演变的规则,其中,式表示在t+1时刻处于位置(i,j)处的 中屯、元胞的状态值,幾y表示在时刻t处于位置(i,j)处的中屯、元胞的状态值, 取1.;、成,_1、义W、或,+1表示在时刻t处于中屯、元胞的上、左、下、右的邻居元胞的状态值, ^¥1、¥1\¥^¥0、¥1?是取值为0和1的变量。如果1=1,表示规则是非线性规则,否则就是线性 规贝IJ。VM、VT、化、VD、VR分别表示中间、上、左、下、右五个元胞,运五个变量的值决定哪些元 胞参与中间元胞状态值的更新。我们就用运6个变量的值来决定每种可能的规则。例如化、 VM、VT、化、VD、VR) = ( 001110) 2 =( 14) IQ,该规则就称为规则14,将上述对状态转移函数进行 修改得到的公式简化为公式:巧=卑由于有六个变量,所W-共有26 = 64种规则,在保证安全性的前提下,极大的降低了计算量,提高了加密效率。其中,L、VM、VT、 VL、VD、VR变量的值可W通过前一个DNA分块矩阵求得,相当于通过加密块来决定元胞更新 的规则,规则数通过如下公式获得:
[0179]
[0180] 其中,rule化)表示元胞进行第k次演变时的规则数,DNA巧化-1))表示前一个经过 扩散后获得的DNA矩阵块,sum(DNA化(k)))表示对第k个扩散后的DNA矩阵的每个元素的 ASCII码值求和,当k=l时,E(0)=C〇,k=l,2, . . .,pXq。
[0181] 接下来将rule化)转变为二进制,根据上述对状态转移函数进行修改得到公式的 内容即可求得L、VM、¥1\¥^¥0、¥如勺值,此时元胞演变的函数也就确定了下来。
[0182] 一个具体的例子如下:
[0183] 假定
,当 k = l 时,;rule(l)=mod(sum(C°),64) = ll,将(11)10 转变为二进制(〇〇1〇11)2,可得1 = 0、¥]? = 0、¥1 = 1、化=0、¥0=1、¥1?=1,根据1^、¥]\1、¥1'、化、 VD、VR的值可得此时元胞演变的公式变为:巧=茸Lj货成@《,,1,根据此规则对元胞进 行第一次演变得
'假定经过第一次扩散后得到的DNA矩阵可表示为
[0184]
那么
[01 化]rule(2) =mod(sum(DNA化(1))),64)
[01 化]=mod((84+65+84+67+84+67+67+67+65+71巧1+67),64)
[0187] =27,
[018 引 将(27)10 转变为二进制(011011)2,可得1 = 0、¥]?=1、¥1 = 1、化=0、¥0=1、¥尺=1, 根据L、VM、VT、VL、VD、VR的值可得此时元胞演变的公式为:
[0189] ,接着对元胞进行第二次演变可得:
[0190] 1可W求得任意次演变的元胞构型。
[0191] 步骤8中将D_1中第k块分块矩阵D_1比]按照R_1比]中的编码规则进行DNA编码,并 将编码后的矩阵记为DNA(D_l[k]);对演变得到的元胞构型Ck按照分块矩阵R_2[k]中对应 的编码规则进行DNA编码,并将编码后的元素记为DNA(Ck)的具体步骤如下:
[0192] 对0_1比](此时k假定为5)进行DNA编码的一个具体的例子如下:
[0193] 假定
,那么根据D_l[5]中 的元素在3_1 [5]中对应的编码规则可得^
同理,任意的0_1
[k]、R_l[k]也可W求得。
[0194] 步骤9.对得到的编码矩阵DNA(D_1比])进行扩散操作,其具体步骤如下:
[01M]通过如下对得到的DNA矩阵进行扩散操作,
[0196]
[0197] DNA化比])表示第k块经过加密后的图像的DNA编码矩阵,DNA化比-1])表示其前一 个加密后的DNA编码矩阵,DNA(Ck)表示元胞经过第k次演变并且经过DNA编码后的编码矩 阵,DNA(D_l[k])表示对D_1中第k块矩阵经过编码的DNA矩阵,k=l,2,. . .,64。
[019引步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密。
[0199] 步骤11.将加密过的所有分块DNA矩阵重组为256 X 1024的矩阵并按照编码规则矩 阵Rl对应的规则数进行DNA解码操作,可W得到一个大小为256 X 2048的二进制矩阵Ql,然 后对矩阵Ql进行十进制转换操作,可W得到一个大小为256 X 256的十进制密文矩阵Q2,即 为加密后的密文图像。
[0200] 一个具体的例子如下:
[0201] 假定加密过后的DM矩阵有两个,分别为
巧应Rl中的解码规则分 经过解码后的矩阵
,接着转化为 十进制分别为
[0202] -个好的加密算法应该能够抵抗各种攻击,密钥空间足够大,密钥的敏感性足够 高。下面对本发明的图像加密算法进行安全性分析。
[0203] 1.密钥空间足够大,足W抵抗穷举攻击
[0204] 混浊系统对初始条件和控制参数极其的敏感,任何微小的初始偏差都会被指数式 放大,因此混浊加密算法的安全性与密钥空间有很大关系。一般来说,密钥空间越大,其抵 抗穷举攻击的能力也就越强。本文密钥具体包括:1)由甜A256函数产生的256位哈希值。2) 舍弃的忆阻混浊序列的个数NO。3)用于选取DNA编码规则矩阵Rl和R2的像素值P( 1)(注:P (1)代表明文图像的第一个像素值)。若设置精度为i(ri4,则密钥空间至少为2i28,可见密钥 空间足够大,能够有效的抵御穷举攻击。
[0205] 2.密钥敏感性高
[0206] 混浊加密的安全性,在于它对秘钥的敏感性,也就是说,当攻击者用一个跟秘钥很 相近的数据进行图像破解时,也不能恢复出原始的图像。附图2(d)、2(e)、2(f)为秘钥敏感 性头验,其中忆阻混浊系统枉制参数日= 30、b = 36、c = 0. l、d = 2.5、e = 3.5、m日二-0.5、mi二- 0.1,选取加密所需矩阵R1、R2的像素值P(I) = 162W及正确的256位哈希值密钥(十进制表 示)Key = 38 40 143 225 62 238 224 198 186 175 141 161 200 194 9590 195 105 160 153 70 86 213 158 70 5 227 208 71 103 35 233。附图2(d)是当其余初始值不变,令系 统参数6 = 3.50000000001时的解密图像。图2(e)和2(f)是当其余初始值不变,分别将密钥 Key第一位(将38改为39)和最后一位(将233改为234)改变后的解密图像。从解密的效果图 片来看,此加密算法对密钥的敏感性极高,加密安全性也更好。
[0207] 3.密文图像的灰度直方图平滑且均匀,抗统计分析攻击能力强。
[0208] 直方图描述了数字图像中所有灰度级的像素出现的频率。一个好的图像加密算法 在对图像进行加密后,得到的密文图像的灰度直方图应该是平滑且均匀的,运样可W防止 窃密者通过直方图的漏桐来破解图像。附图3(a)表示明文图像的直方图;图3(b)表示加密 图像的直方图。从图中可W看出,加密前图像的像素值分布极不均匀,而加密后的像素值平 滑且均匀的分布在[0,25引中,能够有效抵御统计分析的攻击。
[0209] 4.原始图像相邻像素高度相关,加密后图像相邻像素相关系数接近于0,基本不相 关。
[0210] 为了分析明文图像和密文图像相邻像素的相关性,引入相邻像素的相关系数。相 关系数越大,说明相邻像素的相关性越大;反之,相邻像素的相关性越小。从图像中分别随 机选取10000对水平、垂直和对角方向相邻像素对,用如下公式定量计算相邻像素的相关系 数:
[0211]
[0212]
[0213] 式中,x、y分别表示图像中相邻两个像素的像素值,D(X)表示像素值的均方差,E (X)是像素值的平均值,cov(x,y)是相关函数,Rx,y是相邻两个像素的相关系数。
[0214] 其中,点(x,y)处测试结果如附图4(a)和4(b)所示,图4(a)为原始图像水平方向上 相邻像素的相关性分析图,图4(b)为加密图像水平方向上相邻像素的相关性分析图。
[0215] 明文、密文相关性对比见下表:
[0217] ~可W看出明文图像相邻像素是高度相关的,相关系数接近1。而加密图像的相邻相 关系数接近于0,相邻像素间相关性明显减小,此时明文的统计特性已被扩散到随机的密文 中,可W有效抵御统计攻击。
[0218] 5.NPCR大于99% ,UACI大于33%,抗差分攻击能力强。
[0219] 算法对明文的敏感性越强,抵抗差分攻击的能力也就越强,可W用像素数改变率 NPCR(Numbe;r of Pixels畑ange Rate)和归一化像素值平均改变强度UACI (加 if ied Average Changing Intensity)度量加密算法对明文的敏感性。计算公式如下:
[0220]
[0221]式中,M和N表示图像的行数和列数,Cl表示原来的密文图像,C2表示改变明文后得 到的密文图像,Ci(i,j)表示明文图像在坐标(i,j)处的像素值,C2(i,j)表示密文图像在坐 标Q J)处的像素值。D表示和密文图像大小一样的矩阵,DQ J)的值由CiQ J)和C2(i,j)决 定。若Ci(i, j)=C2(i, j),那么D(i, j)=0;若CiQ, j)声C2(i, j),那么D(i, j) = l。本发明中, 将原始明文图像的第一个像素值改为223后得到一个新的明文图像,然后将运两个图像用 同样的密钥加密形成相应的密文图像Cl和C2。计算密文图像的NPCR和UACI值如下表所示,可 W看到NPCR的值大于99% ,UACI的值大于33%。运表明,即使对原始图像做微小的变化,通 过本算法进行加密后,密文图像也会有明显的差异。因此,本算法可W有效抵抗差分攻击, 密文图像的NPCR和UACI值: 「AOOOl
'[0223] 6.密文图像的信息赌非常接近理^值8,加密算法安全性好。 '
[0224] 信息赌是反映信息随机性的重要度量指标,信息源m的信息赌计算公式为:
[0225]
[0226] 其中,P(HU)表示符号HU出现的概率,2"是信息源m的总状态数。信息加密之后,信息 赌的期望值为8。如果加密图像信息赌非常接近8,则表明该密文图像接近随机分布。
[0227] 对标准2 5 6 X 2 5 6的Lena图像用本发明算法进行加密,密文图像的信息赌为 7.9971,非常接近理想值8,运表明本发明提供的加密算法具有很好的安全性。
[0228] 实施例四:参见图5(a)~7(b)所示,在本实施例中,采用的编程软件为Matlab R2014a,选取大小为512 X 512的Baboon图像为实验对象,图像加密的过程如下:
[0229] 步骤1.利用細A256函数对大小为512 X 512的Baboon灰度图像P进行计算,得到一 组256位的哈希值(十六进制表不为[8 e49fb5ccd0a5aac680505e 4c01992cee49e5fc8417245686cdbdee47c254a6 5]),并将它作为图像密钥Key,然后将256位的Key换算为32个十进制数ki,k2,. . .,k32(142 73 251 92 205 10 90 172 104 5 5 228 192 25 146 206 228 158 95 200 65 114 69 104 108 219 222 228124 37 74 101),用来计算四维忆阻超混浊系统的初始状态值。
[0230] 步骤2.将得到的初始状态值(XO = 0.5664,yo = 1.0664,ZO = 1.0430,WO = 0.2008) 带入忆阻超混浊系统进行迭代,可W得到4个大小分别为1 X 1048576的状态值矩阵X =
[Xl,l ,X1,2 , . . . , Xl,1048 已 76],Y=[yi,l,yi,2, . . . ,yi,1048已 76],Z=[Z1,1,Z1,2, . . . , Zl,104 化 76] ,W = . . .,W1,1048日76],接着对得到的状态矩阵X、Y、Z进行修正得矩阵X1 = [X1',1,X1 ',2 , . . . ,Xl,,104 化 76]、Yl = [yi,,l,yi,,2, . . . ,yi,,1048已 76]、Z1 = [Z1,,1,Z1,,2, . . . ,Z1,,104 化 76],使 得xl',h、yl',h、zl',hG[l,8],对状态值矩阵W进行修正得矩阵Wl = [wl',l,wl',2,..., W1',1D48日76],使得wi',hG [0,l],hG [1,1048576],进而再将乂1、¥1、21、¥1按行重组为大小为 512 X 2048的矩阵 X_1,Y_1,Z_1,W_1。
[0231 ] 步骤3.对修正重组后的矩阵X_1、Y_1、Z_1进行分组,记Al = [X_l,Y_1 ],A2= [X_l, Z_1 ],A3 = [Y_1, Z_1 ],接着利用明文的束象素来选取将要用于DNA动态编码所需的规 则数矩阵Rl 和R2,并使Rl = Ai (1),R2=Ai (2),i = 1,2,3。
[023^ 步骤4.将明文图像P的八个位平面,重组为大小为512 X4096的矩阵U,令D(i,j)= [U(i,U(i,2*j)],即将U中每两个元素为一组作为D中的一个元素 ,i G [1,512],jG [1,2048]。
[0233]步骤5.将矩阵D、R1、R2分别分割成8 X 32个分块矩阵,每个分块矩阵的大小为64 X 64,并将分割后的矩阵记为0_1、心1、心2,其中用0_1比]、3_1山、1?_2比]分别表示0_1、心1、 R_2中第k块的分块矩阵,运里k=l,2,. . .,256。
[0234] 步骤6.从状态值矩阵W_1的第一个元素开始按行依次选取8192个元素,重新组成 大小为64X128的矩阵,并将它作为元胞自动机演变的初始构型护。
[0235] 步骤7.对初始构型护进行演变,其中Ck代表第k次演变后得到的构型,特别的是在 进行第k次演变时,演变规则由第k-1次经过扩散后获得的DNA矩阵来决定,k=l,2, ..., 256。
[0236] 步骤8.将0_1中第k块分块矩阵D_1 [k]按照R_1 [k]中的编码规则进行DNA编码,并 将编码后的矩阵记为DNA(D_l[k]);对演变得到的元胞构型Ck按照分块矩阵R_2[k]中对应 的编码规则进行DNA编码,并将编码后的元素记为DNA(Ck)。
[0237] 步骤9.对得到的编码矩阵DNA(D_1比])进行扩散操作。
[023引步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密。
[0239] 步骤11.将加密过的所有分块DNA矩阵重组为512X2048的矩阵并按照编码规则矩 阵Rl对应的规则数进行DNA解码操作,可W得到一个大小为512X4096的二进制矩阵Ql,然 后对矩阵Ql进行十进制转换操作,可W得到一个大小为512X512的十进制密文矩阵Q2,即 为加密后的密文图像。
[0240] 具体步骤可参考实施例二中所述。下面对本发明的图像加密算法进行安全性分 析。
[0241 ] 1.密钥空间足够大,足W抵抗穷举攻击
[0242] 2.密钥敏感性高
[0243] 附图5 (d)、5 (e)、5 (f)为初始值敏感性实验,其中忆阻混浊系统参数a = 30、b = 36、 〇 = 0.1、(1 = 2.5、6 = 3.5、111日=-0.5、1111 = -0.1,选取加密所需矩阵1?1、1?2的像素值?(1) = 147 W及正确的256位哈希值密钥(十进制表示化巧= 142 73 251 92 205 10 90 172 104 5 5 228 192 25 146 206 228 158 95 200 65 114 69 104 108 219 222228 124 37 74 101〇 附图5(d)是当其余初始值不变,令初始值mo = -0.500000000001时的解密图像。图5 (e)和5 (f)是当其余初始值不变,分别将密钥Key的第一位(将142改为143)和最后一位(将101改为 102)改变后的解密图像。从解密的效果图片来看,加密算法对密钥极度敏感,算法安全性也 更好。
[0244] 3.密文图像的灰度直方图平滑且均匀,抗统计分析攻击能力强。
[0245] 附图6(a)表示明文图像的直方图;图6(b)表示加密图像的直方图。从图中可W看 出,加密前图像的像素值分布极不均匀,而加密后的像素值平滑且均匀的分布在[0,255] 中,能够有效抵御统计分析的攻击。
[0246] 4.原始图像相邻像素高度相关,加密后图像相邻像素相关系数接近于0,基本不相 关。
[0247] 点(x,y)处测试结果如附图7(a)和7(b)所示。图7(a)为原始图像水平方向上相邻 像素的相关性分析图,图7(b)为加密图像水平方向上相邻像素的相关性分析图。明文、密文 相关性对比见下表:
[0249]可W看出明文图像相邻像素是高度相关的,相关系数接近1。而加密图像的相邻像 素相关系数接近于0,相邻像素间相关性明显减小,此时明文的统计特性已被扩散到随机的 密文中,可W有效抵御统计攻击。
[02加]5.NPCR大于99% ,UACI大于33%,抗差分攻击能力强。
[0251]本发明中,将原始明文图像的第一个像素值改为148后得到一个新的明文图像,然 后将运两个图像用同样的密钥加密形成相应的密文图像Cl和C2。计算密文图像的NPCR和 UACI值如下表所示,可W看到NPCR的值大于99%,UACI的值大于33%。运表明,即使对原始 图像做微小的变化,通过本算法进行加密后,密文图像也会有明显的差异。因此,本算法可 W有效抵抗差分攻击。密文图像的NPCR和UACI值:
[0253] 6.密文图像的信息赌非常接近理想值8,加密算法安全性好。
[0254]对标准512 X 512的Baboon图像用本发明算法进行加密,密文图像信息赌为 7.9992,非常接近理想值8,运表明本发明提供的加密算法具有很好的安全性。
[0255] 实施例五:参见图8(a)~10(b)所示,在本实施例中,采用的编程软件为MatIab R2014a,选取大小为256 X 320的City图像为实验对象,对City图像加密的过程如下:
[0256] 步骤1.利用甜A256函数对大小为256 X 320的City灰度图像P进行计算,得到一组 256位的哈希值(十六进制表示为k b90e3cl4fbblcececlbae2c 69e8723c221caf905ec0d2d65303 1ac99c810fd f]),并将它作为图像密钥Key,然后将256位的Key换算为32个十进制数ki,k2, . . .,k32 (203144 227 193 79 187 28 236 236 27 174 44 105 232 114 60 34 28 175 144 94 192 210 214 83 3 26 201 156 129 15 223),用来计算忆阻超混浊系统的初始状态值。
[0257] 步骤 2.将得到的初始状态值(XO = O. 4883,yo = 1.2656,ZO = O. 6055,wo = 0.2166) 带入忆阻超混浊系统进行迭代,可W得到4个大小分别为1X327680的状态值矩阵X=[xi,i, Xl,2 , . . . , Xl,327680] ,Y=[yi,l,yi,2, . . . , yi,327680],Z=[Z1,1,Z1,2, . . . , Zl,327680] ,W= [W1,1 , 讯1,2,...,*1,32768日],接着对得到的矩阵乂、¥、2进行修正得矩阵乂1 = ^1',1,义1',2,..., Xl ' ,327680]、Yl = [yi',l,yi',2, . . . ,yi' ,327680]、Z1 = [Z1',1,Z1',2, . . . ,Z1' ,327680],使得 Xl ' ,h、 yi',h、Zl',hG[l,8],对状态值矩阵 W 进行修正得矩阵 Wl = [W1 ' ,1 ,W1 ' ,2 , . . . ,W1 ' ,327680],使得 Wi ' ,hG [0,I ],h G [ I,327680],进而再将Xl、Y1、Z1、W1按行重组为大小为256 X 1280的矩阵 X_1、Y_1、Z_1、W_1。
[0巧引步骤3.对修正重组后的矩阵X_1、Y_1、Z_1进行分组,记Al = [X_l,Y_1 ],A2= [X_l, Z_1],A3=[Y_1,Z_1],接着利用明文的第一个像素来选取将要用于DNA动态编码所需的规 则数矩阵Rl 和R2,并使Rl = Ai (1),R2=Ai (2),i = 1,2,3。
[0259] 步骤4.将明文图像P的八个位平面,重组为大小为256X2560的矩阵U,令D(i,j) =
[U( i,2* j-1),U( i,2* j)],即将U中每两个元素为一组作为D中的一个元素 ,i G [ I,256],j G [1,1280]。
[0260]步骤5.将矩阵D、R1、R2分别分割成4 X 20个分块矩阵,每个分块矩阵的大小为64 X 64,并将分割后的矩阵记为0_1、心1、心2,其中用0_1比]、3_1山、1?_2比]分别表示0_1、心1、 R_2中第k块的分块矩阵,运里k=l,2,. . .,80。
[0%1 ] 步骤6.从状态值矩阵Wl中依次选取8192个元素,重新组成大小为64 X 128的矩阵, 并将该矩阵作为元胞自动机演变的初始构型。*^
[0262] 步骤7.对初始构型护进行演变,其中Ck代表第k次演变后得到的构型,特别的是在 进行第k次演变时,演变规则由第k-1次经过扩散后获得的DNA矩阵块来决定,k=l,2, ..., 80 O
[0263] 步骤8.将0_1中第k块分块矩阵D_1 [k]按照R_1 [k]中的编码规则进行DNA编码,并 将编码后的矩阵记为DNA(D_l[k]);对演变得到的元胞构型Ck按照分块矩阵R_2[k]中对应 的编码规则进行DNA编码,并将编码后的矩阵记为DNA(Ck)。
[0264] 步骤9.对得到的编码矩阵DNA(D_1比])进行扩散操作。
[0265] 步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密。
[0266] 步骤11.将加密过的所有分块DNA矩阵重组为256X1280的矩阵并按照编码规则矩 阵Rl对应的规则数进行DNA解码操作,可W得到一个大小为256X2560的二进制矩阵Ql,然 后对矩阵Ql进行十进制转换操作,可W得到一个大小为256 X 320的十进制密文矩阵Q2,即 为加密后的密文图像。
[0267] 具体步骤可参考实施例二中所述。下面对本发明的图像加密算法进行安全性分 析:
[0268] 1.密钥空间足够大,足W抵抗穷举攻击;
[0269] 2.密钥敏感性高,附图8(d)、8(e)、8(f)为初始值敏感性实验,其中忆阻混浊系统 控制参数a = 30、b = 36、c = 0.1、d = 2.5、e = 3.5、m〇 = -〇.5、mi = -〇.l,选取加密所需矩阵 Rl、 R 2的像素值P ( 1 ) = 1 0 2 W及正确的2 5 6位哈希值密钥K e y (十进制表示)= 2031442271937918728236236271744410523211460:3428175144941922102148332620115612 915223。附图8(d)是当其余初始值不变,令初始值6 = 3.500000000001时的解密图像。图8 (e)和8(f)是当其余初始值不变,分别将密钥Key的第一位(将203改为204)和最后一位(将 223改为224)改变后的解密图像。从解密的效果图片来看,此加密算法对密钥高度敏感,算 法安全性也更好;
[0270] 3.密文图像的灰度直方图平滑且均匀,抗统计分析攻击能力强,附图9(a)表示明 文图像的直方图;图9(b)表示加密图像的直方图。从图中可W看出,加密前图像的像素值分 布极不均匀,而加密后的像素值平滑且均匀的分布在[0,25引中,能够有效抵御统计分析的 攻击;
[0271] 4.原始图像相邻像素高度相关,加密后图像相邻像素相关系数接近于0,基本不相 关,点(x,y)处测试结果如附图10(a)和10(b)所示。图10(a)为原始图像水平方向上相邻像 素的相关性分析图,图10(b)为加密图像水平方向上相邻像素的相关性分析图。明文、密文 相关性对比见下表: 「0巧?1
[0273] 可W看出明文图像相邻像素是高度相关的,而加密图像的相邻像素的相关系数接 近于0,相邻像素间相关性明显减小,此时明文的统计特性已被扩散到随机的密文中,可W 有效抵御统计攻击;
[0274] 5.NPCR大于99%,UACI大于33%,抗差分攻击能力强,本发明中,将原始明文图像 的第一个像素值改为148后得到一个新的明文图像,然后将运两个图像用同样的密钥加密 形成相应的密文图像Cl和C2。计算密文图像的NPCR和UACI值如下表所示,可W看到NPCR的值 大于99% ,UACI的值大于33%。运表明,即使对原始图像做微小的变化,通过本算法进行加 密后,密文图像也会有明显的差异。因此,本算法可W有效抵抗差分攻击。密文图像的NPCR 和UACI值: 「0勺7^;1
L0276」6.密文阁像的信恳觸非帯接近理想值8,加密算法安全性好,对标准256 X 320的 City灰度图像用本发明算法进行加密,密文图像信息赌为7.9976,非常接近理想值8,运表 明本发明提供的加密算法具有很好的安全性。
[0277] 由上述实施例可知,本发明提供的加密算法可对M = N或M声N的灰度图像进行高安 全的加密,在信息加密领域具有广阔的应用前景。
[0278] 本发明并不局限于上述【具体实施方式】,本领域技术人员还可据此做出多种变化, 但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。
【主权项】
1. 一种基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算法,其特征在于:包 含如下步骤: 步骤1.利用SHA256函数对大小为M X N的明文图像P进行计算,得到一组256位的哈希值 并将它作为图像密钥Key,将256位的图像密钥Key换算为32个十进制数lu,k2,...,k32,计算 基于Chua电路的四维忆阻超混沌系统的初始状态值; 步骤2.将得到的初始状态值带入忆阻超混沌系统进行迭代,得到4个大小分别为IX 4MN的状态值矩阵X=[X1,1,X1,2, · · ·,Xl,4MN],Y=[yi,l,yi,2, · · ·,yi,4MN],Z=[Zl,l,Zl,2, · · ·, Z1,4MN],W = [W1,1,W1,2, · · ·,W1,4MN],对状态值矩阵X、Y、Z进行修正得矩阵Xl = [X' 1,1,X '1,2,· · ·,X' 1,4MN]、Y1 = [y' 1,1 ,y' 1,2,· · ·,y' 1,4MN]、Z1 = [Z' 1,1,Z' 1,2,· · ·,Z' 1,4MN],使得X' l,h、 ,对状态值矩阵W进行修正得矩阵Wl = [W' 1,1 ,W' 1,2,· · ·,W' 1,4MN],使得 界/1,1^[〇,1],11£[1,4]^],将乂1、¥1、21、11分别按行重组为大小为1\4_勺矩阵乂_1,¥_1,2_ 步骤3 ·对重组后的矩阵X_1、Y_1、Z j进行分组,记Al = [X_l,Y_1 ],A2= [X_l,Z_1 ],A3 = [Y_1,Z_1],利用明文的第一个像素选取将要用于DNA动态编码所需的规则数矩阵Rl和 R2,并使Rl =Ai(I),R2=Ai(2),i = l,2,3; 步骤4.将明文图像P按位展开,得到八个位平面并重组为大小为MX8N的矩阵U,令D(i, j) = [U( i,2* j-1),U( i,2* j)],将矩阵U中每两个元素为一组,作为D中的一个元素,i e [ 1, M],je[l,4N]; 步骤5.将矩阵D、Rl、R2分别分割成p X q个分块矩阵,每个分块矩阵的大小为m X η,且满 足mXp = M,nXq = 4N,并将分割后的矩阵分别按行重组为大小为I Xpq的一维矩阵并记为 〇_1、1?_1、1?_2,其中用0_1[1^]、1?_1[1^]、1?_2[1^]分别表示0_1、1?_1、1?_2中第1^块的分块矩阵沽 =1,2, . . . ,pXq; 步骤6.从矩阵Wj的第一个元素开始按行依次选取2mn个元素,重新组成大小为m X 2n 的矩阵,并将该矩阵作为元胞自动机演变的初始构型Ct3; 步骤7.对初始构型Ct3进行演变,其中Ck代表第k次演变后得到的构型,在进行第k次演变 时,演变规则由第k-Ι次经过扩散后获得的DNA图像块决定,k=l,2, ...,pXq; 步骤8.将0_1中第k块分块矩阵D_1 [k]按照R_1中第k块分块矩阵R_1 [k]中的编码规则 进行DNA编码,并将编码后的矩阵记为DNA(D_l[k]);对演变得到的元胞构型Ck按照R_2中第 k块分块矩阵R_2[k]中对应的编码规则进行DNA编码,并将编码后的矩阵记为DNA(C k),k = 1,2, . . . ,pXq; 步骤9.对得到的编码矩阵DNA(D_1 [k])进行扩散操作; 步骤10.令k = k+l,循环执行步骤7-10,直到所有的分块都完成DNA加密; 步骤11.将加密过的所有分块DNA矩阵重组为M X 4N的矩阵并按照规则数矩阵Rl中对应 的规则数进行DNA解码操作,得到一个大小为MX8N的二进制矩阵Ql,然后对矩阵Ql进行十 进制转换操作,得到一个大小为MXN的十进制密文矩阵Q2,即为加密后的密文图像。2. 根据权利要求1所述的基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算 法,其特征在于:所述步骤1中基于Chua电路的四维忆阻超混沌系统的表达式为:1,h(x)=mix + 0.5(m〇_mi) X ( |x+l |-|x_l I ), W,y,Z,W代表混纯系统的状态变量,8、13、(3、(1、6、1]1()、1]11是混 纯系统的控制参数,并且当& = 30 4 = 36,(1 = 2.5,6 = 3.5,1]1() = -0.5,1]11 = -0.1且(3£[0.073, 0.162]时,系统处于超混沌状态;并通过公式:计算基于Chua电路的四维忆阻超混 纯系统的状态变量的初始状态值XQ,y〇,Z()和WQ,其中,sum(k21,k22, · · ·,k32)表不对k21, k22, · · ·,k32进行求和,max(k21,k22, · · ·,k32)表示求k21,k22, · · ·,k32的最大值,1?3^代表取 X和y的异或。3. 根据权利要求2所述的基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算 法,其特征在于: 所述步骤2具体包含如下步骤: 步骤2.1、将通过步骤1计算得到的初始状态值XQ,yo,ZQ和wo带入基于Chua电路的四维忆 阻超混沌系统迭代NO次,其中Λ·? = 500+ //〇〇/'(^^^-^_),得到大小分别为I X4MN的 32 状态值矩阵X= [X1,1,X1,2, · · ·,X1,4_],Y= [yi,l,yi,2, · · ·,yi,4MN],Ζ= [Ζ1,1,Ζ1,2, · · ·,Z1,4MN], W=[wi,l,wi,2, · · ·,W1,4_]; 步骤2.2、对状态值矩阵乂、¥、2、1分别通过修正公式进行修正得矩阵乂1、¥1、21、11,其中 修正公式如下: Xl =mod( (abs(xi,h)-f loor(xi,h)) X IO14j 8)+1 ? Yl=mod( (abs(yi,h)_floor(yi,h)) X IO14),8)+l, Zl =mod( (abs(zi,h)-floor(zi,h)) X IO14j 8)+1 ? ffl=mod((abs(wi,h)-floor(wi,h)) X IO14j 2) ? 其中,11,1^1,1^1,1^1,11分别代表状态值矩阵)(、¥^、¥中的第11个值,1^[11\4幻 ;&1^ (X)表示对X取绝对值,floor (X)表示取不大于X的最大整数,mod(a,b)表示&对13的取模运 算; 步骤2.3、将)(1、¥1、21、11分别按行重组为大小为1\4?^的矩阵乂_1,¥_1,2_1,¥_1。4. 根据权利要求3所述的基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算 法,其特征在于: 步骤7具体包含如下步骤: 步骤7.1、通过如下公式:决定元胞自动机演变规则,其中,欠表示在t+Ι时刻处于位置(i,j)处的中心元胞的状 态值Λ/表示在时刻t处于位置(i,j)处的中心元胞的状态值,式^、fp、tu、硬^分 别表示在时亥丨j t处于中心元胞的上、左、下、右的邻居元胞的状态值,L、VM、VT、VL、VD、VR是值 为〇或1的变量;如果L= 1,表示规则是非线性规则,否则就是线性规则,VM、VT、VL、VD、VR* 别控制中间、上、左、下、右五个元胞是否参与元胞演变过程,如果¥1、¥1\¥1^0、¥1?中对应的 值为〇,则表示其对应的元胞不参与演变;1、¥1、¥1\¥1^、¥0、¥1?的值由步骤7.2中的演变规则 rule(k)决定; 步骤7.2、通过公式:确定元胞自动机演变规则数,其中,rule(k)表示元胞进行第k次演变时的规则数,DNA (E(k-1))表示前一个经过扩散后获得的DNA分块矩阵,sum(DNA(E(k)))表示对第k个扩散后 的DNA矩阵的每个元素的ASCII码值求和,当k=l时,E(O) =Ct3 ,Ct3表示元胞的初始构型,k = 1,2,. . . ,pXq; 步骤7.3、将步骤7.2中计算得到的ruIe (k)转变为二进制,即求得L、VM、VT、VL、VD、VR的 值,同时根据步骤7.1)确定元胞演变的函数。5.根据权利要求4所述的基于忆阻超混沌系统、元胞自动机和DNA计算的图像加密算 法,其特征在于: 所述步骤9中扩散操作具体包含:通过公式: |隱(聊:DN^)糊i⑴_)购' I ΟΝΛ(£·μ]) = DNAtri )Θ DNA(D Ip])十 Ι.)ΝΛ(£|_Α--1]),/c 关 I _ [k])进行扩散操作。
【文档编号】G06T1/00GK106023052SQ201610303944
【公开日】2016年10月12日
【申请日】2016年5月9日
【发明人】柴秀丽, 刘鹏飞, 贾培艳, 甘志华, 杨康, 张苗辉
【申请人】河南大学