一种DNA乱序编码和混沌映射的图像加密和解密方法与流程

文档序号:13935270阅读:206来源:国知局
一种DNA乱序编码和混沌映射的图像加密和解密方法与流程

本发明涉及图像加密领域,尤其涉及一种dna乱序编码和混沌映射的图像加密和解密方法。



背景技术:

近几年随着互联网的发展,智能设备的普及,更多的人们开始使用互联网传输各种数据,图像作为良好的信息载体,有着数据量大、冗余度高的特点,并且人类对图像信息表现出高效的感知能力,大量的数字图像通过互联网进行传输,但由于互联网具有开放性,传输的数据很容易被截取、捕获。图像加密逐渐成为研究热点。

1963年美国著名气象学家lorenz,无意间发现混沌现象后,对混沌现象的研究就没有停息,相继出现了混沌同步、混沌控制等领域的研究成果。同时混沌系统具有的遍历性、伪随机性、对初始条件的极端敏感性、长期不可预测等特点都非常适合应用于密码系统中。许多研究人员将不同领域的知识引入密码学中,以期设计出更好的加密系统。使用生物dna序列并行计算的特点对图像编码、运算,并结合混沌理论对图像进行加密是一种新的加密方法。但由于一些算法的结构缺陷,例如:单一的dna编码方式、一味的提高混沌系统的维数及复杂度而不去改善加密结构等。一些基于dna编码及混沌的加密算法陆续被指出存在不同程度的安全问题,且混沌系统主要贡献于加密系统的是其产生的伪随机序列,如果没有良好的算法结构去抵抗密码攻击,攻击者很可能直接破解出该随机序列,而不用关心混沌系统是否复杂。



技术实现要素:

本发明针对现有方式的缺点,提出一种dna乱序编码和混沌映射的图像加密和解密方法,用以解决现有技术存在的上述问题。

根据本发明的第一个方面,提供了一种dna乱序编码和混沌映射的图像加密方法,包括如下步骤:

s101.设置混沌系统的密钥:读取原图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0;

s102.所述混沌系统根据密钥产生加密矩阵:生成两个一维logistic映射,彼此进行按位抽取,生成的四个随机加密矩阵:zb1{i,j}m*8n、zb2{i,j}m*8n、z3{i,j}m*8n以及z4{i,j}m*8n,并对zb1{i,j}m*8n和zb2{i,j}m*8n分别进行随机加密以进行dna标准编码,得到对应的dna矩阵zdna_1{i,j}m*4n、zdna_2{i,j}m*4n;

s103.dna编码:将明文图像a{i,j}m*n二进制化后,按第一预设方式进行dna编码得到adna{i,j}m*4n;

s104.dna乱序编码:将adna{i,j}m*4n按第二预设方式以及zdna_1{i,j}m*4n进行dna乱序编码得到bdna{i,j}m*4n;

s105.dna加法:将bdna{i,j}m*4n按第三预设方式与zdna_2{i,j}m*4n进行dna加法得到cdna{i,j}m*4n;

s106.dna解码:将cdna{i,j}m*4n按第一预设方式的编码方式,进行dna解码,得到二进制矩阵kb{i,j}m*8n;

s107.二维混沌置乱:依据z3{i,j}m*8n和z4{i,j}m*8n两个随机加密矩阵进行行列互换,置乱kb{i,j}m*8n,得到k'b{i,j}m*8n;

s108.将k'b{i,j}m*8n恢复为灰度图像,即得到密文图像k{i,j}m*n。

进一步的,所述步骤s102中的生成两个一维logistic映射,彼此进行按位抽取,生成的四个加密矩阵是指,将两个logistic映射进行相互按位抽取随机数的方法,产生随机加密矩阵。

进一步的,所述第一预设方式是指:1依次经过a、c、g、t编码后依次为00、01、10、11,2依次经过a、c、g、t编码后依次为00、10、01、11,3依次经过a、c、g、t编码后依次为01、00、11、10,4依次经过a、c、g、t编码后依次为01、11、00、10,5依次经过a、c、g、t编码后依次为10、00、11、01,6依次经过a、c、g、t编码后依次为10、11、00、01,7依次经过a、c、g、t编码后依次为11、01、10、11,8依次经过a、c、g、t编码后依次为11、10、01、00。

进一步的,所述第二预设方式是指:a依次经过a、c、g、t编码后依次为c、g、a、t,c依次经过a、c、g、t编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为a、t、c、g,t经过a、c、g、t编码后依次为t、a、g、c。

