CN108898025B - 基于双重置乱和dna编码的混沌图像加密方法 - Google Patents
基于双重置乱和dna编码的混沌图像加密方法 Download PDFInfo
- Publication number
- CN108898025B CN108898025B CN201810659842.6A CN201810659842A CN108898025B CN 108898025 B CN108898025 B CN 108898025B CN 201810659842 A CN201810659842 A CN 201810659842A CN 108898025 B CN108898025 B CN 108898025B
- Authority
- CN
- China
- Prior art keywords
- matrix
- dna
- scrambling
- chaotic
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000000739 chaotic effect Effects 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 39
- 239000011159 matrix material Substances 0.000 claims abstract description 146
- 238000009792 diffusion process Methods 0.000 claims abstract description 48
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 241000282326 Felis catus Species 0.000 claims abstract description 17
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 4
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 150000001875 compounds Chemical class 0.000 claims description 4
- 230000001174 ascending effect Effects 0.000 claims description 3
- 239000002131 composite material Substances 0.000 claims description 3
- 108020004414 DNA Proteins 0.000 abstract description 67
- 238000004422 calculation algorithm Methods 0.000 abstract description 23
- 108091028043 Nucleic acid sequence Proteins 0.000 abstract description 7
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000012163 sequencing technique Methods 0.000 abstract description 2
- 230000035945 sensitivity Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 3
- 101100008044 Caenorhabditis elegans cut-1 gene Proteins 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 2
- 239000006002 Pepper Substances 0.000 description 2
- 241000722363 Piper Species 0.000 description 2
- 235000016761 Piper aduncum Nutrition 0.000 description 2
- 235000017804 Piper guineense Nutrition 0.000 description 2
- 235000008184 Piper nigrum Nutrition 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 238000010008 shearing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及一种基于双重置乱和DNA编码的混沌图像加密方法,首先,将明文图像进行位平面分解并将其进行DNA编码、变形转变为三维DNA矩阵;接着,利用双重置乱操作对三维DNA矩阵进行置乱,该过程将混沌序列的排序置乱与三维猫映射置乱相结合对DNA序列进行位级置乱;然后,将置乱后的三维DNA矩阵执行扩散操作,并将扩散后的矩阵转变为二维DNA矩阵;最后,将二维DNA矩阵进行DNA解码操作得到密文图像。本文利用明文图像的SHA 256哈希函数计算混沌***的初始值,并且所使用的三维猫映射的参数也和明文图像有关,增强了算法抵抗选择明文攻击的能力。实验结果和安全分析表明,该加密方案可以抵御多种已知的攻击,可以有效地保护图像的安全,进一步提高安全等级。
Description
技术领域
本发明涉及图像加密技术领域,特别涉及一种基于双重置乱和DNA编码的混沌图像加密方法。
背景技术
在日常生活学习中,数字图像具有生动、直观等特征,可以更加形象的反映现实世界,因而数字图像被人们大量的使用。当今,随着互联网技术的飞速发展,越来越多的图像信息在网络上传输和存储。在开放共享的网络时代,互联网是一把双刃剑,图像信息通过网络传输和存储给人们带来便利的同时还存在诸多安全隐患,一些不法分子可能会利用网络漏洞非法复制和盗取用户信息、商业机密,甚至国家机密等,这些行为会导致个人信息泄露、公司经济损失,甚至危害到国防安全。数字图像作为医疗、教育、经济和军事等领域的主要载体,所承载的信息有些是极其重要的,这些信息被不法分子窃取,将导致严重的后果。因此,如何解决图像在网络上传输和存储的安全问题已经成为重要话题。图像加密技术就是有效的途径之一。传统的加密算法如AES、DES等,主要用于对文本的加密,并不是专门用于图像信息的加密算法,这些算法只是将其作为二进制数据流来进行加密,没有考虑到数字图像的固有属性如数据量大,冗余度高以及相邻像素之间的相关性强,传统的加密算法加密效率不高,效果不理想。因此寻找一种安全可靠的图像加密方法已经摆在人们面前。目前,将混沌***和其它行之有效的加密手段相结合来对图像进行加密已经成为信息安全研究的一个热点,具有非常大的应用潜力。混沌***是一种非线性***,具有随机性、确定性、遍历性和对初值的高度敏感性等特点。正因为它的这些特点,使它特别适合用于图像加密中。大多数图像加密算法都是采用低维的混沌***,低维混沌***具有结构简单、易于操作且计算速度快的优点,但是低维混沌***由于密钥空间较小,造成算法的安全性不高,故很多学者采用高维的超混沌***来对图像进行加密。超混沌***的动力学行为比低维混沌***更加复杂且难以预测,并且基于超混沌的图像加密算法具有更大的密钥空间,因此超混沌***被逐渐应用于图像加密算法中。
目前,DNA计算被广泛应用于图像加密中。DNA序列不仅组合规则多样而且存在着高度并行性、能量损耗超低性以及信息存储高密度等优点,这使得DNA技术在密码学上具有先天的优势。另外,DNA序列有8种编码规则,但是许多基于DNA的加密算法只是采用其中的某一种固定的编码规则,这就造成了算法的抗穷举攻击能力不强,算法的安全性不高。
发明内容
针对现有技术中的不足,本发明提出一种基于双重置乱和DNA编码的混沌图像加密方法,与传统DNA加密算法中常常采用二维DNA加密,即把明文图像的DNA序列作为二维矩阵进行加密处理不同,及与以往DNA加密算法采用固定的DNA编码和解码规则不同,通过对明文图像的三维DNA矩阵进行置乱和扩散加密操作,同时对明文图像的每个像素采用动态的编码和解码规则,增强抗攻击能力,可抵御多种已知攻击,有效保护图像安全。
按照本发明所提供的设计方案,一种基于双重置乱和DNA编码的混沌图像加密方法,包含如下步骤:
步骤1:针对大小为M×N的明文图像,通过位平面分解得到大小为M×8N的原始矩阵,并利用明文灰度图像的哈希值并结合外置密钥参数获取混沌***初始值,将混沌***初始值带入六维复合超混沌***来获取混沌序列X,Y,Z,U,V和W,并根据混沌序列得到用于DNA编码的编码规则矩阵、用于通过建立元素位置置乱的非线性映射关系进行双重置乱操作的位置索引序列、用于进行扩散操作的扩散立方矩阵和用于进行DNA解码的解码规则矩阵,其中,编码规则矩阵和解码规则矩阵的大小均为M×4N;
步骤2:将原始矩阵按照编码规则矩阵进行DNA编码,获取编码后的二维DNA矩阵;
步骤3:将DNA矩阵转换为大小为r×r×r的立方矩阵,其中,M×4N=r3;
步骤4:依据由位置索引序列建立的元素置乱非线性映射关系,并结合三维猫映射对明文图像的立方矩阵进行双重置乱操作,得到置乱矩阵;
步骤5:依据扩散立方矩阵对置乱矩阵进行扩散操作,得到大小为r×r×r的扩散矩阵;
步骤6:将大小为r×r×r的扩散矩阵转换为大小为M×4N的转换矩阵;
步骤7:对转换矩阵依据解码规则矩阵进行DNA解码,并转换为十进制,得到最终密文图像。
上述的,步骤1中,将明文灰度图像作为SHA 256哈希函数的输入信息,利用输出的哈希值并结合外置密钥参数获取混沌***初始值;将混沌***初始值带入六维复合超混沌***进行迭代,得到大小为1×MN的混沌序列X,Y,Z,U,V和W。
优选的,对混沌序列X,Y,Z和U进行修正,得到修正后用于编码的序列;并对混沌序列Z,U,V和W进行修正,得到修正后用于解码的序列;分别对修正后的序列重新组合,获取包含若干序列的序列组,序列组中的每个序列大小为1×4MN,通过设置变量选取序列组中的序列,并对选取的序列按列优先输出转换为大小为M×4N的编码规则矩阵和解码规则矩阵
上述的,步骤2中,将原始矩阵的第一位平面和第八位平面,第二位平面和第七位平面,第三位平面和第六位平面,第四位平面和第五位平面按照编码规则矩阵进行编码,获得编码后大小为M×4N的DNA矩阵DNA_R,记为DNA_R=[P_BIN(BP(1,8)),P_BIN(BP(2,7)),P_BIN(BP(3,6)),P_BIN(BP(4,5))],其中P_BIN(BP(1,8))表示原始矩阵P_BIN的第一位平面和第八位平面按照编码规则编码后的DNA矩阵。
上述的,步骤4具体包含如下内容:
步骤4.1:选取混沌序列X,Y,Z的前r个元素,得到三个大小为1×r的序列XZ,YZ,ZZ,分别为:XZ=[x1,x2,...,xr],YZ=[y1,y2,...,yr],ZZ=[z1,z2,...,zr]。
步骤4.4:通过设置变量选取序列组S中的序列;
步骤4.5:根据选取的序列建立明文图像的三维DNA矩阵元素置乱的非线性映射关系,对矩阵中的元素进行置乱;
步骤4.6:利用三维猫映射对置乱后的元素进行再次置乱,得到三维置乱矩阵。
上述的,步骤5具体包含如下内容:
步骤5.1:对混沌序列X,Y,Z和U进行修正,得到修正后用于编码的序列;对修正后的序列重新组合,获取包含若干序列的序列组;通过设置变量选取序列组中的序列;
步骤5.2:将选取的序列转化为大小为r×r×r的扩散立方矩阵H,并对扩散立方矩阵H 进行修正,得到修正后的矩阵H′;
步骤5.3:利用预设扩散规则和矩阵H′对明文图像置乱后的三维DNA矩阵执行扩散操作。
优选的,步骤5.2中,对扩散立方矩阵H进行修正的公式表示为:H′=mod(H×1014,4)。
优选的,步骤5.3中对明文图像置乱后的三维DNA矩阵执行扩散操作,具体表示为:N_DNA=D(DNA_R,H′),其中,DNA_R是输入的明文图像的置乱后的三维DNA矩阵, N_DNA为扩散后的矩阵,D(.)表示扩散过程函数。
优选的,预设扩散规则所示为:
本发明的有益效果:
1、本发明在加密方法中,应用六维复合超混沌***来产生加密过程中用于置乱、编码、解码和扩散阶段所需要的混沌序列,通过将混沌***迭代生成的混沌序列用于各加密阶段,避免混沌***的多轮迭代,节约加密时间;并且混沌序列的生成与密钥和明文都紧密相关,即使在密钥相同的情况下,不同明文在各阶段的加密过程所用的混沌序列也会不一样,这就增强了该方案的安全性。另外,超混沌***的初始值是利用明文图像的SHA 256函数值产生的,一方面增加了算法的密钥空间,另一方面也使得混沌序列的产生与明文图像密切相关,提高了算法的安全性。
2、本发明中利用混沌***产生的混沌序列生成DNA的动态编码和解码规则,使图像的每个像素都有不同的编码和解码规则,与其它很多DNA加密采用固定的编码、解码规则相比,该算法可有效抵抗穷举攻击,安全性更强。此外,编码和解码规则矩阵也依赖于明文,增强了算法的抗选择明文和已知明文攻击能力。
3、本发明双重置乱过程中,将基于混沌***的排序置乱与三维猫映射置乱相结合,使得在三维猫映射置乱之前,元素的位置就被打乱,与单纯的猫映射相比,像素置乱位置的随机性更强,安全性也更高,而且所使用的三维猫映射的参数也和明文图像密切相关。
附图说明:
图1为实施例中的图像加密方法流程图;
图2为实施例中256×256的Lena图像的实验结果;
图3为实施例中密钥敏感性测试结果;
图4为实施例中Lena明文图像和密文图像的相邻像素相关性分布图;
图5为实施例中Lena明文图像、密文图像和解密图像的直方图;
图6为实施例中噪声和剪切攻击实验结果。
具体实施方式:
下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。
针对现有DNA图像加密方法中采用某一种固定编码规则造成抗穷举攻击能力不强、安全性不高等情形,本发明实施例,参见图1所示,提供一种基于双重置乱和DNA编码的混沌图像加密方法,包含如下内容:
步骤1:针对大小为M×N的明文图像,通过位平面分解得到大小为M×8N的原始矩阵,并利用明文灰度图像的哈希值并结合外置密钥参数获取混沌***初始值,将混沌***初始值带入六维复合超混沌***来获取混沌序列X,Y,Z,U,V和W,并根据混沌序列得到用于DNA编码的编码规则矩阵、用于通过建立元素位置置乱的非线性映射关系进行双重置乱操作的位置索引序列、用于进行扩散操作的扩散立方矩阵和用于进行DNA解码的解码规则矩阵,其中,编码规则矩阵和解码规则矩阵的大小均为M×4N;
步骤2:将原始矩阵按照编码规则矩阵进行DNA编码,获取编码后的二维DNA矩阵;
步骤3:将DNA矩阵转换为大小为r×r×r的立方矩阵,其中,M×4N=r3;
步骤4:依据由位置索引序列建立的元素置乱非线性映射关系,并结合三维猫映射对明文图像的立方矩阵进行双重置乱操作,得到置乱矩阵;
步骤5:依据扩散立方矩阵对置乱矩阵进行扩散操作,得到大小为r×r×r的扩散矩阵;
步骤6:将大小为r×r×r的扩散矩阵转换为大小为M×4N的转换矩阵;
步骤7:对转换矩阵依据解码规则矩阵进行DNA解码,并转换为十进制,得到最终密文图像。
将明文灰度图像作为SHA 256哈希函数的输入信息,可以得到256位哈希值,然后将256 位哈希值以每8位为一组将其转化为32个十进制数k1,k2,…,k32,接着利用32个十进制数并通过如下公式来计算中间参数h1,h2,h3和h4和混沌***的初始状态值x0,y0,z0,u0,v0和w0,公式表示为:
式中,mean(x,y)表示取x和y的平均值。六维Lü-Duffing复合超混沌***来产生图像加密过程中所需要的混沌序列,公式如下所示:
式中,a、b、c、d、e、f、g、h为实常数;当***参数a=36、b=20、c=3、d=2、e=3、f=3、 g=5、h=10时,***处于超混沌状态。将得到的混沌***的初始值x0,y0,z0,u0,v0和w0带入混沌***迭代l0+MN次,为了避免有害影响,舍去前l0个值,得到6个大小为1×MN的序列X,Y,Z,U,V,W,具体如下:X=[x1,x2,...,xMN],Y=[y1,y2,...,yMN],Z=[z1,z2,...,zMN], U=[u1,u2,...,uMN],V=[v1,v2,...,vMN],W=[w1,w2,...,wMN]。
对得到的序列X,Y,Z,U进行修正,得到修正后的序列X1,Y1,Z1,U1,修正公式可表示为:
x1i=mod((abs(xi+yi)-floor(xi+yi))×1014,8)+1
y1i=mod((abs(yi+zi)-floor(yi+zi))×1014,8)+1
z1i=mod((abs(zi+ui)-floor(zi+ui))×1014,8)+1
u1i=mod((abs(xi+yi+zi+ui)-floor(xi+yi+zi+ui))×1014,8)+1
其中xi,yi,zi,ui分别表示混沌序列X、Y、Z、U中的第i个元素,x1i,y1i,z1i,u1i分别表示混沌序列X1、Y1、Z1、U1中的第i个元素,i∈[1,M×N];abs(x)表示对x取绝对值,floor(x)表示取不大于x的最大整数,mod(a,b)表示a对b的取模运算。将序列X1,Y1,Z1,U1组合为序列组Ai,具体可描述为:A1=[X1,Y1,Z1,U1],A2=[X1,Y1,U1,Z1],A3=[X1,Z1,Y1,U1], A4=[X1,Z1,U1,Y1],A5=[X1,U1,Y1,Z1],A6=[X1,U1,Z1,Y1],A7=[Y1,X1,U1,Z1], A8=[Y1,X1,Z1,U1],A9=[Y1,Z1,X1,U1],A10=[Y1,Z1,U1,X1],A11=[Y1,U1,X1,Z1], A12=[Y1,U1,Z1,X1],A13=[Z1,X1,Y1,U1],A14=[Z1,X1,U1,Y1],A15=[Z1,Y1,X1,U1], A16=[Z1,Y1,U1,X1],A17=[Z1,U1,X1,Y1],A18=[Z1,U1,Y1,X1],A19=[U1,X1,Y1,Z1], A20=[U1,X1,Z1,Y1],A21=[U1,Y1,X1,Z1],A22=[U1,Y1,Z1,X1],A23=[U1,Z1,X1,Y1], A24=[U1,Z1,Y1,X1]。通过设置变量index1选取Ai(i=1,2,…,24),当i=index1时,得到序列组Ai,其中将大小为1×4MN的Ai按列优先输出转换为大小为M×4N的编码规则矩阵ER。
对得到的混沌序列Z,U,V和W进行修正,得到序列Z2,U2,V1,W1,修正公式可表示为:
z2i=mod((abs(zi)-floor(zi))×1014,8)+1
u2i=mod((abs(zi+ui)-floor(zi+ui))×1014,8)+1
v1i=mod((abs(zi+ui+vi)-floor(zi+ui+vi))×1014,8)+1
w1i=mod((abs(zi+ui+vi+wi)-floor(zi+ui+vi+wi))×1014,8)+1
其中zi,ui,vi,wi分别表示混沌序列Z、U、V、W中的第i个元素,z2i,u2i,v1i,w1i分别表示混沌序列Z2、U2、V1、W1中的第i个元素,i∈[1,M×N];abs(x)表示对x取绝对值,floor(x)表示取不大于x的最大整数,mod(a,b)表示a对b的取模运算。将序列Z2、U2、V1、W1组合为序列组Bi,可描述为:B1=[Z2,U2,V1,W1],B2=[Z2,U2,W1,V1],B3=[Z2,V1,U2,W1], B4=[Z2,V1,W1,U2],B5=[Z2,W1,U2,V1],B6=[Z2,W1,V1,U2],B7=[U2,Z2,W1,V1], B8=[U2,Z2,V1,W1],B9=[U2,V1,Z2,W1],B10=[U2,V1,W1,Z2],B11=[U2,W1,Z2,V1], B12=[U2,W1,V1,Z2],B13=[V1,Z2,U2,W1],B14=[V1,Z2,W1,U2],B15=[V1,U2,Z2,W1], B16=[V1,U2,W1,Z2],B17=[V1,W1,Z2,U2],B18=[V1,W1,U2,Z2],B19=[W1,Z2,U2,V1], B20=[W1,Z2,V1,U2],B21=[W1,U2,Z2,V1],B22=[W1,U2,V1,Z2],B23=[W1,V1,Z2,U2], B24=[W1,V1,U2,Z2]。通过设置变量index2选取Bi(i=1,2,…,24),当i=index2时,得到序列组Bi。其中将大小为1×4MN的Bi按列优先输出转换为大小为M×4N的解码规则矩阵DR。
通过迭代获取的混沌序列,并得到的编码规则矩阵,本发明的另一个实施例中,将原始矩阵P_BIN的第一位平面和第八位平面(BP(1,8)),第二位平面和第七位平面(BP(2,7)),第三位平面和第六位平面(BP(3,6)),第四位平面和第五位平面(BP(4,5))按照编码规则矩阵ER进行编码,获得大小为M×4N的DNA矩阵DNA_R。记DNA_R=[P_BIN(BP(1,8)),P_BIN(BP(2, 7)),P_BIN(BP(3,6)),P_BIN(BP(4,5))],其中P_BIN(BP(1,8))表示矩阵P_BIN的第一位平面和第八位平面按照编码规则编码后的DNA矩阵。
依据由位置索引序列建立的元素置乱非线性映射关系,并结合三维猫映射对明文图像的立方矩阵进行双重置乱操作过程中,本发明的再一个实施例中置乱步骤设计如下:
步骤4.1:选取生成的混沌序列X,Y,Z的前r个元素,得到三个大小为1×r的序列XZ, YZ,ZZ,具体为:XZ=[x1,x2,...,xr],YZ=[y1,y2,...,yr],ZZ=[z1,z2,...,zr]。
步骤4.5:根据选择的Si建立明文图像的三维DNA矩阵元素置乱的非线性映射关系,对矩阵中的元素进行置乱。例如,假设元素当前位置为(a,b,c)且S1被选择时,位于(a,b,c)的元素被置乱到位置上,其中1≤a≤r,1≤b≤r,1≤c≤r。
步骤4.6:利用三维猫映射对置乱后的矩阵进行二次置乱,得到置乱后的三维矩阵。其中,三维猫映射表达式可表示如下:
ax=mod(sum(k1,...,k8)×100,16)
ay=mod(sum(k9,...,k16)×100,16)
az=mod(sum(k17,...,k24)×100,16)
bx=mod(sum(k25,...,k32)×100,16)
by=mod(mean(k1,...,k16)×100,16)
bz=mod(mean(k17,...,k32)×100,16)
式中,sum(x,y)表示取x和y的和。
依据扩散立方矩阵对置乱矩阵进行扩散操作,本发明的另一个实施例中对置乱后的三维矩阵执行扩散操作,具体步骤设计如下:
步骤5.1:通过index4选取Ai(i=1,2,…,24),当i=index4时,得到序列组Ai。其中index4=mod(sum(k1,k2,...,k10)×108,24)+1。
步骤5.2:将Ai转化为大小为r×r×r的立方矩阵H,并通过下式进行修正,得到修正后的矩阵H′:H′=mod(H×1014,4)。
步骤5.3:利用下表1所示的DNA序列的扩散规则对明文图像的三维DNA矩阵进行扩散操作:N_DNA=D(DNA_R,H′)。
其中,H′是与DNA_R大小相同的整数矩阵,且H′中的所有元素为0-3的整数。DNA_R是输入的明文图像的待扩散的三维DNA矩阵,N_DNA为扩散后的矩阵。D(.)表示扩散过程函数。
扩散规则如表1所示:
表1DNA序列的扩散规则
为进一步验证本发明的有效性,下面通过仿真实验做进一步解释说明:
以Window10(intel(R)Core(TM)i5-4590,3.30GHZ,RAM 4.00GB)和Matlab 2016b为平台对本发明进行测试。所用到的参数有:c1,c2,c3和c4以及舍弃的混沌序列的个数l0。它们的值如表2所示。图2为256×256的Lena图像的实验结果。其中图2中的(a)为Lena明文图像,图2中的(b)为Lena密文图像,图2中的(c)为Lena解密图像。
表2本算法实验设定的参数值
从图中可以看到,明文图像经过本算法加密后,所得到的密文图像都类似于噪声,不能从加密图像中得到原始图像的任何信息。加密图像经解密后得到的解密图像与原始图像相同,具有原始图像的全部信息。
一个好的加密算法应该能够抵抗各种攻击,密钥空间足够大,密钥的敏感性足够高。下面对本发明的图像加密方法进行安全性分析。
1.密钥空间
混沌加密方法的安全性与密钥空间有很大关系。一般来说,密钥空间越大,其抵抗穷举攻击的能力也就越强。在本方法中,密钥参数具体包括:1)由SHA 256哈希函数产生的256 位哈希值;2)产生混沌***初始值的参数c1,c2,c3,c4。若设置精度为10-14,则密钥空间大小为1.1579×10133,如果再加上舍弃的混沌序列个数l0,则密钥空间更大。由此可知,该方案的密钥空间较大,能够有效抵抗暴力攻击。
2.密钥敏感性
一个性能良好的加密方案应对加密过程和解密过程的密钥都具有较强的敏感性。一方面,在加密过程中,即使密钥发生轻微的变化,得到的密文图像就会完全不同。另一方面,在解密过程中,解密密钥与加密密钥存在轻微的差别,就不能成功的解密出明文图像。因此,我们将从两方面对密钥的敏感性进行分析:一个是加密密钥的敏感性;另一个是解密密钥的敏感性。
本发明选取大小为256×256的Lena图像对密钥敏感性进行测试。图3展示Lena图片的测试结果,其中,图3中的(a)是密钥为c1+10-14的密文图像,图3中的(b)是密钥为K1的密文图像,图3中的(c)是密钥为c1+10-14的解密图像,图3中的(d)是密钥为K1的解密图像。其中
K=0a06c3c3f59c1bcf1d44e522f23de9cec149fdfcfed0264cb94e2f1a1dc265dd;
K1=1a06c3c3f59c1bcf1d44e522f23de9cec149fdfcfed0264cb94e2f1a1dc265dd。
此外,表3为密钥发生轻微改变后,图像的像素改变率。
表3当密钥发生改变时,图像像素改变率
从图3和表3来看,此加密算法对密钥的敏感性极高,加密安全性也更好。
3.相关性
对于大多数图像,每个像素与它周围的像素点之间存在着很大的联系,具体来说就是像素点与它临近的像素点在水平、垂直和对角方向上存在着关联性。定量分析相关性的相关系数越大,说明相邻像素的相关性越强;反之,相邻像素的相关性越小。其计算公式如下所示:
其中,x、y分别表示图像中相邻的两个像素点的像素值,N代表试验中选取的像素对个数,E(x)代表像素值的平均值,D(x)代表像素值的均方差,cov(x,y)代表相关函数,Rx,y代表相邻两个像素的相关系数。下面从Lena图像中选取10000对水平、垂直、对角方向相邻像素对进行测试,其测试结果如图4所示。其中图4中的(a)为明文图像水平方向相关性,图4中的(b)为密文图像水平方向相关性,图4中的(c)为明文图像垂直方向相关性,图4 中的(d)为密文图像垂直方向相关性,图4中的(e)为明文图像对角方向相关性,图4中的(f)为密文图像对角方向相关性。图像相邻像素的相关系数在表4中所示:
表4Lena明文图像和密文图像的相邻像素相关系数
方向 | 明文图像 | 密文图像 |
水平方向 | 0.9577 | 0.0034 |
垂直方向 | 0.9226 | -0.0003 |
对角方向 | 0.9019 | -0.0011 |
由图和表可以看出明文图像相邻像素是高度相关的,相关系数接近1。而加密图像的相邻相关系数接近于0,相邻像素间相关性明显减小,可以有效抵御统计攻击。
4.直方图
直方图描述的是数字图像中每一个灰度级拥有的像素数占整幅图像总像素数的比率。为了防止不法分子利用直方图的漏洞来破解图像,我们要求加密后的图像直方图是平滑并且均匀的。图5展示了Lena明文图像,密文图像和解密图像的直方图。其中图5中的(a)是Lena 明文图像的直方图,图5中的(b)是Lena密文图像的直方图,图5中的(c)是Lena解密图像的直方图。
从图5可以看出,加密前图像的像素值分布极不均匀,而加密后的像素值平滑且均匀分布能够有效抵御统计分析的攻击。
5.信息熵
对于Lena图像用本算法进行加密时,密文图像信息熵为7.9971,非常接近理想值8,这表明本算法具有很好的安全性。
6.差分攻击
差分攻击作为衡量加密方法性能优劣的一个重要标准,可以通过像素数改变率NPCR和归一化平均改变强度UACI来度量。它们的计算公式如下所示,
其中,M,N分别代表图像的行数和列数,C1(i,j)表示原密文图像在位置(i,j)处的像素值,C2(i, j)表示经过轻微改变后的密文图像在位置(i,j)处的像素值。如果C1(i,j)=C2(i,j),则D(i,j)=0,否则D(i,j)=1。
本发明通过改变明文图像某一个像素的像素值,得到一个新的明文图像,接着用相同的密钥对原始明文图像和新得到的明文图像进行加密可以得到对应的密文图像C1和C2。具体参数如下所示:Lena(1,1)=162改为Lena1(1,1)=161;Lena(56,60)=114改为Lena2 (56,60)=115;Lena(240,256)=67改为Lena3(240,256)=68。
Lena图像不同位置的像素值发生改变后的NPCR和UACI值如表5所示。
表5Lena图像像素改变后的NPCR的和UACI值
从表5可以看到NPCR的值大于99%,UACI的值大于33%。这表明,即使对原始图像做微小的变化,通过本发明进行加密后,密文图像也会有明显的差异。因此,本发明可以有效抵抗差分攻击。
7.噪声和剪切攻击
图像在网络传输过程中或者在剪切、复制、移动的过程中,可能会受到机器自身的因素或者其它外界因素而使获得的图像中含有噪声或发生信息的丢失。本文通过对Lena密文图像添加噪声或剪切后,然后再对其进行解密来测试该算法对噪声和剪切攻击的抵抗能力,其测试结果如图6所示。其中,图6中的(a)是密度为0.002的椒盐噪声污染后的密文图像,图6中的(b)是密度为0.002的椒盐噪声污染后的解密图像,图6中的(c)是左下角剪切1/8的密文图像,图6中的(d)是左下角剪切1/8的解密图像。
从图6中可以看出,从视觉效果来看,经过噪声污染和剪切后的密文图像基本上能恢复出明文的信息,这说明该方法能够有效抵抗噪声和剪切攻击。
传统的图像加密方法是对二维矩阵进行加密处理,与传统的加密方法不同,本文对三维 DNA矩阵执行置乱和扩散操作。本发明中,首先,将明文图像进行位平面分解并将其进行 DNA编码、变形转变为三维DNA矩阵;接着,利用双重置乱操作对三维DNA矩阵进行置乱,该过程将混沌序列的排序置乱与三维猫映射置乱相结合对DNA序列进行位级置乱;然后,将置乱后的三维DNA矩阵执行扩散操作,并将扩散后的矩阵转变为二维DNA矩阵;最后,将二维DNA矩阵进行DNA解码操作得到密文图像。本文利用明文图像的SHA 256哈希函数计算混沌***的初始值,并且所使用的三维猫映射的参数也和明文图像有关,增强了算法抵抗选择明文攻击的能力。实验结果和安全分析表明,该加密方案可以抵御多种已知的攻击,可以有效地保护图像的安全。
本发明并不局限于上述具体实施方式,本领域技术人员还可据此做出多种变化,但任何与本发明等同或者类似的变化都应涵盖在本发明权利要求的范围内。
Claims (10)
1.一种基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,包含如下步骤:
步骤1:针对大小为M×N的明文图像,通过位平面分解得到大小为M×8N的原始矩阵,并利用明文图像的哈希值并结合外置密钥参数获取混沌***初始值,将混沌***初始值带入六维复合超混沌***来获取混沌序列X,Y,Z,U,V和W,并根据混沌序列得到用于DNA编码的编码规则矩阵、用于通过建立元素位置置乱的非线性映射关系进行双重置乱操作的位置索引序列、用于进行扩散操作的扩散立方矩阵和用于进行DNA解码的解码规则矩阵,其中,编码规则矩阵和解码规则矩阵的大小均为M×4N;
步骤2:将原始矩阵按照编码规则矩阵进行DNA编码,获取编码后的二维DNA矩阵;
步骤3:将DNA矩阵转换为大小为r×r×r的立方矩阵,其中,M×4N=r3;
步骤4:依据由位置索引序列建立的元素位置置乱的非线性映射关系,并结合三维猫映射对明文图像的立方矩阵进行双重置乱操作,得到置乱矩阵;
步骤5:依据扩散立方矩阵对置乱矩阵进行扩散操作,得到大小为r×r×r的扩散矩阵;
步骤6:将大小为r×r×r的扩散矩阵转换为大小为M×4N的转换矩阵;
步骤7:对转换矩阵依据解码规则矩阵进行DNA解码,并转换为十进制,得到最终密文图像。
2.根据权利要求1所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,步骤1中,将明文图像作为SHA 256哈希函数的输入信息,利用输出的哈希值并结合外置密钥参数获取混沌***初始值;将混沌***初始值带入六维复合超混沌***进行迭代,得到大小为1×MN的混沌序列X,Y,Z,U,V和W。
3.根据权利要求2所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,对混沌序列X,Y,Z和U进行修正,得到修正后用于编码的序列;并对混沌序列Z,U,V和W进行修正,得到修正后用于解码的序列;分别对修正后的序列重新组合,获取包含若干序列的序列组,序列组中的每个序列大小为1×4MN,通过设置变量选取序列组中的序列,并对选取的序列按列优先输出转换为大小为M×4N的编码规则矩阵和解码规则矩阵。
4.根据权利要求1所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,步骤2中,将原始矩阵的第一位平面和第八位平面,第二位平面和第七位平面,第三位平面和第六位平面,第四位平面和第五位平面按照编码规则矩阵进行编码,获得编码后大小为M×4N的DNA矩阵DNA_R,记为DNA_R=[P_BIN(BP(1,8)),P_BIN(BP(2,7)),P_BIN(BP(3,6)),P_BIN(BP(4,5))],其中P_BIN(BP(1,8))表示原始矩阵P_BIN的第一位平面和第八位平面按照编码规则编码后的DNA矩阵,P_BIN(BP(2,7))表示原始矩阵P_BIN的第二位平面和第七位平面按照编码规则编码后的DNA矩阵,P_BIN(BP(3,6))表示原始矩阵P_BIN的第三位平面和第六位平面按照编码规则编码后的DNA矩阵,P_BIN(BP(4,5))表示原始矩阵P_BIN的第四位平面和第五位平面按照编码规则编码后的DNA矩阵。
5.根据权利要求1所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,步骤4具体包含如下内容:
步骤4.1:选取混沌序列X,Y,Z的前r个元素,得到三个大小为1×r的序列XZ,YZ,ZZ,分别为:XZ=[x1,x2,...,xr],YZ=[y1,y2,...,yr],ZZ=[z1,z2,...,zr];
步骤4.4:通过设置变量选取序列组S中的序列;
步骤4.5:根据选取的序列建立明文图像的三维DNA矩阵元素置乱的非线性映射关系,对矩阵中的元素进行置乱;
步骤4.6:利用三维猫映射对置乱后的元素进行再次置乱,得到三维置乱矩阵。
7.根据权利要求1所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,步骤5具体包含如下内容:
步骤5.1:对混沌序列X,Y,Z和U进行修正,得到修正后用于编码的序列;对修正后的序列重新组合,获取包含若干序列的序列组;通过设置变量选取序列组中的序列;
步骤5.2:将选取的序列转化为大小为r×r×r的扩散立方矩阵H,并对扩散立方矩阵H进行修正,得到修正后的矩阵H′;
步骤5.3:利用预设扩散规则和矩阵H′对明文图像置乱后的三维DNA矩阵执行扩散操作。
8.根据权利要求7所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,步骤5.2中,对扩散立方矩阵H进行修正的公式表示为:H′=mod(H×1014,4)。
9.根据权利要求7所述的基于双重置乱和DNA编码的混沌图像加密方法,其特征在于,步骤5.3中对明文图像置乱后的三维DNA矩阵执行扩散操作,具体表示为:N_DNA=D(DNA_R,H′),其中,DNA_R是输入的明文图像置乱后的三维DNA矩阵,N_DNA为扩散后的矩阵,D(.)表示扩散过程函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810659842.6A CN108898025B (zh) | 2018-06-25 | 2018-06-25 | 基于双重置乱和dna编码的混沌图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810659842.6A CN108898025B (zh) | 2018-06-25 | 2018-06-25 | 基于双重置乱和dna编码的混沌图像加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108898025A CN108898025A (zh) | 2018-11-27 |
CN108898025B true CN108898025B (zh) | 2020-06-12 |
Family
ID=64346022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810659842.6A Active CN108898025B (zh) | 2018-06-25 | 2018-06-25 | 基于双重置乱和dna编码的混沌图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108898025B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110148078B (zh) * | 2019-05-15 | 2022-09-13 | 河南大学 | 基于二维压缩感知的两幅彩色图像压缩加密方法 |
CN110535624B (zh) * | 2019-08-16 | 2022-07-19 | 湖北工业大学 | 一种应用于dicom格式的医学图像隐私保护方法 |
CN110570344B (zh) * | 2019-08-27 | 2022-09-20 | 河南大学 | 基于随机数嵌入和dna动态编码的图像加密方法 |
CN110837651B (zh) * | 2019-11-04 | 2021-08-10 | 合肥工业大学 | 基于分数阶离散神经网络和dna运算的彩色图像加密方法 |
CN111131656B (zh) * | 2019-12-20 | 2021-11-02 | 长春理工大学 | 基于位级置乱和动态叠加扩散的图像加密方法 |
CN111105339B (zh) * | 2019-12-23 | 2020-11-03 | 郑州轻工业大学 | 一种基于多维混沌***和约瑟夫置乱的图像加密方法 |
CN111294481B (zh) * | 2020-01-14 | 2021-06-22 | 河南大学 | 基于自更新变换、双随机三维矩阵置乱和dna计算的图像加密方法 |
CN112073171B (zh) * | 2020-06-05 | 2021-10-15 | 中国矿业大学 | 基于混沌和dna编码的多音频加密方法 |
CN111723386B (zh) * | 2020-06-08 | 2023-09-26 | 大连大学 | 一种基于sha-512的动态dna彩色图像加密方法 |
CN112134681B (zh) * | 2020-08-19 | 2021-11-19 | 河南大学 | 一种图像压缩加密方法和云辅助解密方法 |
CN112001834A (zh) * | 2020-08-24 | 2020-11-27 | 浙江农林大学 | 一种基于脉冲微分方程混沌***的图像加密方法及*** |
CN112287362A (zh) * | 2020-09-21 | 2021-01-29 | 南昌大学 | 基于dna编码和双混沌***的彩色图像加密算法 |
CN112422268B (zh) * | 2020-11-10 | 2021-08-20 | 郑州轻工业大学 | 一种基于分块置乱与状态转换的图像加密方法 |
CN112714235B (zh) * | 2020-12-22 | 2021-10-26 | 郑州轻工业大学 | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 |
CN113129196B (zh) * | 2021-04-07 | 2022-10-14 | 中国人民解放军海军工程大学 | 一种基于dna序列和忆阻混沌的图像加密方法 |
CN113300827B (zh) * | 2021-05-20 | 2022-05-13 | 郑州轻工业大学 | 一种基于拉丁方的混沌图像加密方法 |
CN113382125B (zh) * | 2021-05-25 | 2022-06-24 | 河南大学 | 基于压缩感知和rna编码的图像加密方法 |
CN113343609B (zh) * | 2021-06-21 | 2023-07-07 | 中国人民解放军陆军炮兵防空兵学院 | 基于可公开的混沌流密码加密的通信保密电路设计方法 |
CN113904765B (zh) * | 2021-06-25 | 2023-05-26 | 中国人民解放军空军工程大学 | 一种基于混沌序列的机载电视制导传输图像加密方法 |
CN113704703B (zh) * | 2021-08-27 | 2024-04-16 | 上海钧正网络科技有限公司 | 信息隐藏方法、装置及计算机存储介质 |
CN113837916A (zh) * | 2021-09-05 | 2021-12-24 | 桂林理工大学 | 基于混沌***的重组置乱dna编码图像加密算法 |
CN113691362B (zh) * | 2021-09-07 | 2023-05-16 | 西南大学 | 基于超混沌***和dna编码的位平面图像压缩加密方法 |
CN113660077B (zh) * | 2021-10-15 | 2024-01-02 | 北京邮电大学 | 一种相干光正交频分复用***物理层加密方法及*** |
CN115134475B (zh) * | 2022-08-31 | 2022-11-08 | 智联信通科技股份有限公司 | 一种衡器鉴重智能管理*** |
CN115311119B (zh) * | 2022-10-09 | 2022-12-23 | 中国民航大学 | 一种抗几何攻击的立体图像零水印嵌入与提取方法 |
CN115766027B (zh) * | 2022-11-03 | 2024-05-07 | 大连海事大学 | 一种多类型图像联合加密方法、***及存储介质 |
CN115861034B (zh) * | 2023-02-20 | 2023-06-20 | 深圳市欣博跃电子有限公司 | 一种无线路由数据智能管理*** |
CN116318615B (zh) * | 2023-03-23 | 2023-10-13 | 陕西物流集团产业研究院有限公司 | 基于超混沌***与dna编码结合的图像加密方法和解密方法 |
CN116055046B (zh) * | 2023-03-31 | 2023-06-09 | 山东政信大数据科技有限责任公司 | 一种农产品在线安全交易*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228504B (zh) * | 2016-07-17 | 2019-04-23 | 西安电子科技大学 | 基于明文和密钥构造加密参数的数字图像加密方法 |
CN107610037A (zh) * | 2017-09-29 | 2018-01-19 | 重庆第二师范学院 | 一种融合多混沌映射和dna编码的图像加密方法及装置 |
-
2018
- 2018-06-25 CN CN201810659842.6A patent/CN108898025B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108898025A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108898025B (zh) | 基于双重置乱和dna编码的混沌图像加密方法 | |
Zhang et al. | Multiple-image encryption algorithm based on DNA encoding and chaotic system | |
Wu et al. | Cryptanalysis and enhancements of image encryption based on three-dimensional bit matrix permutation | |
CN105046161B (zh) | 基于dna动态编码的彩色图像加密方法 | |
CN109660696B (zh) | 一种新的图像加密方法 | |
Seyedzade et al. | A novel image encryption algorithm based on hash function | |
CN109102452B (zh) | 一种基于拉丁方阵置乱和双向扩散的图像加密方法 | |
CN107094072B (zh) | 一种基于广义Henon映射的混合混沌加密方法 | |
CN112714235B (zh) | 一种基于填充曲线和相邻像素比特置乱的图像加密方法 | |
CN108122188B (zh) | 一种图像加密方法 | |
CN102982499A (zh) | 基于多分数阶混沌***的彩色图像加密和解密方法 | |
Zhang et al. | An efficient approach for DNA fractal-based image encryption | |
CN107274457A (zh) | 基于dna序列运算和变形耦合映像格子的双彩色图像加密方法 | |
CN114157772B (zh) | 一种基于时空混沌***和半张量积压缩感知的数字图像加密方法 | |
CN106407824A (zh) | 一种图像加密方法及装置 | |
CN110149200A (zh) | 一种基于动态dna和4d混沌的彩色图像加密方法 | |
CN115580687B (zh) | 基于变参数超混沌***与s形扩散的多图像加密方法 | |
CN112769545A (zh) | 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法 | |
Wang et al. | Chaotic image encryption algorithm based on dynamic spiral scrambling transform and deoxyribonucleic acid encoding operation | |
Wang et al. | A chaotic image encryption scheme based on cat map and MMT permutation | |
Shraida et al. | An efficient color-image encryption method using dna sequence and chaos cipher | |
CN111682932B (zh) | 一种基于混合混沌映射的单轮图像加密方法 | |
CN111444522B (zh) | 一种随机分块的混沌图像加密方法 | |
Atee et al. | Cryptography and image steganography using dynamic encryption on LSB and color image based data hiding | |
Naik et al. | An image cryptosystem based on diffusion of significant bit-planes of a scrambled image with generated binary key matrices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |