CN107274457A - 基于dna序列运算和变形耦合映像格子的双彩色图像加密方法 - Google Patents
基于dna序列运算和变形耦合映像格子的双彩色图像加密方法 Download PDFInfo
- Publication number
- CN107274457A CN107274457A CN201710363952.3A CN201710363952A CN107274457A CN 107274457 A CN107274457 A CN 107274457A CN 201710363952 A CN201710363952 A CN 201710363952A CN 107274457 A CN107274457 A CN 107274457A
- Authority
- CN
- China
- Prior art keywords
- dna
- matrix
- image
- encryption
- key stream
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Abstract
本发明公开一种基于DNA序列和变形耦合映像格子的双彩色图像加密方法,包含:利用密钥和两幅彩色明文图像,产生迭代变形耦合映像格子的参数和初始值,通过迭代,产生密钥流L1、L2、K1、K2和随机数d1、d2、d3;分离明文图像的红、绿、蓝三基色分量,转换成二进制矩阵,将六个二进制矩阵进行重组得到重组矩阵A、B,利用密钥流L1、L2对矩阵A、B进行位级置乱,并分割成六个二进制矩阵;利用DNA编码规则并结合随机数d1、d2、d3,将二进制矩阵转换成DNA矩阵,执行DNA加、减和异或运算;利用DNA解码规则将DNA矩阵转换为十进制矩阵,利用密钥流K1、K2和按位异或运算,改变图像像素的值,得到密文图像C1、C2。本发明可同时加密两幅明文图像,具有安全性高、加密效果好、信息无损失、加密速度快等优点。
Description
技术领域
本发明属于信息安全技术领域,特别涉及一种基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,针对两个彩色图像利用DNA编码技术、位级变换和时空混沌实现数字加密。
背景技术
数字图像因其特有的直观、形象、信息量丰富等特点而倍受青睐,人们将大量的数字图像保存在磁盘上以及在网络上传播,随之而来的非法复制、伪造、篡改、非法访问等图像安全问题日益突出。为此,如何保护数字图像的安全成为信息安全领域的一个重要研究课题。另一方面,由于数字图像具有数据量大、相邻像素相关性强等特点,传统的加密算法如DES、 AES、RSA等用于图像加密时,普遍存在着加密效率低、安全性弱等问题。
近年来,基于混沌理论的数字图像加密技术引起了人们的广泛关注和深入研究。研究发现,混沌系统本身具有的优良特性如遍历性、随机性、无序性以及对初始条件敏感性等特点非常适合用于信息加密,这些性质在置乱和扩散中非常重要。国内外学者提出了许多基于混沌的数字图像加密算法。这些算法大致可划分为两类:基于简单混沌系统(一维或二维混沌映射)的数字图像加密算法、基于高维混沌系统的数字图像加密算法。前者虽然算法简单、易于实现、加解密速度快,但存在着安全方面的缺陷;后者虽然提高了算法的安全性,但存在计算量大、加解密速度慢、难于硬件实现等问题。并且这两大类算法每次只能加密一副明文图像。DNA计算由于其海量存储能力、高度并行性、超大规模计算能力、极低能耗等优点引起了人们的广泛兴趣,基于DNA序列的数字图像加密已成为密码研究的一个新的方向。现有的基于DNA编码的数字图像加密方法主要针对单个灰度图像。多幅彩色图像比单个灰度图像包含的信息量更丰富,数据格式和表示更为复杂。因此,针对单个灰度图像的加密方法并不能直接推广应用于多幅彩色图像的加密。此外,这些算法还存在着安全性弱、感知退化、信息丢失等问题。在一些特殊应用行业,如医学、生物基因、军事等,严格要求加、解密图像必须完全相同。因此,有必要研究基于DNA编码的多幅彩色图像无损加密方法。
发明内容
针对现有技术中的不足,本发明提供一种基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,结合混沌密码学理论、DNA计算和图像处理的相关技术,能够有效抵抗统计攻击、已知和选择明文攻击、选择密文攻击等,加密效果好,安全性高。
按照本发明所提供的设计方案,一种基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,包含如下内容:
步骤a)、分别对输入的两幅彩色明文图像进行红、绿、蓝三基色分量进行分离,得到分离矩阵;并结合密钥,产生时空混沌系统中变形耦合映像格子的参数和初始值,通过迭代,产生密钥流L1、L2、K1、K2和随机数d1、d2、d3;
步骤b)、将分离矩阵分别转换成二进制矩阵,对二进制矩阵重新组合为两个重组矩阵,利用密钥流L1、L2对重组矩阵进行位级置乱,并对置乱后的矩阵进行分割;
步骤c)、利用DNA编码规则,并结合随机数d1、d2、d3,将分割后的矩阵进行转换得到初始DNA矩阵,并对DNA矩阵进行加、减和异或运算,得到DNA矩阵;
步骤d)、利用DNA解码规则和随机数d1、d2、d3,将DNA矩阵随机转换为十进制矩阵,并利用密钥流K1、K2和按位异或运算,改变图像像素的值,得到最终的密文图像。
上述的,该加密方法实现过程如下:
步骤(1)对输入大小为M×N×3的两幅彩色明文图像I0、P0,分别分离红、绿、蓝三基色分量,得到六个大小为M×N的矩阵IR0、IG0、IB0、PR0、PG0、PB0;并结合密钥ε0、α0、β0、xt(0)(t=1,2,3),产生时空混沌系统中变形耦合映像格子的参数和初始值,通过迭代该时空混沌系统,产生密钥流L1、L2、K1、K2和随机数d1、d2、d3;
步骤(2)将矩阵IR0、IG0、IB0、PR0、PG0、PB0分别转换成对应的二进制矩阵 IR1、IG1、IB1、PR1、PG1、PB1,大小均为M×8N;将二进制矩阵IR1、IG1、IB1、 PR1、PG1、PB1重新组成两个大小为3M×8N的重组矩阵A、B,利用密钥流L1、L2对重组矩阵A、B分别进行位级置乱,并将置乱后的矩阵分割成六个大小为M×8N的矩阵 IR2、IG2、IB2、PR2、PG2、PB2;
步骤(3)利用DNA编码规则,结合随机数d1、d2、d3,将二进制矩阵IR2、IG2、 IB2、PR2、PG2、PB2分别转换成大小为M×4N的初始DNA矩阵IR3、IG3、IB3、PR3、 PG3、PB3,并执行DNA加、减和异或运算,得到DNA矩阵IR4、IG4、IB4、PR4、PG4、 PB4;
步骤(4)利用DNA解码规则和随机数d1、d2、d3,将DNA矩阵IR4、IG4、IB4、 PR4、PG4、PB4分别随机转换为十进制矩阵IR5、IG5、IB5、PR5、PG5、PB5,并利用密钥流K1、K2和按位异或运算,改变图像像素的值,得到最终的密文图像C1、C2。
上述的,步骤(1)中变形耦合映像格子表示为:
xn+1(i)=(1-ε)(1-f(xn(i)))+ε[f(xn(i+1))+f(xn(i-1))]/2
,其中,n为离散时间步数,i为离散格点坐标,
f(u)=(1-β-4)·ctg(α/(1+β))·(1+1/β)β·tg(αu)·(1-u)β,ε为耦合系数,ε∈(0,1),α、β为正实数,且α∈(1.5,1.57],β∈[3,15]。
上述的,步骤(1)中产生密钥流L1、L2、K1、K2和随机数d1、d2、d3,包含如下内容:
步骤11、根据矩阵IR0、IG0、IB0、PR0、PG0、PB0,计算得到两幅图像的峰值信噪比PSNRR,G,B,并通过ε0、α0、β0、xt(0)(t=1,2,3)更新变形耦合映像格子的参数和初始值,得到参数ε′、α′、β′以及初始值x′t(0)(t=1,2,3);
步骤12、利用参数ε′、α′、β′以及初始值x′t(0)(t=1,2,3),迭代变形耦合映像格子 MN+l次,并抛弃前l个值,得到长度为MN的3组混沌序列St,其中,l≥1500;
步骤13、对序列St做如下运算处理:
S′k(i)=10ρ×Sk(i)-fix(10ρ×Sk(i)),(i=1,2,L,MN)
d1=fix(mod(S′1(M)×1010,8)),
d2=fix(mod(S′2(M+N)×1012,8)),
d3=fix(mod(S′3(10M)×109,8)),
SK1={S′1(M+1),S′1(M+2),L,S′1(4M)},
SK2={S′2(8M-1),S′2(8M),L,S′2(12M)},
SK3=reshape(S′2,M,N),SK4=reshape(S′3,M,N),
[V1,L1]=sort(SK1),[V2,L2]=sort(SK2)
K1(i′,j′)=mod(fix(abs(S′3(i′,j′)×1012)),256),
K2(i′,j′)=mod(fix(abs(S′2(i′,j′)×1014)),256),
得到密钥流L1、L2、K1、K2和随机数d1、d2、d3,其中,fix(·)为取整函数,mod(·,·)为取余函数,abs(·)为取绝对值函数,函数reshape(X,M,N)根据长度为MN的序列X返回一个大小为M×N的矩阵,sort(X)为排序函数,ρ为正整数。
上述的,步骤11中更新变形耦合映像格子的参数和初始值的计算公式如下:
Δ2=((PSNRG+PSNRB)/2)/256/10,
Δ3=(PSNRG+PSNRB-PSNRR)/256/10,
ε′=ε0+Δ1,α′=α0-Δ2,β′=β0+Δ3,
x′1(0)=(x1(0)+Δ1)mod 1,
x′2(0)=(x2(0)+Δ2)mod 1,
x′3(0)=(x3(0)+Δ3)mod 1。
上述的,步骤(2)中重新组成两个大小为3M×8N的重组矩阵A、B,重组过程如下:
A(1:M,1:8×N)=IB1(1:M,1:8×N),
A(M+1:2×M,1:8×N)=PG1(1:M,1:8×N),
A(2×M+1:3×M,1:8×N)=IR1(1:M,1:8×N),
B(1:M,1:8×N)=PB1(1:M,1:8×N),
B(M+1:2×M,1:8×N)=IG1(1:M,1:8×N),
B(2×M+1:3×M,1:8×N)=PR1(1:M,1:8×N)。
上述的,步骤(2)中利用密钥流L1、L2对重组矩阵A、B分别进行位级置乱,并将置乱后的矩阵分割成六个大小为M×8N的矩阵IR2、IG2、IB2、PR2、PG2、PB2,实现过程如下:
步骤2a、根据位级置乱规则,通过密钥流L1、L2对重组矩阵A、B分别进行位级置乱,所述的位级置乱规则内容如下:
A1(L1(i),j)=A(i,j),
A2(i,L2(j))=A1(i,j),
B1(L1(i),j)=B(i,j),
B2(i,L2(j))=B1(i,j),(i=1,2,L,3M;j=1,2,L,8N);
步骤2b、依据分块原理将置乱后的矩阵分割成六个大小为M×8N的矩阵IR2、IG2、IB2、PR2、PG2、PB2,所述的分块原理内容如下:
IR2=A2(1:M,1:8×N),
IG2=A2(M+1:2×M,1:8×N),
IB2=A2(2×M+1:3×M,1:8×N),
PR2=B2(1:M,1:8×N),
PG2=B2(M+1:2×M,1:8×N)。
上述的,步骤(3)中DNA编码规则和/或步骤(4)中DNA解码规则如下:
。
上述的,步骤(3)中执行DNA加、减和异或运算的DNA加、减、异或运算规则分别如下:
,
,按照如下公式对DNA矩阵IR3、IG3、IB3、PR3、PG3、PB3进行加、减和异或运算:
IR4(i,j)=OperAdd(IR3(i,j),PB3(i,j)),
IG4(i,j)=OperSubtract(IR4(i,j),PG3(i,j)),
IB4(i,j)=OperXOR(IB3(i,j),IG4(i,j)),
PR4(i,j)=OperSubtract(IB4(i,j),PR3(i,j)),
PG4(i,j)=OperXOR(IG3(i,j),PR4(i,j)),
PB4(i,j)=OperAdd(PG4(i,j),IB3(i,j)),(i=1,2,L,M;j=1,2,L,8N)。
上述的,步骤(4)中利用密钥流K1、K2和按位异或运算,改变图像像素的值,计算公式如下:
本发明的有益效果:
本发明结合使用明文图像来产生密钥流,具有加密效果好、安全性高、信息无损失、密钥敏感度高等优点;有助于所设计的密码算法抵抗已知明文攻击、选择明文攻击等,与现有的图像加密算法相比,本发明提供的方法一次可加密两幅图片,加密效率高,属于无损加密方法,可广泛应用于军事、医学、生物基因等领域,对信息安全技术领域具有重要意义。
附图说明:
图1为本发明的方法流程示意图;
图2为实施例中双彩色图像加密方法流程示意图;
图3(a)为彩色明文Lena图像I0,(b)为密文图像C1,(c)为使用正确密钥时的解密图像, (d)为使用错误密钥时的解密图像。
图4(a)为彩色明文Panda图像P0,(b)为密文图像C2,(c)为使用正确密钥时的解密图像, (d)为使用错误密钥时的解密图像。
图5(a)为明文Lena图像I0的R、G、B分量的直方图,(b)为对应的密文图像C1的R、G、B分量的直方图。
图6(a)为明文Lena图像I0的R分量在水平方向上相邻像素的相关性分布图,(b)为密文 Lena图像C1的R分量在水平方向上相邻像素的相关性分布图,(c)为明文Panda图像P0的B 分量在垂直方向上相邻像素的相关性分布图,(d)为密文Panda图像C2的B分量在垂直方向上相邻像素的相关性分布图。
具体实施方式:
下面结合附图和实施例对本发明的具体实施方式进行详细描述。本实施例在以本发明技术方案为前提下进行实施,以便相关领域的技术人员能更好地理解本发明的技术特点和功能特点,但本发明的保护范围不限于下述实施例。
由于数字图像具有数据量大、相邻像素相关性强等特点,传统的加密算法如DES、AES、RSA等用于图像加密时,普遍存在着加密效率低、安全性弱等问题。现有的基于 DNA编码的数字图像加密方法主要针对单个灰度图像。多幅彩色图像比单个灰度图像包含的信息量更丰富,数据格式和表示更为复杂。针对单个灰度图像的加密方法并不能直接推广应用于多幅彩色图像的加密,存在着安全性弱、感知退化、信息丢失等问题。
基于上述应用需求,本实施例提供一种基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,参见图1所示,包含如下步骤:
步骤a)、分别对输入的两幅彩色明文图像进行红、绿、蓝三基色分量进行分离,得到分离矩阵;并结合密钥,产生时空混沌系统中变形耦合映像格子的参数和初始值,通过迭代,产生密钥流L1、L2、K1、K2和随机数d1、d2、d3;
步骤b)、将分离矩阵分别转换成二进制矩阵,对二进制矩阵重新组合为两个重组矩阵,利用密钥流L1、L2对重组矩阵进行位级置乱,并对置乱后的矩阵进行分割;
步骤c)、利用DNA编码规则,并结合随机数d1、d2、d3,将分割后的矩阵进行转换得到初始DNA矩阵,并对DNA矩阵进行加、减和异或运算,得到DNA矩阵;
步骤d)、利用DNA解码规则和随机数d1、d2、d3,将DNA矩阵随机转换为十进制矩阵,并利用密钥流K1、K2和按位异或运算,改变图像像素的值,得到最终的密文图像。
结合使用明文图像来产生密钥流,有助于所设计的密码算法抵抗已知明文攻击、选择明文攻击等;与现有的图像加密算法相比,本实施例方案一次可加密两幅图片,加密效率高,且加密效果好、安全性高。另,图像解密是加密的逆过程,只须按照与图像加密过程相逆的顺序进行运算即可恢复原始图像I0、P0。
为进一步说明本发明的有效性,下面结合具体实例做进一步解释说明,在本实例中,编程工具为Matlab R2012b,分别选用大小为256×256的附图3(a)、图4(a)所示的的Lena和Panda 标准彩色图像为明文图像,参见图2所示,对彩色图像加密的具体过程如下:
1.输入彩色Lena、Panda图像并分别记作I0、P0,分离图像I0、P0的R、G、B三基色分量得到六个大小为256×256的矩阵IR、IG、IB、PR、PG、PB。所使用的变形耦合映像格子描述如下:
xn+1(i)=(1-ε)(1-f(xn(i)))+ε[f(xn(i+1))+f(xn(i-1))]/2,这里,f(u)=(1-β-4)·ctg(α/(1+β))·(1+1/β)β·tg(αu)·(1-u)β,ε∈(0,1),α∈(1.5,1.57],β∈[3,15]。使用密钥ε0=0.8234723743431、α0=1.5409273734825、β0=6.9823734237438、x1(0)=0.237682764381437、 x2(0)=0.516438107438762、x3(0)=0.721045215699016,以及明文图像I0、P0,利用变形耦合映像格子生成产生密钥流L1、L2、K1、K2和随机数d1、d2、d3的具体步骤如下:
ST1.根据明文图像矩阵IR0、IG0、IB0、PR0、PG0、PB0,两幅图像的峰值信噪比PSNRR,G,B计算如下:
按如下式子更新变形耦合映像格子的参数和初始值:
Δ2=((PSNRG+PSNRB)/2)/256/10,
Δ3=(PSNRG+PSNRB-PSNRR)/256/10,
ε′=ε0+Δ1,α′=α0-Δ2,β′=β0+Δ3,
x′1(0)=(x1(0)+Δ1)mod 1,
x′2(0)=(x2(0)+Δ2)mod 1,
x′3(0)=(x3(0)+Δ3)mod 1,
ST2.利用参数ε′、α′、β′以及初始值x′t(0)(t=1,2,3),迭代变形耦合映像格子67336 次,并抛弃前1800个值,得到长度为65536的三组混沌序列S1、S2、S3。
ST3.为得到密钥流L1、L2、K1、K2和随机数d1、d2、d3,对序列S1、S2、S3做如下处理:
S′k(i)=1013×Sk(i)-fix(1013×Sk(i)),(k=1,2,3;i=1,2,L,65536)
d1=fix(mod(S′1(256)×1010,8)),
d2=fix(mod(S′2(512)×1012,8)),
d3=fix(mod(S′3(2560)×109,8)),
SK1={S′1(257),S′1(258),L,S′1(1024)},
SK2={S′2(2047),S′2(2048),L,S′2(6144)},
SK3=reshape(S′2,256,256),SK4=reshape(S′3,256,256),
[V1,L1]=sort(SK1),[V2,L2]=sort(SK2)
K1(i′,j′)=mod(fix(abs(S′3(i′,j′)×1012)),256),
K2(i′,j′)=mod(fix(abs(S′2(i′,j′)×1014)),256),
其中,fix(·)为取整函数,mod(·,·)为取余函数,abs(·)为取绝对值函数,函数 reshape(X,M,N)根据长度为MN的序列X返回一个大小为M×N的矩阵,sort(X)为排序函数。
2.将矩阵IR0、IG0、IB0、PR0、PG0、PB0分别转换成对应的二进制矩阵IR1、IG1、 IB1、PR1、PG1、PB1,大小均为256×2048。将二进制矩阵IR1、IG1、IB1、PR1、PG1、 PB1按如下式子重新组成两个大小为768×2048的矩阵A、B:
A(1:256,1:2048)=IB1(1:256,1:2048),
A(257:512,1:2048)=PG1(1:256,1:2048),
A(513:768,1:2048)=IR1(1:256,1:2048),
B(1:256,1:2048)=PB1(1:256,1:2048),
B(257:512,1:2048)=IG1(1:256,1:2048),
B(513:768,1:2048)=PR1(1:256,1:2048)。
利用密钥流L1、L2对矩阵A、B分别进行位级置乱,描述如下:
A1(L1(i),j)=A(i,j),
A2(i,L2(j))=A1(i,j),
B1(L1(i),j)=B(i,j),
B2(i,L2(j))=B1(i,j),(i=1,2,L,768;j=1,2,L,2048)。
按如下式子对矩阵A2、B2进行分块处理:
IR2=A2(1:256,1:2048),
IG2=A2(257:512,1:2048),
IB2=A2(513:768,1:2048),
PR2=B2(1:256,1:2048),
PG2=B2(257:512,1:2048),
PB2=B2(513:768,1:2048)。
3.利用DNA编码规则,DNA编码规则如下:
规则0 | 规则1 | 规则2 | 规则3 | 规则4 | 规则5 | 规则6 | 规则7 | |
A | 00 | 00 | 01 | 01 | 10 | 10 | 11 | 11 |
C | 01 | 10 | 00 | 11 | 00 | 11 | 01 | 10 |
G | 10 | 01 | 11 | 00 | 11 | 00 | 10 | 01 |
T | 11 | 11 | 10 | 10 | 01 | 01 | 00 | 00 |
,结合随机数d1、d2、d3,将二进制矩阵IR2、IG2、IB2、PR2、PG2、PB2分别转换成大小为256×1024的DNA矩阵IR3、IG3、IB3、PR3、PG3、PB3,并对它们执行如下的DNA加、减和异或运算,DNA加、减、异或运算规则分别如下:
,
,
,按照如下公式对DNA矩阵IR3、IG3、IB3、PR3、PG3、PB3进行加、减和异或运算:
IR4(i,j)=OperAdd(IR3(i,j),PB3(i,j)),
IG4(i,j)=OperSubtract(IR4(i,j),PG3(i,j)),
IB4(i,j)=OperXOR(IB3(i,j),IG4(i,j)),
PR4(i,j)=OperSubtract(IB4(i,j),PR3(i,j)),
PG4(i,j)=OperXOR(IG3(i,j),PR4(i,j)),
PB4(i,j)=OperAdd(PG4(i,j),IB3(i,j)),(i=1,2,L,256;j=1,2,L,2048)。
从而得到DNA矩阵IR4、IG4、IB4、PR4、PG4、PB4。
4.利用DNA解码规则和随机数d1、d2、d3,将DNA矩阵IR4、IG4、IB4、PR4、 PG4、PB4分别随机转换为十进制矩阵IR5、IG5、IB5、PR5、PG5、PB5,并利用密钥流K1、K2和按位异或运算,根据如下式子改变图像像素的值:
从而得到最终的密文图像C1、C2。
5.图像解密是加密的逆过程,只须按照与图像加密过程相逆的顺序进行运算即可恢复原始图像I0、P0。
本发明的效果可以通过以下性能分析验证:
附图3(a)、图4(a)所示为原始明文图像,附图3(b)、图4(b)所示为密文图像。当密钥正确时,解密图像见附图3(c)、图4(c);当密钥错误时,解密图像如附图3(d)、图4(d) 所示。由附图3、4可看出,本发明提供的图像加密算法具有良好的加解密效果。
1.密钥空间分析
在本发明的加密算法中,计算精度取10-15,将系统参数ε0、α0、β0,初始值 xt(0)(t=1,2,3),以及变量l、ρ等,作为密钥,密钥空间大于2299,故本发明所提供的图像加密算法的密钥空间足够大,完全可以抵抗穷举攻击。
2.密钥敏感性分析
为了测试加密算法对密钥的敏感性,对任意一个密钥做微小改变,例如令ε′=ε0-10-15,其他密钥保持不变。附图3(d)和图4(d)分别为仅对密钥ε做微小改动时的解密图像。容易看出,当密钥错误时,无法从解密图像中得当任何明文信息,即本发明提供的加密算法对密钥高度敏感。
3.统计分析
3.1直方图分析
附图5(a)和图5(b)所示分别为明文Lena图像和对应密文图像的R、G、B分量的直方图。从图中可以看出,明文图像的像素分布比较集中,而密文图像的像素分布非常均匀,密文的统计特征完全不同于明文的统计特征,攻击者很难利用图像像素值的统计特性恢复出明文图像。
3.2相邻像素相关性分析
在明文图像和密文图像的水平、垂直和对角方向上分别随机选取4000对相邻像素,按照文献[X.Wu,H.Kan,J.Kurths,A new color image encryption scheme based onDNA sequences and multiple improved 1D chaotic maps,Applied Soft Computing 37(2015)24–39]中关于计算相邻像素的公式,可计算本发明提供的加密算法对应的相关系数,结果如表1和表2所示。从表中容易看出,明文图像的相邻像素高度相关,相关系数接近于1;而密文图像在各方向上的相邻像素相关系数比明文图像要小得多,其相邻像素相关系数接近于0,相邻像素已基本不相关。附图6(a)和图6(b)所示分别为明文Lena图像和对应的密文图像的R分量在水平方向上的相邻像素的相关性分布,附图6(c)和图6(d)所示分别为明文Panda图像和对应的密文图像的B分量在垂直方向上的相邻像素的相关性分布。从图中可直观看出,明文图像的像素高度集中在对角线y=x周围,而密文图像的像素则很均匀的分布在区间[0,255]中。因此,本发明提供的加密算法具有良好的抵抗统计攻击能力。
表1明文Lena图像和加密图像相邻像素的相关系数
表2明文Panda图像和加密图像相邻像素的相关系数
4.信息熵分析
利用文献[X.Wu,H.Kan,J.Kurths,A new color image encryption schemebased on DNA sequences and multiple improved 1D chaotic maps,Applied SoftComputing 37(2015)24–39]中的信息熵计算公式,可计算得到明文图像和密文图像的信息熵,如表3所示。容易看出,密文图像的信息熵均接近于8,即图像所有像素值出现的概率几乎相等。故本发明提供的加密算法可有效抵抗信息熵攻击。
表3明文图像和加密图像的信息熵
5.差分攻击分析
为了检验本发明所提供的加密算法对明文的敏感性和抗差分攻击能力,选取30组图像进行测试:每组两幅图像,一幅为原始明文图像,另一幅则是随机改变明文图像的一个像素,
利用本发明所提供的加密算法对两幅明文图像分别加密,得到两幅密文图像;然后,利用文献[Rhouma R,Meherzi S,Belghith S.OCML-based colour imageencryption.Chaos,Solitons& Fractals,2009,40(1):309–318]中给出的NPCR和UACI计算公式,计算得到一组NPCRR,G,B和 UACIR,G,B值。重复以上操作,共可得到30组NPCRR,G,B和UACIR,G,B值。表3和表4分别给出了关于Lena图像和Panda图像的平均值和容易看出,NPCRR,G,B和 UACIR,G,B的平均值接近于相应的理想期望值。因此,本发明所提供的加密算法对明文具有很强的敏感性和抵抗差分攻击能力。
表3和
表4和
7.已知明文/选择明文攻击分析
在本发明所提供的加密算法中,变形时空混沌的系统参数和初始值由外部密钥和明文图像联合生成,密钥流L1、L2、K1、K2由变形时空混沌系统产生。这就意味着,当对不同的明文图像加密时,所产生的密钥流也是不同的,即窃密者无法借助其他图像生成密钥流来解密某一特定的密文图像。此外,使用位级变换和图像扩散操作可使得扩散效应很好的分布于整幅密文图像中。因此,本发明所提供的加密算法可有效抵抗已知明文/选择明文攻击。
7.无损分析
我们利用峰值信噪比(PSNR)来测量原始图像P0与处理后的图像P1之间的相似度,计算如下:
式中,M、N分别为图像的高度和宽度。PSNR值越大,两幅图像的相似度越高;当PSNR值为∞,则两幅图像完全相同。
根据以上式子计算解密图像3(c)与原始明文图像3(a)的PSNR值,图像4(c)与原始明文图像4(a)的PSNR值,结果均为∞,即解密图像与明文图像完全相同,这说明本发明提供的图像加密算法为无损加密算法。
结合本文中所公开的实施例描述的各实例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已按照功能一般性地描述了各示例的组成及步骤。这些功能是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不认为超出本发明的范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如:只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,包含如下内容:
步骤a)、分别对输入的两幅彩色明文图像进行红、绿、蓝三基色分量进行分离,得到分离矩阵;并结合密钥,产生时空混沌系统中变形耦合映像格子的参数和初始值,通过迭代,产生密钥流L1、L2、K1、K2和随机数d1、d2、d3;
步骤b)、将分离矩阵分别转换成二进制矩阵,对二进制矩阵重新组合为两个重组矩阵,利用密钥流L1、L2对重组矩阵进行位级置乱,并对置乱后的矩阵进行分割;
步骤c)、利用DNA编码规则,并结合随机数d1、d2、d3,将分割后的矩阵进行转换得到初始DNA矩阵,并对DNA矩阵进行加、减和异或运算,得到DNA矩阵;
步骤d)、利用DNA解码规则和随机数d1、d2、d3,将DNA矩阵随机转换为十进制矩阵,并利用密钥流K1、K2和按位异或运算,改变图像像素的值,得到最终的密文图像。
2.根据权利要求1所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,该加密方法实现过程如下:
步骤(1)对输入大小为M×N×3的两幅彩色明文图像I0、P0,分别分离红、绿、蓝三基色分量,得到六个大小为M×N的矩阵IR0、IG0、IB0、PR0、PG0、PB0;并结合密钥ε0、α0、β0、xt(0)(t=1,2,3),产生时空混沌系统中变形耦合映像格子的参数和初始值,通过迭代该时空混沌系统,产生密钥流L1、L2、K1、K2和随机数d1、d2、d3;
步骤(2)将矩阵IR0、IG0、IB0、PR0、PG0、PB0分别转换成对应的二进制矩阵IR1、IG1、IB1、PR1、PG1、PB1,大小均为M×8N;将二进制矩阵IR1、IG1、IB1、PR1、PG1、PB1重新组成两个大小为3M×8N的重组矩阵A、B,利用密钥流L1、L2对重组矩阵A、B分别进行位级置乱,并将置乱后的矩阵分割成六个大小为M×8N的矩阵IR2、IG2、IB2、PR2、PG2、PB2;
步骤(3)利用DNA编码规则,结合随机数d1、d2、d3,将二进制矩阵IR2、IG2、IB2、PR2、PG2、PB2分别转换成大小为M×4N的初始DNA矩阵IR3、IG3、IB3、PR3、PG3、PB3,并执行DNA加、减和异或运算,得到DNA矩阵IR4、IG4、IB4、PR4、PG4、PB4;
步骤(4)利用DNA解码规则和随机数d1、d2、d3,将DNA矩阵IR4、IG4、IB4、PR4、PG4、PB4分别随机转换为十进制矩阵IR5、IG5、IB5、PR5、PG5、PB5,并利用密钥流K1、K2和按位异或运算,改变图像像素的值,得到最终的密文图像C1、C2。
3.根据权利要求2所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(1)中变形耦合映像格子表示为:
xn+1(i)=(1-ε)(1-f(xn(i)))+ε[f(xn(i+1))+f(xn(i-1))]/2,
其中,n为离散时间步数,i为离散格点坐标,f(u)=(1-β-4)·ctg(α/(1+β))·(1+1/β)β·tg(αu)·(1-u)β,ε为耦合系数,ε∈(0,1),α、β为正实数,且α∈(1.5,1.57],β∈[3,15]。
4.根据权利要求3所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(1)中产生密钥流L1、L2、K1、K2和随机数d1、d2、d3,包含如下内容:
步骤11、根据矩阵IR0、IG0、IB0、PR0、PG0、PB0,计算得到两幅图像的峰值信噪比PSNRR,G,B,并通过ε0、α0、β0、xt(0)(t=1,2,3)更新变形耦合映像格子的参数和初始值,得到参数ε′、α′、β′以及初始值x′t(0)(t=1,2,3);
步骤12、利用参数ε′、α′、β′以及初始值x′t(0)(t=1,2,3),迭代变形耦合映像格子MN+l次,并抛弃前l个值,得到长度为MN的3组混沌序列St,其中,l≥1500;
步骤13、对序列St做如下运算处理:
S′k(i)=10ρ×Sk(i)-fix(10ρ×Sk(i)),(i=1,2,L,MN)
d1=fix(mod(S′1(M)×1010,8)),
d2=fix(mod(S′2(M+N)×1012,8)),
d3=fix(mod(S′3(10M)×109,8)),
SK1={S′1(M+1),S′1(M+2),L,S′1(4M)},
SK2={S′2(8M-1),S′2(8M),L,S′2(12M)},
SK3=reshape(S′2,M,N),SK4=reshape(S′3,M,N),
[V1,L1]=sort(SK1),[V2,L2]=sort(SK2)
K1(i′,j′)=mod(fix(abs(S′3(i′,j′)×1012)),256),
K2(i′,j′)=mod(fix(abs(S′2(i′,j′)×1014)),256),
得到密钥流L1、L2、K1、K2和随机数d1、d2、d3,其中,fix(·)为取整函数,mod(·,·)为取余函数,abs(·)为取绝对值函数,函数reshape(X,M,N)根据长度为MN的序列X返回一个大小为M×N的矩阵,sort(X)为排序函数,ρ为正整数。
5.根据权利要求4所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤11中更新变形耦合映像格子的参数和初始值的计算公式如下:
<mrow>
<msub>
<mi>&Delta;</mi>
<mn>1</mn>
</msub>
<mo>=</mo>
<mrow>
<mo>(</mo>
<msqrt>
<mrow>
<msub>
<mi>PSNR</mi>
<mi>R</mi>
</msub>
<mo>&times;</mo>
<msub>
<mi>PSNR</mi>
<mi>G</mi>
</msub>
</mrow>
</msqrt>
<mo>)</mo>
</mrow>
<mo>/</mo>
<mn>256</mn>
<mo>/</mo>
<mn>10</mn>
<mo>,</mo>
</mrow>
Δ2=((PSNRG+PSNRB)/2)/256/10,
Δ3=(PSNRG+PSNRB-PSNRR)/256/10,
ε′=ε0+Δ1,α′=α0-Δ2,β′=β0+Δ3,
x′1(0)=(x1(0)+Δ1)mod 1,
x′2(0)=(x2(0)+Δ2)mod 1,
x′3(0)=(x3(0)+Δ3)mod 1。
6.根据权利要求2所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(2)中重新组成两个大小为3M×8N的重组矩阵A、B,重组过程如下:
A(1:M,1:8×N)=IB1(1:M,1:8×N),
A(M+1:2×M,1:8×N)=PG1(1:M,1:8×N),
A(2×M+1:3×M,1:8×N)=IR1(1:M,1:8×N),
B(1:M,1:8×N)=PB1(1:M,1:8×N),
B(M+1:2×M,1:8×N)=IG1(1:M,1:8×N),
B(2×M+1:3×M,1:8×N)=PR1(1:M,1:8×N)。
7.根据权利要求2所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(2)中利用密钥流L1、L2对重组矩阵A、B分别进行位级置乱,并将置乱后的矩阵分割成六个大小为M×8N的矩阵IR2、IG2、IB2、PR2、PG2、PB2,实现过程如下:
步骤2a、根据位级置乱规则,通过密钥流L1、L2对重组矩阵A、B分别进行位级置乱,所述的位级置乱规则内容如下:
A1(L1(i),j)=A(i,j),
A2(i,L2(j))=A1(i,j),
B1(L1(i),j)=B(i,j),
B2(i,L2(j))=B1(i,j),(i=1,2,L,3M;j=1,2,L,8N);
步骤2b、依据分块原理将置乱后的矩阵分割成六个大小为M×8N的矩阵IR2、IG2、IB2、PR2、PG2、PB2,所述的分块原理内容如下:
IR2=A2(1:M,1:8×N),
IG2=A2(M+1:2×M,1:8×N),
IB2=A2(2×M+1:3×M,1:8×N),
PR2=B2(1:M,1:8×N),
PG2=B2(M+1:2×M,1:8×N)。
8.根据权利要求2所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(3)中DNA编码规则和/或步骤(4)中DNA解码规则如下:
。
9.根据权利要求2所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(3)中执行DNA加、减和异或运算的DNA加、减、异或运算规则分别如下:
,
,
,
按照如下公式对DNA矩阵IR3、IG3、IB3、PR3、PG3、PB3进行加、减和异或运算:
IR4(i,j)=OperAdd(IR3(i,j),PB3(i,j)),
IG4(i,j)=OperSubtract(IR4(i,j),PG3(i,j)),
IB4(i,j)=OperXOR(IB3(i,j),IG4(i,j)),
PR4(i,j)=OperSubtract(IB4(i,j),PR3(i,j)),
PG4(i,j)=OperXOR(IG3(i,j),PR4(i,j)),
PB4(i,j)=OperAdd(PG4(i,j),IB3(i,j)),(i=1,2,L,M;j=1,2,L,8N)。
10.根据权利要求1所述的基于DNA序列运算和变形耦合映像格子的双彩色图像的加密方法,其特征在于,步骤(4)中利用密钥流K1、K2和按位异或运算,改变图像像素的值,计算公式如下:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710363952.3A CN107274457B (zh) | 2017-05-22 | 2017-05-22 | 基于dna序列运算和变形耦合映像格子的双彩色图像的加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710363952.3A CN107274457B (zh) | 2017-05-22 | 2017-05-22 | 基于dna序列运算和变形耦合映像格子的双彩色图像的加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107274457A true CN107274457A (zh) | 2017-10-20 |
CN107274457B CN107274457B (zh) | 2019-06-11 |
Family
ID=60065726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710363952.3A Active CN107274457B (zh) | 2017-05-22 | 2017-05-22 | 基于dna序列运算和变形耦合映像格子的双彩色图像的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107274457B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798708A (zh) * | 2017-11-16 | 2018-03-13 | 深圳大学 | 一种dna乱序编码和混沌映射的图像加密和解密方法 |
CN108366181A (zh) * | 2018-01-23 | 2018-08-03 | 西南财经大学 | 一种基于超混沌系统和多级置乱的图像加密方法 |
CN108566501A (zh) * | 2018-03-29 | 2018-09-21 | 河南大学 | 基于混合域和lss型耦合映像格子的彩色图像加密方法 |
CN108898540A (zh) * | 2018-05-23 | 2018-11-27 | 西安理工大学 | 基于离散分数角变换和混沌理论的双图像加密方法 |
CN109918923A (zh) * | 2019-01-25 | 2019-06-21 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN110149200A (zh) * | 2019-06-06 | 2019-08-20 | 四川大学 | 一种基于动态dna和4d混沌的彩色图像加密方法 |
CN111327900A (zh) * | 2020-01-21 | 2020-06-23 | 河南大学 | 基于压缩感知和变形耦合映像格子的彩色图像加密方法 |
CN112788195A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置和设备 |
CN113742765A (zh) * | 2021-11-08 | 2021-12-03 | 天津嘉萱智财云科技有限公司 | 一种基于区块链的智慧云数据安全保护系统及方法 |
CN115037845A (zh) * | 2022-05-11 | 2022-09-09 | 南开大学 | 基于Hachimoji DNA和Julia分形的彩色图像可逆隐藏方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702240A (zh) * | 2009-11-26 | 2010-05-05 | 大连大学 | 基于dna子序列运算的图像加密方法 |
CN103079064A (zh) * | 2012-12-27 | 2013-05-01 | 东北林业大学 | 基于cml的混沌序列图像加密算法 |
CN104680476A (zh) * | 2015-03-03 | 2015-06-03 | 河南大学 | 基于二维离散小波变换和时空混沌的彩色图像无损加密方法 |
CN106407824A (zh) * | 2016-09-28 | 2017-02-15 | 重庆第二师范学院 | 一种图像加密方法及装置 |
-
2017
- 2017-05-22 CN CN201710363952.3A patent/CN107274457B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702240A (zh) * | 2009-11-26 | 2010-05-05 | 大连大学 | 基于dna子序列运算的图像加密方法 |
CN103079064A (zh) * | 2012-12-27 | 2013-05-01 | 东北林业大学 | 基于cml的混沌序列图像加密算法 |
CN104680476A (zh) * | 2015-03-03 | 2015-06-03 | 河南大学 | 基于二维离散小波变换和时空混沌的彩色图像无损加密方法 |
CN106407824A (zh) * | 2016-09-28 | 2017-02-15 | 重庆第二师范学院 | 一种图像加密方法及装置 |
Non-Patent Citations (1)
Title |
---|
KUNSHU WANG 等: "Double color images encryption based on DNA sequences and block permutation", 《ADVANCES IN ENGINEERING RESEARCH》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107798708A (zh) * | 2017-11-16 | 2018-03-13 | 深圳大学 | 一种dna乱序编码和混沌映射的图像加密和解密方法 |
CN108366181A (zh) * | 2018-01-23 | 2018-08-03 | 西南财经大学 | 一种基于超混沌系统和多级置乱的图像加密方法 |
CN108566501A (zh) * | 2018-03-29 | 2018-09-21 | 河南大学 | 基于混合域和lss型耦合映像格子的彩色图像加密方法 |
CN108566501B (zh) * | 2018-03-29 | 2020-04-03 | 河南大学 | 基于混合域和lss型耦合映像格子的彩色图像加密方法 |
CN108898540A (zh) * | 2018-05-23 | 2018-11-27 | 西安理工大学 | 基于离散分数角变换和混沌理论的双图像加密方法 |
CN109918923B (zh) * | 2019-01-25 | 2023-08-25 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN109918923A (zh) * | 2019-01-25 | 2019-06-21 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN110149200A (zh) * | 2019-06-06 | 2019-08-20 | 四川大学 | 一种基于动态dna和4d混沌的彩色图像加密方法 |
CN110149200B (zh) * | 2019-06-06 | 2020-03-20 | 四川大学 | 一种基于动态dna和4d混沌的彩色图像加密方法 |
CN112788195A (zh) * | 2019-11-11 | 2021-05-11 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置和设备 |
CN112788195B (zh) * | 2019-11-11 | 2023-08-29 | 阿里巴巴集团控股有限公司 | 图像处理方法、装置和设备 |
CN111327900A (zh) * | 2020-01-21 | 2020-06-23 | 河南大学 | 基于压缩感知和变形耦合映像格子的彩色图像加密方法 |
CN111327900B (zh) * | 2020-01-21 | 2022-03-01 | 河南大学 | 基于压缩感知和变形耦合映像格子的彩色图像加密方法 |
CN113742765B (zh) * | 2021-11-08 | 2022-02-08 | 天津嘉萱智财云科技有限公司 | 一种基于区块链的智慧云数据安全保护系统及方法 |
CN113742765A (zh) * | 2021-11-08 | 2021-12-03 | 天津嘉萱智财云科技有限公司 | 一种基于区块链的智慧云数据安全保护系统及方法 |
CN115037845A (zh) * | 2022-05-11 | 2022-09-09 | 南开大学 | 基于Hachimoji DNA和Julia分形的彩色图像可逆隐藏方法 |
CN115037845B (zh) * | 2022-05-11 | 2023-02-24 | 南开大学 | 基于Hachimoji DNA和Julia分形的彩色图像可逆隐藏方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107274457B (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107274457B (zh) | 基于dna序列运算和变形耦合映像格子的双彩色图像的加密方法 | |
CN108898025B (zh) | 基于双重置乱和dna编码的混沌图像加密方法 | |
CN111105339B (zh) | 一种基于多维混沌系统和约瑟夫置乱的图像加密方法 | |
CN102982499B (zh) | 基于多分数阶混沌系统的彩色图像加密和解密方法 | |
CN105681622B (zh) | 一种基于细胞神经网络超混沌和dna序列的彩色图像加密方法 | |
Wang et al. | On the security of 3D Cat map based symmetric image encryption scheme | |
CN106339976B (zh) | 一种加密方法 | |
CN104008520B (zh) | 基于sha-384函数、时空混沌系统、量子混沌系统和神经网络的彩色图像加密方法 | |
CN101739695B (zh) | 一种基于三维Arnold映射的图像分组加密方法 | |
CN108322622B (zh) | 一种基于2d-vmd和八维超混沌系统的彩色数字图像加密方法 | |
CN104680476B (zh) | 基于二维离散小波变换和时空混沌的彩色图像无损加密方法 | |
CN105513002B (zh) | 一种图像加密方法 | |
CN107094072B (zh) | 一种基于广义Henon映射的混合混沌加密方法 | |
CN103530571A (zh) | 基于正弦映射和Logistic混沌序列的图像加密方法 | |
CN101604439A (zh) | 一种基于多混沌系统的彩色图像加密方法 | |
CN103455971A (zh) | 三维Arnold变换和混沌序列结合的图像加密方法 | |
CN103440613B (zh) | 超混沌Rossler系统的彩色图像加密方法 | |
CN105631796A (zh) | 基于比特置乱的量子混沌图像加密方法 | |
CN104809685A (zh) | 一种基于6维混沌系统的彩色图像一次性密钥dna加密方法 | |
CN107330338B (zh) | 基于双混沌交叉扩散的彩色图像加密和解密方法及系统 | |
CN108566501B (zh) | 基于混合域和lss型耦合映像格子的彩色图像加密方法 | |
CN105447396A (zh) | 基于Arnold变换和复合混沌的分数域图像加密方法 | |
CN105701755A (zh) | 一种基于分形和dna序列操作的图像加密方法 | |
CN104050617B (zh) | 基于Liu混沌系统的图像加密方法 | |
CN104463766A (zh) | 一种基于eca状态环的qr码加密和解密方法 |
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 |