进一步的,所述第三预设方式是指:a依次经过a、c、g、t编码后依次为a、c、g、t,c依次经过c、a、t、g编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为t、g、a、c,t经过a、c、g、t编码后依次为t、g、c、a。

根据本发明的第一个方面,提供了一种dna乱序编码和混沌映射的图像解密方法,包括如下步骤:

s201.设置混沌系统密钥:读取密文k{i,j}m*n图像大小m*n,密钥u0、x0、u1、x1,以及明文图像的信息熵h0;

s202.所述混沌系统根据密钥产生加密矩阵:生成两个一维logistic映射,彼此进行按位抽取生成的四个加密矩阵:zb1{i,j}m*8n、zb2{i,j}m*8n、z3{i,j}m*8n以及z4{i,j}m*8n,并将zb1{i,j}m*8n、zb2{i,j}m*8n两个随机矩阵进行dna标准编码,得到对应的dna矩阵zdna_1{i,j}m*4n、zdna_2{i,j}m*4n;其具体步骤为:

读取图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0,利用h0小数点后第3位、12位、14位修改混沌系统初始密钥并对初始位置b0赋值;按下式进行抽取:

b0=floor(mod(103*h0,10));

x0=x0+b12*10-12

x1=x1+b14*10-14

其中:

b12=floor(mod(1012*h0,10))

b14=floor(mod(1014*h0,10))

然后由两个logistic映射按各自密钥u0、x0、u1、x1,分别产生m*8n个随机数,生成序列l1(k)、l2(k)并合成m*8n大小的随机矩阵z3{i,j}m*8n、z4{i,j}m*8n,i∈[1,m],j∈[1,8n];按下式分别抽取l1(k),l2(k)中相应位,并作为彼此下一次抽取的初始位;

其中,初始位置为b0且b0=0,1,2…9;

重复上步,其中k=1,2,3…m*8n,直到l1(k)、l2(k)序列被遍历,得到序列ak,bk;

由序列ak,bk合成m*8n大小的随机矩阵a{i,j}m*8n、b{i,j}m*8n,按式得到二进制随机矩阵zb1{i,j}m*8n,zb2{i,j}m*8n;

s203.将图像密文图像k{i,j}m*n二进制化后,得到k'b{i,j}m*8n;

s204.逆二维混沌置乱:依据z3{i,j}m*8n和z4{i,j}m*8n,两个混沌矩阵,进行行列互换,逆置乱k'b{i,j}m*8n,得到kb{i,j}m*8n;

s205.dna编码:将图像kb{i,j}m*8n,按第一预设方式中的一种进行dna编码得到cdna{i,j}m*4n;

s206.dna加法:将cdna{i,j}m*4n按第三预设方式与zdna_2{i,j}m*4n进行dna加法得到bdna{i,j}m*4n;

s207.逆dna乱序编码:将bdna{i,j}m*4n按第二预设方式以及zdna_1{i,j}m*4n进行逆dna乱序编码得到adna{i,j}m*4n;

s208.设置混沌系统密钥:读取密文k{i,j}m*n图像大小m*n,密钥u0、x0、u1、x1,以及明文图像的信息熵h0。

进一步的,所述s203的具体步骤为:

使用生成的置乱矩阵z3{i,j}m*8n、z4{i,j}m*8n对图像k'b{i,j}m*8n进行逆置乱,读取图像k'b{i,j}m*8n行列大小为:x、y,且max_m=2*x-1、max_n=2*y-1,接着计算倍率:a1=10i、b1=10k;重复上步,其中i,k=1,2,…10,直到a1>max_m,b1>max_n,得到a1,b1;计算置乱坐标并按下式置乱:

其中:

x3(i,j)=mod(floor(a1*z3(i,j)),x)

y4(i,j)=mod(floor(b1*z4(i,j)),y)

重复上步直到将矩阵k'b{i,j}m*8n遍历s0次,得逆置乱后的矩阵kb{i,j}m*8n。

进一步的,所述第一预设方式是指:1依次经过a、c、g、t编码后依次为00、01、10、11,2依次经过a、c、g、t编码后依次为00、10、01、11,3依次经过a、c、g、t编码后依次为01、00、11、10,4依次经过a、c、g、t编码后依次为01、11、00、10,5依次经过a、c、g、t编码后依次为10、00、11、01,6依次经过a、c、g、t编码后依次为10、11、00、01,7依次经过a、c、g、t编码后依次为11、01、10、00,8依次经过a、c、g、t编码后依次为11、10、01、00。

进一步的,所述第二预设方式是指:a依次经过a、c、g、t编码后依次为c、g、a、t,c依次经过a、c、g、t编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为a、t、c、g,t经过a、c、g、t编码后依次为t、a、g、c。

进一步的,所述第三预设方式是指:a依次经过a、c、g、t编码后依次为a、c、g、t,c依次经过c、a、t、g编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为g、t、a、c,t经过a、c、g、t编码后依次为t、g、c、a。

与现有技术相比,本发明的有益效果是:

1、本发明的加密方法是一种以混沌加密技术中的一维logistic混沌映射、dna编码计算为基础,再综合dna乱序编码、基于多个一维logistic混沌映射的按位抽取算法以及二维混沌置乱的加密方法,具有低复杂度、高性能、安全可靠的图像加密算法特性;

2、本发明加密和解密方法均利用混沌系统按本文相应算法产生的随机矩阵,结合明文图像矩阵进行dna乱序编码,并用二维混沌置乱进行加密图像的比特级置乱来代替dna碱基对互补替换,降低加密成本的同时,也使加密算法具有良好的加密结构可有效抵抗各种密码攻击行为。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的一种dna乱序编码和混沌映射的图像加密方法流程图;

图2为本发明实施例的图像加密流程图;

图3为本发明实施例的一种dna乱序编码和混沌映射的图像解密方法流程图;

图4为本发明实施例的图像解密流程图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分例,实施而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

因此,为了有效抵抗选择明文攻击,已知明文攻击等密码攻击行为,改善加密结构,解决dna编码透明等加密问题,提供了一种dna乱序编码和混沌映射的图像加密和解密方法。

实施例一

如图1所示,提供了本发明一个实施例的一种dna乱序编码和混沌映射的图像加密方法,该方法包括步骤s101-s108:

s101.设置混沌系统的密钥:读取原图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0;

s102.混沌系统根据密钥产生加密矩阵:生成两个一维logistic映射,彼此进行按位抽取,生成的四个随机加密矩阵:zb1{i,j}m*8n、zb2{i,j}m*8n、z3{i,j}m*8n以及z4{i,j}m*8n,并对zb1{i,j}m*8n和zb2{i,j}m*8n分别进行随机加密以进行dna标准编码,得到对应的dna矩阵zdna_1{i,j}m*4n、zdna_2{i,j}m*4n;

s103.dna编码:将明文图像a{i,j}m*n二进制化后,按第一预设方式进行dna编码得到adna{i,j}m*4n;

s104.dna乱序编码:将adna{i,j}m*4n按第二预设方式以及zdna_1{i,j}m*4n进行dna乱序编码得到bdna{i,j}m*4n;

s105.dna加法:将bdna{i,j}m*4n按第三预设方式与zdna_2{i,j}m*4n进行dna加法得到cdna{i,j}m*4n;

s106.dna解码:将cdna{i,j}m*4n按第一预设方式的编码方式,进行dna解码,得到二进制矩阵kb{i,j}m*8n;

s107.二维混沌置乱:依据z3{i,j}m*8n和z4{i,j}m*8n两个随机加密矩阵进行行列互换,置乱kb{i,j}m*8n,得到k'b{i,j}m*8n;

s108.将k'b{i,j}m*8n恢复为灰度图像,即得到密文图像k{i,j}m*n。

进一步的,步骤s102中的生成两个一维logistic映射,彼此进行按位抽取,生成的四个加密矩阵是指,将两个logistic映射进行相互按位抽取随机数的方法,产生随机加密矩阵。

进一步的,第一预设方式是指:1依次经过a、c、g、t编码后依次为00、01、10、11,2依次经过a、c、g、t编码后依次为00、10、01、11,3依次经过a、c、g、t编码后依次为01、00、11、10,4依次经过a、c、g、t编码后依次为01、11、00、10,5依次经过a、c、g、t编码后依次为10、00、11、01,6依次经过a、c、g、t编码后依次为10、11、00、01,7依次经过a、c、g、t编码后依次为11、01、10、11,8依次经过a、c、g、t编码后依次为11、10、01、00。

进一步的,第二预设方式是指:a依次经过a、c、g、t编码后依次为c、g、a、t,c依次经过a、c、g、t编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为a、t、c、g,t经过a、c、g、t编码后依次为t、a、g、c。

进一步的,第三预设方式是指:a依次经过a、c、g、t编码后依次为a、c、g、t,c依次经过c、a、t、g编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为t、g、a、c,t经过a、c、g、t编码后依次为t、g、c、a。

具体的,如图2所示,一种dna乱序编码和混沌映射的图像加密方法的详细步骤为:

a.设置混沌系统密钥:读取图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0。

b.混沌系统根据密钥产生加密矩阵:生成两个一维logistic映射,彼此进行按位抽取生成的四个加密矩阵:zb1{i,j}m*8n、zb2{i,j}m*8n、z3{i,j}m*8n以及z4{i,j}m*8n,并将zb1{i,j}m*8n、zb2{i,j}m*8n两个随机矩阵进行dna标准编码,得到对应的dna矩阵zdna_1{i,j}m*4n、zdna_2{i,j}m*4n。其步骤为:

读取图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0(保留小数点后15位),利用h0小数点后第3位、12位、14位修改混沌系统初始密钥并对初始位置b0赋值。按下式进行抽取:

b0=floor(mod(103*h0,10))

x0=x0+b12*10-12

x1=x1+b14*10-14

其中:

b12=floor(mod(1012*h0,10))

b14=floor(mod(1014*h0,10))

然后由两个logistic映射按各自密钥u0、x0、u1、x1,分别产生m*8n个随机数(精度保留小数点后10位),生成序列l1(k)、l2(k)并合成m*8n大小的随机矩阵z3{i,j}m*8n、z4{i,j}m*8n,i∈[1,m],j∈[1,8n]。按下式分别抽取l1(k),l2(k)中相应位,并作为彼此下一次抽取的初始位。

其中初始位置为b0且b0=0,1,2…9。重复上步,其中k=1,2,3…m*8n,直到l1(k)、l2(k)序列被遍历,得到序列ak,bk。由序列ak,bk合成m*8n大小的随机矩阵a{i,j}m*8n、b{i,j}m*8n,按下式得到二进制随机矩阵zb1{i,j}m*8n,zb2{i,j}m*8n。

c.dna编码:将图像明文图像a{i,j}m*n二进制化后,按表一8种方式中的一种进行dna编码得到adna{i,j}m*4n。具体步骤为:

每取adna{i,j}m*8n中的两位二进制,按照表一,编码为对应的dna碱基。

表一:

d.dna乱序编码:将adna{i,j}m*4n按表二以及zdna_1{i,j}m*4n进行dna乱序编码得到bdna{i,j}m*4n。具体步骤为:以查表的方式对dna编码后的adna{i,j}m*4n进行替换,例如zdna_1{0,0}m*4n=a;adna{0,0}m*4n=c,则bdna{0,0}m*4n=g。

表二:

e.dna加法:将bdna{i,j}m*4n按表三与zdna_2{i,j}m*4n进行dna加法得到cdna{i,j}m*4n。

表三:

f.dna解码:将cdna{i,j}m*4n按表一中的编码方式,进行dna解码,得到二进制矩阵kb{i,j}m*8n。

g.二维混沌置乱:依据z3{i,j}m*8n和z4{i,j}m*8n,两个混沌矩阵,进行行列互换,置乱kb{i,j}m*8n,得到k'b{i,j}m*8n。具体步骤为:

使用生成的置乱矩阵z3{i,j}m*8n、z4{i,j}m*8n对图像kb{i,j}m*8n进行置乱,读取图像kb{i,j}m*8n行列大小为:x、y,且max_m=2*x-1、max_n=2*y-1,接着计算倍率:a1=10i、b1=10k。重复上步,其中i,k=1,2,…10,直到a1>max_m,b1>max_n,得到a1,b1。计算置乱坐标并按下式置乱:

其中:

x3(i,j)=mod(floor(a1*z3(i,j)),x)

y4(i,j)=mod(floor(b1*z4(i,j)),y)

重复上步直到将矩阵kb{i,j}m*8n遍历s0次,得置乱后的矩阵k'b{i,j}m*8n。

h.将k'b{i,j}m*8n恢复为灰度图像,即得到密文图像k{i,j}m*n。

如图3所示,提供了本发明实施例的一种dna乱序编码和混沌映射的图像解密方法,解密过程为加密的反过程,该方法包括步骤s201-s208:

s201.设置混沌系统密钥:读取密文k{i,j}m*n图像大小m*n,密钥u0、x0、u1、x1,以及明文图像的信息熵h0;

s202.混沌系统根据密钥产生加密矩阵:生成两个一维logistic映射,彼此进行按位抽取生成的四个加密矩阵:zb1{i,j}m*8n、zb2{i,j}m*8n、z3{i,j}m*8n以及z4{i,j}m*8n,并将zb1{i,j}m*8n、zb2{i,j}m*8n两个随机矩阵进行dna标准编码,得到对应的dna矩阵zdna_1{i,j}m*4n、zdna_2{i,j}m*4n;其具体步骤为:

读取图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0,利用h0小数点后第3位、12位、14位修改混沌系统初始密钥并对初始位置b0赋值;按下式进行抽取:

b0=floor(mod(103*h0,10));

x0=x0+b12*10-12

x1=x1+b14*10-14

其中:

b12=floor(mod(1012*h0,10))

b14=floor(mod(1014*h0,10))

然后由两个logistic映射按各自密钥u0、x0、u1、x1,分别产生m*8n个随机数,生成序列l1(k)、l2(k)并合成m*8n大小的随机矩阵z3{i,j}m*8n、z4{i,j}m*8n,i∈[1,m],j∈[1,8n];按下式分别抽取l1(k),l2(k)中相应位,并作为彼此下一次抽取的初始位;

其中,初始位置为b0且b0=0,1,2…9;

重复上步,其中k=1,2,3…m*8n,直到l1(k)、l2(k)序列被遍历,得到序列ak,bk;

由序列ak,bk合成m*8n大小的随机矩阵a{i,j}m*8n、b{i,j}m*8n,按式得到二进制随机矩阵zb1{i,j}m*8n,zb2{i,j}m*8n;

s203.将图像密文图像k{i,j}m*n二进制化后,得到k'b{i,j}m*8n;

s204.逆二维混沌置乱:依据z3{i,j}m*8n和z4{i,j}m*8n,两个混沌矩阵,进行行列互换,逆置乱k'b{i,j}m*8n,得到kb{i,j}m*8n;

s205.dna编码:将图像kb{i,j}m*8n,按第一预设方式中的一种进行dna编码得到cdna{i,j}m*4n;

s206.dna加法:将cdna{i,j}m*4n按第三预设方式与zdna_2{i,j}m*4n进行dna加法得到bdna{i,j}m*4n;

s207.逆dna乱序编码:将bdna{i,j}m*4n按第二预设方式以及zdna_1{i,j}m*4n进行逆dna乱序编码得到adna{i,j}m*4n;

s208.设置混沌系统密钥:读取密文k{i,j}m*n图像大小m*n,密钥u0、x0、u1、x1,以及明文图像的信息熵h0。

进一步的,s203的具体步骤为:

使用生成的置乱矩阵z3{i,j}m*8n、z4{i,j}m*8n对图像k'b{i,j}m*8n进行逆置乱,读取图像k'b{i,j}m*8n行列大小为:x、y,且max_m=2*x-1、max_n=2*y-1,接着计算倍率:a1=10i、b1=10k;重复上步,其中i,k=1,2,…10,直到a1>max_m,b1>max_n,得到a1,b1;计算置乱坐标并按下式置乱:

其中:

x3(i,j)=mod(floor(a1*z3(i,j)),x)

y4(i,j)=mod(floor(b1*z4(i,j)),y)

重复上步直到将矩阵k'b{i,j}m*8n遍历s0次,得逆置乱后的矩阵kb{i,j}m*8n。

进一步的,第一预设方式是指:1依次经过a、c、g、t编码后依次为00、01、10、11,2依次经过a、c、g、t编码后依次为00、10、01、11,3依次经过a、c、g、t编码后依次为01、00、11、10,4依次经过a、c、g、t编码后依次为01、11、00、10,5依次经过a、c、g、t编码后依次为10、00、11、01,6依次经过a、c、g、t编码后依次为10、11、00、01,7依次经过a、c、g、t编码后依次为11、01、10、00,8依次经过a、c、g、t编码后依次为11、10、01、00。

进一步的,第二预设方式是指:a依次经过a、c、g、t编码后依次为c、g、a、t,c依次经过a、c、g、t编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为a、t、c、g,t经过a、c、g、t编码后依次为t、a、g、c。

进一步的,第三预设方式是指:a依次经过a、c、g、t编码后依次为a、c、g、t,c依次经过c、a、t、g编码后依次为g、c、t、a,g依次经过a、c、g、t编码后依次为g、t、a、c,t经过a、c、g、t编码后依次为t、g、c、a。

具体的,,如图4所示,一种dna乱序编码和混沌映射的图像解密方法的详细步骤为:

a.设置混沌系统密钥:读取密文k{i,j}m*n图像大小m*n,密钥u0、x0、u1、x1,以及明文图像的信息熵h0;

b.混沌系统根据密钥产生加密矩阵:生成两个一维logistic映射,彼此进行按位抽取生成的四个加密矩阵:zb1{i,j}m*8n、zb2{i,j}m*8n、z3{i,j}m*8n以及z4{i,j}m*8n,并将zb1{i,j}m*8n、zb2{i,j}m*8n两个随机矩阵进行dna标准编码,得到对应的dna矩阵zdna_1{i,j}m*4n、zdna_2{i,j}m*4n。其步骤为:

读取图像大小m*n,密钥u0、x0、u1、x1,并计算明文图像的信息熵h0,h0的取值保留小数点后15位,利用h0小数点后第3位、12位、14位修改混沌系统初始密钥并对初始位置b0赋值;按下式进行抽取:

b0=floor(mod(103*h0,10))

x0=x0+b12*10-12

x1=x1+b14*10-14

其中:

b12=floor(mod(1012*h0,10))

b14=floor(mod(1014*h0,10))

然后由两个logistic映射按各自密钥u0、x0、u1、x1,分别产生m*8n个随机数,随机数的精度保留小数点后10位,生成序列l1(k)、l2(k)并合成m*8n大小的随机矩阵z3{i,j}m*8n、z4{i,j}m*8n,i∈[1,m],j∈[1,8n]。按下式分别抽取l1(k),l2(k)中相应位,并作为彼此下一次抽取的初始位。

其中,初始位置为b0且b0=0,1,2…9;重复上步,其中k=1,2,3…m*8n,直到l1(k)、l2(k)序列被遍历,得到序列ak,bk。

由序列ak,bk合成m*8n大小的随机矩阵a{i,j}m*8n、b{i,j}m*8n,按式得到二进制随机矩阵zb1{i,j}m*8n,zb2{i,j}m*8n;

c.将图像密文图像k{i,j}m*n二进制化后,得到k'b{i,j}m*8n;

d.逆二维混沌置乱:依据z3{i,j}m*8n和z4{i,j}m*8n,两个混沌矩阵,进行行列互换,逆置乱k'b{i,j}m*8n,得到kb{i,j}m*8n;具体步骤为:

使用生成的置乱矩阵z3{i,j}m*8n、z4{i,j}m*8n对图像k'b{i,j}m*8n进行逆置乱,读取图像k'b{i,j}m*8n行列大小为:x、y,且max_m=2*x-1、max_n=2*y-1,接着计算倍率:a1=10i、b1=10k;重复上步,其中i,k=1,2,…10,直到a1>max_m,b1>max_n,得到a1,b1。

计算置乱坐标并按下式置乱:

其中:

x3(i,j)=mod(floor(a1*z3(i,j)),x)

y4(i,j)=mod(floor(b1*z4(i,j)),y)

重复上步直到将矩阵k'b{i,j}m*8n遍历s0次,得逆置乱后的矩阵kb{i,j}m*8n。

e.dna编码:将图像kb{i,j}m*8n,按表四8种方式中的一种进行dna编码得到cdna{i,j}m*4n;具体步骤为:

每取kb{i,j}m*8n中的两位二进制,按照表四,编码为对应的dna碱基。

表四:

例如,第一次取kb{1,7}m*8n中的两位二进制分别为00和10,按照表四,编码为对应的dna碱基a和g;

第二次取kb{3,6}m*8n中的两位二进制分别为10和01,按照表四,编码为对应的dna碱基t和t;依次类推。

值得注意的是,本发明中的举例只是为了让本领域的技术人员易于理解,在算法应用中往往较为复杂。

f.dna加法:将cdna{i,j}m*4n按表五与zdna_2{i,j}m*4n进行dna加法得到bdna{i,j}m*4n。

表五:

g.逆dna乱序编码:将bdna{i,j}m*4n按表六以及zdna_1{i,j}m*4n进行逆dna乱序编码得到adna{i,j}m*4n;具体步骤为:以查表的方式对bdna{i,j}m*4n进行替换,例如zdna_1{0,0}m*4n=a;bdna{0,0}m*4n=g,则:adna{0,0}m*4n=c

表六:

h.设置混沌系统密钥:读取密文k{i,j}m*n图像大小m*n,密钥u0、x0、u1、x1,以及明文图像的信息熵h0。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的混沌系统,模块和相关工作单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1