一种基于忆阻超混沌系统的彩色图像加密方法与流程

文档序号:22477551发布日期:2020-10-09 22:20阅读:83来源:国知局
一种基于忆阻超混沌系统的彩色图像加密方法与流程

本发明涉及一种彩色图像加密方法,具体涉及一种基于忆阻超混沌系统的彩色图像加密方法,适用于信息安全技术和计算机数字图像处理领域。



背景技术:

近年来,随着互联网的发展,社会信息化程度越来越高,人们需要通过网络传输、存储各类信息,其中包括需要保密的个人私密信息和各种机密信息,因此网络信息的安全性已成为当务之急,需要被高度重视。

混沌系统由于其对参数和初值具有极高的敏感性,同时迭代过程具有单向性,动力学行为及其复杂,难以重构和预测,因此被广泛应用于密码学中。忆阻超混沌系统是忆阻器和超混沌系统的结合,相对于普通混沌系统而言,有更多的变量和参数,更加复杂的动力学行为,可以设计具有更高随机性,更强抗攻击能力的加密算法。

自美国学者fridrich提出了基于置乱-扩散操作的经典图像加密模式以来,一系列的基于此模式的混沌加密算法被提出,但还是面临着一些问题,如:低维系统的加密算法安全性不高,加密算法与明文信息之间的结合不够紧密,抗攻击能力差等。因此,设计一种高效并且高安全性的混沌加密方法对图像进行加密对当今的研究具有重要意义。



技术实现要素:

针对现有研究中的不足,本发明提出一种基于忆阻超混沌系统的彩色图像加密方法,使得加密性能具有更高的安全性,能有效抵御统计攻击和差分攻击等破解手段。

本发明所使用的技术方案如下:

本发明包括以下步骤:

s1:构造忆阻超混沌系统,并对系统进行离散化。

s2:读取彩色图像信息,将待加密的彩色图像转换成三基色分量矩阵,并按照rgb通道进行分组,得到三个m*n的二维矩阵。

s3:使用hash函数中的sha-512算法对图像数据进行处理,得到图像的512位hash值,并与离散忆阻超混沌系统的四个初始值相结合,得到x0,y0,z0,w0进行迭代,产生超混沌序列。

s4:对超混沌序列进行预处理,包括对序列幅值放大、取整、对256取模运算,使得序列与图像数据相匹配,得到密钥序列。

s5:使用密钥序列对rgb三个通道的行和列进行加密操作,其中三个通道的操作是类似的,行操作与列操作是类似的。

以r通道行操作为例具体为:

(1)首先,得到密钥序列。在预处理后的混沌序列中,从前向后取出与r通道每行的数据规模相等的密钥序列,每组密钥序列长度与图像矩阵列数n相同,密钥序列组数与图像矩阵行数m相同。

(2)其次,设计置乱操作。将图像矩阵每行取出进行循环移位,这里采用的是循环右移,循环右移的位数由所对应的每组密钥序列的第一个数据决定。

(3)再次,设计扩散操作。通过上述循环移位(置乱操作)后,若是图像矩阵第一行,则直接与密钥序列异或,若是图像矩阵其他行,则先与前一行进行异或,再与密钥序列进行异或,最后完成扩散操作。

值得指出的是,图像矩阵的每行置乱操作完成后随即进行该行的扩散操作,而不是类似传统加密方式所有的行列置乱完成后进行行列扩散。

本发明的有益效果是:

(1)本发明基于忆阻超混沌系统设计加密算法,相比于普通混沌系统的加密算法,可以产生敏感性更高,结构更复杂的密钥序列,更安全的加密效果。

(2)本发明在对每行或者列的扩散过程中,先与前一行或者列进行异或操作,这使得加密的每一步骤中都结合了明文信息,将每个明文字节的影响扩散到了更多的密文字节中,加深了明文字密文字节之间的影响。另外,对每个单元,即每行或者每列的置乱和扩散操作是交替进行的,某单元置乱操作完成后立即进行该单元的扩散操作,进一步地增加了算法的复杂性,同时也提升了安全性。

附图说明

图1为本发明实施例中的加密流程示意图图;

图2为本发明实施例中的忆阻超混沌系统相图;

图3为本发明实施例中的离散化的忆阻超混沌系统相图;

图4为本发明实施例中的待加密彩色图像,加密后的图像和解密图像;

图5为原始图像和加密图像的直方图;

图6为原始图像和加密图像的相邻像素相关性;

图7为算法的npcr指标和uaci指标。

具体实施方式

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

如图1所示,本发明提出了一种基于忆阻超混沌系统的彩色图像加密方法,具体包括以下步骤:

s1:构造连续忆阻超混沌系统,并对系统进行离散化。

具体实施时,构造的连续忆阻超混沌系统的数学表达式为:

其中,g(w)为忆阻器的忆导值,表达式为:

g(w)=α+βw2(2)

式中,a、b、c、d、α、β为忆阻超混沌系统参数,x、y、z、w为忆阻超混沌系统变量,系统相图如图2所示。

为使系统能在数字化软件平台上实现,对系统进行离散化处理。实施时,采有欧拉法对系统进行离散化,当δt→0或比较小时,导数的定义可以近似表示为:

将式(3)带入式(1),可得系统离散化后的数学形式:

其中,δt为采样时间,这时选择δt=0.001,其他参数保持不变,离散系统相图如图3所示,与图2对比可知,离散方程比较好地维持了连续系统的动力学特性,表明离散化效果较好。

s2:读取彩色图像信息,将待加密的彩色图像转换成三基色分量矩阵,并按照rgb通道进行分组,得到三个m*n的二维矩阵。

具体实施时,本实施例采用的图像为512*512的标准彩色lena图像,如图4a所示。

