一种基于五维超混沌系统的图像加密方法与流程

文档序号:17758697发布日期:2019-05-24 21:30阅读:259来源:国知局
一种基于五维超混沌系统的图像加密方法与流程

本申请涉及信息安全领域,尤其涉及一种图像加密的方法。



背景技术:

随着通信技术和因特网的飞速发展,人们对信息安全的重要性越来越重视了。图像是人们熟知的媒介并在网络上广泛的传播。为了保护重要图像和私密图像,人们提出了多种加密方法。混沌理论作为一种非线性科学,具有对系统参数和初始条件高度敏感性、伪随机性、各态遍历性和可重复性等特点,非常适合用来加密。目前已经提出了很多基于混沌理论的图像加密方法,例如文献cn108366181a公开了一种基于dna操作和混沌映射的图像加密算法。但是现有方法多是基于低维混沌映射,密钥空间和系统参数较小,用来进行图像加密并不十分安全。

高维混沌系统有超过1个正的李雅普诺夫指数,与低维混沌系统相比,高维混沌系统能够产生更加复杂的动态行为和更高的随机性,业内也已经就此开展了一些研究。



技术实现要素:

本申请的目的在于提供一种基于五维超混沌系统的图像加密方法,通过新的混沌序列生成和图像置乱方法提高了图像加密的安全性。

本申请采用如下的技术方案:

一种基于五维超混沌系统的图像加密方法,包括:

基于五维超混沌系统生成第一、第二和第三随机序列;

利用所生成的第一随机序列对明文图像进行置乱,得到置乱图像;

利用所生成的第二和第三随机序列和得到的置乱图像计算得到扩散序列;

变换扩散序列到图像矩阵,完成对所述明文图像的加密。

进一步地,所述基于五维超混沌系统生成第一、第二和第三随机序列包括:

根据密钥计算所述超混沌系统的迭代初始值;

根据所述迭代初始值对所述超混沌系统进行迭代,生成五个随机实数序列;

从所述五个随机实数序列中选择四个随机实数序列,将其组合为长度为mn的多个新序列,m和n分别是所述明文图像的行数和列数;

对所述多个新序列进行重排,生成第一、第二和第三随机序列。

进一步地,所述根据密钥计算所述超混沌系统的迭代初始值包括:

其中,是系统初始密钥,mod(x,y)表示x除以y的余数,p(a,b)是明文像素值。

进一步地,所述根据所述迭代初始值对所述超混沌系统进行迭代,生成五个随机实数序列包括:

迭代所述超混沌系统n0次以去除暂态效应;

其中,floor(x)表示返回小于或等于x的最大整数;

迭代所述超混沌系统mn/4次,产生5个随机实数序列:

x=[x1,x2,…,xmn/4],y=[y1,y2,…,ymn/4],z=[z1,z2,…,zmn/4],u=[u1,u2,…,umn/4]和v=[v1,v2,…,vmn/4]。

进一步地,所述从所述多个随机实数序列中选择部分随机实数序列,将其组合为长度为mn的多个新序列包括:

从所述5个随机实数序列中选择4个序列,并把它们组合成长度为mn的4个新序列:

k1={y,z,v,x},k2={x,v,z,u},k3={v,x,z,y}和k4={u,y,z,v}。

进一步地,所述对所述多个新序列进行重排,生成第一、第二和第三随机序列包括:

把序列k1,k2和k3按照如下公式进行重排得到第一随机序列k1',第二随机序列k'2和第三随机序列k'3:

[g,h]=sort(k4)

kj’(i)=kj(h(i))

其中,sort(k4)表示对序列k4按大小进行排序,i=1,2,…,mn,j=1,2,3,g表示新的序列,h是序列g中各元素在序列k4中的位置索引组成的序列。

进一步地,所述利用所生成的第一随机序列对明文图像进行置乱,得到置乱图像包括:

对序列k1'取绝对值,并变换成大小为m×n的矩阵s;

对矩阵s按列进行排序得到索引矩阵c;

对矩阵c进行列扩展得到矩阵ce;

以矩阵c中的相应元素作为行坐标,以该元素所在的列作为列坐标,假设矩阵c中第e行元素为ce,1,ce,2,…,cen,那么矩阵ce中第e行元素为(ce,1,1),(ce,2,2),…,(cen,n);

以ce中的元素对作为坐标找到矩阵s中对应的元素并按大小进行排序,得到排序后的坐标矩阵t;

利用矩阵t对明文图像p进行置乱,得到置乱图像p’。

进一步地,所述利用所生成的第二和第三随机序列和得到的置乱图像计算得到扩散序列包括:

根据下述公式修正序列k'2和k3':

k'2(i)=mod(floor(abs(k'2(i))×1015),8),

k3'(i)=mod(floor(abs(k3'(i))×1015),256),

其中,k'2(i)∈[0,7],k3'(i)∈[0,255]并且i=1,2,…,mn;

转换置乱图像p’和k'2为相应的二进制序列;

根据如下公式得到序列q:

q(r)=circshift[p’(r),lsb(k'2(r)),k'2(r)],

其中,circshift[u,v,w]表示对二进制序列u进行w比特的循环移位操作;lsb(v)表示向量v的最低有效位,v=1或者v=0决定是右循环还是左循环;

变换二进制序列q为十进制形式;

根据如下公式得到扩散序列c:

其中,q(i),k′3(i),c(i)和c(i-1)分别表示置乱像素值,混沌序列值,扩散序列值和前一个扩散序列值,i=2,3,…,mn。

本申请实施例提出了一种基于五维超混沌系统的图像加密方法,并通过新的混沌序列生成方法和图像置乱方法,提高了序列的伪随机性和图像的置乱效果,从而使得图像具有更高的加密安全性。

附图说明

图1为本发明实施例的基于五维超混沌系统的图像加密方法流程图;

图2为本发明实施例的随机序列生成方法流程图;

图3为本发明实施例的五维超混沌系统的序列分布图;

图4为本发明一个实施例的置乱过程示意图;

图5为本发明实验的明文图像,加密图像和解密图像;

图6为本发明实验的密钥敏感性测试示意图;

图7为本发明实验的明文图像boat,tiffany和pepper的直方图及其相应的加密图像的直方图;

图8为本发明实验的明文图像和相应的加密图像的相关性示意图。

具体实施方式

下面为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。

五维混沌系统属于一种高维混沌系统,较现有方案采用的三维、四维混沌系统,能够产生更加复杂的动态行为和更高的随机性。假设待处理的明文图像p是大小为m×n、8-比特的灰度图像,这里m和n分别是图像的行和列。图1示出了五维超混沌系统的图像加密方法,包括:

s1:基于五维超混沌系统生成第一、第二和第三随机序列;

s2:利用所生成的第一随机序列对明文图像进行置乱,得到置乱图像;

s3:利用所生成的第二和第三随机序列和得到的置乱图像计算得到扩散序列;

s4:变换扩散序列到图像矩阵,完成对所述明文图像的加密。

本申请通过上述新的置乱方法和扩散方法,提高了序列的伪随机性和图像的置乱效果,从而使得图像具有更高的加密安全性。

图2示出了根据本发明实施例的随机序列生成方法,包括:

s11:根据密钥计算所述五维超混沌系统的迭代初始值;

所述密钥为所述五维超混沌系统的初始密钥。

s12:根据所述迭代初始值对所述超混沌系统进行迭代,生成五个随机实数序列;

迭代过程包括两个阶段,首先迭代第一次数以去除暂态效应,再迭代第二次数以生成五个随机实数序列。

s13:从所述五个随机实数序列中选择四个随机实数序列,将其组合为长度为mn的多个新序列,m和n分别是所述明文图像的行数和列数;

s14:对所述多个新序列进行重排,生成第一、第二和第三随机序列。

下面以一个具体的五维(即5d)超混沌系统为例,阐述本发明的方法。该5d超混沌系统定义如下:

其中a1,a2,a3,a4,a5,a6和a7是系统参数。当a1=30,a2=10,a3=15.7,a4=5,a5=2.5,a6=4.45并且a7=38.5时,5d超混沌系统处于混沌状态并生成5个随机序列。混沌系统的序列分布图如图3所示。

步骤1、根据密钥计算上述5d超混沌系统(1)的迭代初始值:

其中,是系统初始密钥,mod(x,y)表示x除以y的余数,p(a,b)是明文像素值。

步骤2、迭代系统(1)n0次以去除暂态效应。

其中,floor(x)表示返回小于等于x的最大整数。

步骤3、继续迭代系统(1)mn/4次,产生5个随机实数序列如下:

x=[x1,x2,…,xmn/4],y=[y1,y2,…,ymn/4],z=[z1,z2,…,zmn/4],u=[u1,u2,…,umn/4]和v=[v1,v2,…,vmn/4]。

步骤4、从上述5个序列中选择4个序列,并把它们组合成长度为mn的新序列。根据排列组合理论,共有120种组合方式,示例的新序列如下:

k1={y,z,v,x},k2={x,v,z,u},k3={v,x,z,y}和k4={u,y,z,v}。

步骤5、把序列k1,k2和k3进行重排得到新的序列k1',k'2和k'3。重排过程如公式(4)-(5)所示:

[g,h]=sort(k4)(4)

kj’(i)=kj(h(i))(5)

其中,sort(k4)表示对序列k4按大小进行排序,i=1,2,…,mn,j=1,2,3,g表示新的序列而h是序列g中各元素在序列k4中的位置索引组成的序列,例如:a=[3.25,8.62,1.38,5.62,7.13],[g,h]=sort(a),则g=[1.38,3.25,5.62,7.13,8.62],h=[3,1,4,5,2];

步骤6、利用上述步骤得到的序列对图像进行置乱:

1)对序列k1'取绝对值,并变换成大小为m×n的矩阵s;

2)对矩阵s按列进行排序得到索引矩阵c;

3)对矩阵c进行列扩展得到矩阵ce。以矩阵c中的相应元素作为行坐标,以该元素所在的列作为列坐标。假设矩阵c中第e行元素为ce,1,ce,2,…,cen,那么矩阵ce中第e行元素为(ce,1,1),(ce,2,2),…,(cen,n)。

4)以ce中的元素对作为坐标找到矩阵s中对应的元素并按大小进行排序,得到排序后的坐标矩阵t。

5)利用矩阵t对明文图像p进行置乱,得到置乱图像p’。

为了更好的阐明上述步骤6的置乱过程,举例如下:

假设明文图像p和随机矩阵s是4×4的矩阵,如图4所示。

1)对随机矩阵s按列进行升序排序,得到索引矩阵c。

2)以c中的元素作为行,以该元素所在的列作为列进行扩展,得到由序列对组成的扩展矩阵ce。

3)以ce中每一行的序列对作为坐标,找到矩阵s中对应元素并进行升序排序,得到排序后的矩阵t。

如矩阵ce中第二行元素分别是(2,1),(1,2),(3,3)和(2,4)。以这四个元素对作为坐标对应的s中的元素分别为0.38,0.42,0.98和0.31,对它们按升序排序得到0.31,0.38,0.42和0.98,对应的索引号为2,3,4,1。因此矩阵t中的第二行元素为(1,2),(3,3),(2,4)和(2,1)。

以矩阵t作为置乱矩阵对明文图像p进行置乱,得到置乱矩阵p’。

步骤7、进一步扩散以完成图像加密的过程。

1)根据公式(6)和(7)修正序列k'2和k3':

k'2(i)=mod(floor(abs(k'2(i))×1015),8),(6)

k3'(i)=mod(floor(abs(k3'(i))×1015),256),(7)

这里k'2(i)∈[0,7],k3'(i)∈[0,255]并且i=1,2,…,mn。

2)转换十进制序列p’和k'2为相应的二进制序列。

3)根据公式(8)得到序列q。

q(r)=circshift[p’(r),lsb(k'2(r)),k'2(r)],(8)

其中,circshift[u,v,w]表示对二进制序列u进行w比特的循环移位操作。lsb(v)表示向量v的最低有效位,v=1或者v=0决定是右循环还是左循环。

4)变换二进制序列q为十进制形式。

5)根据公式(9)-(10)可以得到扩散序列c。

其中,q(i),k′3(i),c(i)和c(i-1)分别表示置乱像素值,混沌序列值,扩散序列值和前一个扩散序列值,i=2,3,…,mn。

6)变换序列c到图像矩阵p”,p”即为所求加密图像。

本申请通过新的混沌序列生成方法和图像置乱方法,提高了序列的伪随机性和图像的置乱效果,从而使得图像具有更高的加密安全性。

当需要解密时,按照上述加密过程的逆运算即可实现,此处不再详述。

下面通过实验对本发明的技术方案的效果进行验证。

实验是在windows7操作系统,inter(r)core(tm)i3-3220,3.3ghz处理器,内存8.00gb,matlab2010b环境下运行的。系统初始密钥明文图像“boat”,“tiffany”和“peppers”大小为256×256的灰度图像。相应的明文图像、加密图像和解密图像如图5所示。

当其中的一个密钥发生微小改变(10-15)而其余密钥保持不变时,系统将会生成两个完全不同的加密图像。同样,当仅有一个密钥发生微小变化(10-15)时,系统也不能够正确的解密图像。密钥敏感性测试如图6所示。

(a)密钥仅有x1改变为x1+10-15时的加密图像;

(b)密钥仅有x2改变为x2+10-15时的加密图像;

(c)密钥仅有x3改变为x3+10-15时的解密图像;

(d)密钥仅有x4改变为x4+10-15时的解密图像;

密钥x1改变为x1+10-15时,加密图像如图6(a)所示。密钥x2改变为x2+10-15时,加密图像如图6(b)所示。密钥x3改变为x3+10-15时,解密图5(h)并得到解密图像如图6(c)所示。图6(d)显示了当x4变化为x4+10-15时,解密图5(h)得到的解密图像。表1显示了不同加密和解密图像之间的差异。

表1密钥发生微小变化时所获得的加密与解密图像

由图6和表1可见,当密钥发生微小改变时,将会生成完全不同的加密图像;同时将发生微小变化的密钥用于解密,也不能获得正确的解密图像。说明系统对密钥是敏感的。

加密图像的直方图应当尽可能分布的比较均匀。明文图像boat,tiffany和pepper的直方图及其相应的加密图像的直方图如图7所示。由图7可见,明文图像的像素值集中在某些区域,而加密图像的直方图分布更加均匀平滑。因此所提出的算法能够抵御统计攻击。

明文图像的相邻像素具有很大的相关性,而加密图像相邻像素的相关性应该接近为0。像素x和y之间的相关性系数rxy定义如下:

分别从明文图像“pepper”和相应的加密图像上选择7225对水平、垂直和对角方向的相邻像素。图8显示了明文图像“pepper”和相应的加密图像在三个方向上的相关性。

表2显示了明文图像pepper和相应的加密图像三个方向上的相关性系数。

表2明文图像和加密图像的相关性系数

由图8和表2可见,明文图像之间具有很强的相关性,而加密图像之间的相关性大大减小。

在本申请中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何一个或多个实施例或示例中以合适的方式结合。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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