s3:使用hash函数中的sha-512算法对图像数据进行处理,得到图像的64个8位无符号整形的hash值h={h1,h2,h3,…,h64},并与离散忆阻超混沌系统的四个初始值相结合。

具体实施时,由公式(5)得到x0,y0,z0,w0进行迭代,产生超混沌序列。

取初始值x0’=0.01,y0’=0.01,z0’=0.01,w0’=0.01。迭代次数为m*n*o+p,其中m为图像矩阵的行数,n为图像矩阵的列数,o为图像矩阵的通道数,m、n及o的选取使超混沌序列长度能与图像的数据规模相匹配,p为要丢弃的迭代次数,p=100000。

s4:对超混沌序列进行预处理得到密钥序列。由于彩色rgb图像数据在计算机中的存储方式一般是8位无符号整形数据构成的三个二维矩阵,而离散方程迭代运算出的是浮点型数据,因此需要对混沌序列进行预处理。

具体实施时,需要对混沌序列x1和y1进行预处理,令x=mod(round(x1*1015),256),y=mod(round(y1*1015),256),即对序列幅值放大、取整、对256取模运算,使得序列的最终长度和数据类型与图像数据相匹配。

s5:使用密钥序列对r、g、b三个通道进行加密操作,其中每个通道的图像矩阵加密的流程分为行操作和列操作。三个通道的操作是类似的,行操作与列操作是类似的。

具体实施时,用到了预处理后的超混沌序列x和y,采用序列x进行行置乱及行扩散操作,行操作完成后再采用序列y进行列置乱及列扩散操作。进一步地,所述的方法以r通道行操作为例,包括以下步骤:

(1)首先,提取密钥序列。在预处理后的混沌序列x中,从前向后取出与r通道每行的数据规模相等的密钥序列,每组密钥序列长度与图像矩阵列数n相同,密钥序列组数与图像矩阵行数m相同。

(2)其次,设计置乱操作。将图像矩阵每行取出进行循环移位,这里采用的是循环右移,循环右移的位数由所对应的每组密钥序列的第一个数据决定。

(3)再次,设计扩散操作。通过上述循环移位(置乱操作)后,若是图像矩阵第一行,则直接与密钥序列异或,若是图像矩阵其他行,则先与前一行进行异或,再与密钥序列进行异或,最后完成扩散操作。

值得指出的是,图像矩阵的每行置乱操作完成后随即进行该行的扩散操作,而不是类似传统加密方式所有的行列置乱完成后进行行列扩散。

对图像矩阵进行上述行操作后,紧接着进行列操作,采用了类似的方法,不同点在于列操作时,需要从序列y中提取密钥序列,并且所取出的密钥序列长度与图像矩阵行数m相同,密钥序列组数与图像矩阵列数n相同。接下来的置乱和扩散操作则与行操作是相同的。对g和b通道图像矩阵操作的方式和r通道是类似的,在对r、g、b三个通道图像矩阵完成相应的操作后,即完成整个加密操作得到密文数据。

解密操作则是加密操作的反操作,以行操作为例,扩散反操作是从图像矩阵的最后一行开始操作,先与密钥序列进行异或再与前一行进行异或;在每行的扩散反操作后随即进行该行的置乱反操作,置乱反操作中的循环右移位数为列数减去每组密钥序列的第一个数据。

本发明的实施例中,选择了512*512的标准彩色lena图像,待加密的彩色图像、加密后的图像、解密图像如图4a、b、c所示。本加密方法的直方图结果如图5所示,图5中a、b、c为原始图像rgb三个通道的直方图,d、e、f为加密图像rgb三个通道的直方图,显然,从图中可以看出,加密后的图像像素杂乱、毫无规律,解密后的图像与原始图像完全一致,说明该本发明具有较好的效果。

为了更好的说明明文和密文图像像素的相关性,在此引入相邻像素的相关系数,计算公式如下:

其中,x,y表示图像相邻之间的像素,ρxy为相关系数,n为所选取的像素点个数10000。图6为原始图像,图中a、b、c分别为原始图像水平方向、垂直方向、对角方向像素分布结果;d、e、f分别为加密图像水平方向、垂直方向、对角方向像素分布结果,从该图中可知,加密图像的相邻像素的像素值均匀密集在整个平面上,呈现随机特性,几乎不存在相关性,因此本发明具有良好的抗统计攻击性能。

另外,本发明对明文的敏感性越高,抗差分攻击能力就越高。像素变化率npcr和归一化平均变化强度uaci可以度量算法对明文的敏感性,计算公式如下:

在式(9)中,c1和c2为两个密文图像,它们所对应的明文图像只有一个像素点的差别,c1(i,j)和c2(i,j)分别为c1和c2在任意位置(i,j)所对应的像素点的值。m和n分别表示密文图像的行数和列数。式(10)中,d(i,j)的值取决于c1(i,j)和c2(i,j),当c1(i,j)=c2(i,j)时,d(i,j)=1;否则d(i,j)=0。

图7为本发明的npcr指标和uaci指标,从图中可以看出,nprc的值大致稳定在99.6%左右,uaci的值大致稳定在33.4%左右。非常接近理想数学期望值99.6094%和33.4635%,因此加密算法具有较强的抗差分攻击性能。

由上述实施例可知,本发明提出的新的加密算法对彩色图像的加密效果具有较高的安全性,在信息安全技术中具有广阔的应用前景。

以上是结合附图对本发明优选的具体实施方式和实施例进行的详细说明,本领域的普通技术人员应当认识到,以上实施例仅是用来验证本发明,而并非作为对本发明的限定,只要是在本发明的范围内,对以上实例的变化、变形都将落在本发明的保护范围内。

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