一种基于混沌神经网络的彩色图像加密方法、系统及设备

文档序号:32521176发布日期:2022-12-13 19:32阅读:20来源:国知局
一种基于混沌神经网络的彩色图像加密方法、系统及设备

1.本发明涉及图像加密相关技术领域,尤其是涉及一种基于混沌神经网络的彩色图像加密方法、系统及设备。


背景技术:

2.随着数字技术和网络技术的迅猛发展,产生了越来越多的多媒体数据,并通过网络传输和存储于云服务器等平台。其中,数字图像包含大量信息,例如,通过一张军事油库图片不仅可以得到它的尺寸和数量,还可以得到的大概位置;一幅人脸照片不仅可以暴露他或她的长相,还可以给出大概的年龄和身体状况。因此,在医学图像系统、军事图像系统和视频会议中,保护图像数据的安全引起了广泛的关注。
3.目前,基于混沌神经网络的彩色图像加密方法主要存在两个问题:一是方法与明文相关性低,抗攻击能力较差;另一个是一些方法没有考虑r,g和b分量之间的相关性,所提出的方法易被统计分析破解。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种基于混沌神经网络的彩色图像加密方法、系统及设备,能够提高随机性,增强抗攻击能力。
5.本发明的第一方面,提供了一种基于混沌神经网络的彩色图像加密方法,包括如下步骤:
6.提取彩色图像的r分量、g分量和b分量;
7.基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据所述r分量置乱变换密钥对所述彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据所述g分量置乱变换密钥对所述彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据所述b分量置乱变换密钥对所述彩色图像的b分量进行行列随机置乱,得到置乱后的b分量;
8.将所述置乱后的r分量、所述置乱后的g分量和所述置乱后的b分量分别按列分割成多个部分;
9.基于所述三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据所述r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据所述g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据所述b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分;
10.将所述扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将所述扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将所述扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量;
11.将所述拼接后的r分量、所述拼接后的g分量和所述拼接后的b分量进行合成,得到所述彩色图像的加密图像。
12.根据本发明的实施例,至少具有如下技术效果:
13.本方法通过提取彩色图像的r分量、g分量和b分量,基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据r分量置乱变换密钥对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据g分量置乱变换密钥对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据b分量置乱变换密钥对彩色图像的b分量进行行列随机置乱,得到置乱后的b分量,将置乱后的r分量、置乱后的g分量和置乱后的b分量分别按列分割成多个部分,基于三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分,通过使用三维混沌神经网络产生密钥流对彩色图像的三通道进行置乱扩散操作,加强了随机性,提高了安全性;将扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量;将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成,得到彩色图像的加密图像,通过数组拼接函数再置乱增强了抗攻击能力,使得加密更加安全。
14.根据本发明的一些实施例,所述提取彩色图像的r分量、g分量和b分量,包括:
15.利用matlab的数组分离提取所述彩色图像的r分量、g分量和b分量,其中,所述彩色图像的r分量、g分量和b分量的计算公式为;
[0016][0017]
其中,p为彩色图像,pr为彩色图像的r分量,pg为彩色图像的g分量,pb为彩色图像的b分量。
[0018]
根据本发明的一些实施例,所述基于三维混沌神经网络生成r分量置乱变换密钥,根据所述r分量置乱变换密钥对所述彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,包括:
[0019]
获取所述彩色图像的r分量的m
×
n二维矩阵,其中,m为所述彩色图像的r分量像素点数量的行数,n为所述彩色图像的r分量像素点数量的列数;
[0020]
通过三维混沌神经网络根据所述二维矩阵得到两组混沌序列y1(z),y2(z),并根据所述混沌序列生成置乱变换密钥,其中,所述置乱变换密钥为随机不重复序列,所述根据所述混沌序列生成置乱变换密钥的计算公式为:
[0021][0022]
其中,randm(i)为r分量的第i行的置乱变换密钥,randn(j)为r分量的第j列的置
乱变换密钥,floor()为向下取整函数;
[0023]
根据所述置乱变换密钥与递增序列构建密钥对,其中,所述根据所述置乱变换密钥与递增序列构建密钥对的计算公式为:
[0024][0025]
其中,mchange为2
×
m二维数组密钥对,nchange为2
×
n的二维数组密钥对;
[0026]
根据所述密钥对对所述彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,其中,所述根据所述密钥对对所述彩色图像的r分量进行行列随机置乱的计算公式为:
[0027][0028]
根据本发明的一些实施例,所述将所述置乱后的r分量、所述置乱后的g分量和所述置乱后的b分量分别按列分割成多个部分,包括:
[0029]
将所述置乱后的r分量按列分割成三个部分,得到r分量的第一部分、r分量的第二部分和r分量的第三部分,其中,所述r分量的第一部分为r分量的左边三分之一,所述r分量的第二部分为r分量的中间三分之一,所述r分量的第三部分为r分量的右边三分之一;
[0030]
将所述置乱后的g分量按列分割成三个部分,得到g分量的第一部分、g分量的第二部分和g分量的第三部分,其中,所述g分量的第一部分为g分量的左边三分之一,所述g分量的第二部分为g分量的中间三分之一,所述g分量的第三部分为g分量的右边三分之一;
[0031]
将所述置乱后的b分量按列分割成三个部分,得到b分量的第一部分、b分量的第二部分和b分量的第三部分,其中,所述b分量的第一部分为b分量的左边三分之一,所述b分量的第二部分为b分量的中间三分之一,所述b分量的第三部分为b分量的右边三分之一。
[0032]
根据本发明的一些实施例,基于三维混沌神经网络生成r分量扩散密钥,利用所述r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,包括:
[0033]
获取所述r分量的第一部分、所述r分量的第二部分和所述r分量的第三部分的二维数组,其中,所述获取所述r分量的第一部分、所述r分量的第二部分和所述r分量的第三部分的二维数组的计算公式为:
[0034][0035]
其中,lp为所述r分量的第一部分的二维数组,cp为所述r分量的第二部分的二维数组,rp为所述r分量的第三部分的二维数组;
[0036]
通过三维混沌神经网络生成三个不同的混沌序列y1,y2,y3,通过所述混沌序列计算得到r分量扩散密钥,其中,所述通过所述混沌序列计算得到r分量扩散密钥的计算公式为:
[0037][0038]
其中,k(n1)为所述r分量的第一部分的扩散密钥,k(n2)为所述r分量的第二部分的扩散密钥,k(n3)为所述r分量的第三部分的扩散密钥;
[0039]
利用所述r分量的第一部分的二维数组与所述r分量的第一部分的扩散密钥对所述r分量的第一部分进行异或加密,得到扩散后的r分量的第一部分,利用所述r分量的第二部分的二维数组与所述r分量的第二部分的扩散密钥对所述r分量的第二部分进行异或加密,得到扩散后的r分量的第二部分,利用所述r分量的第三部分的二维数组与所述r分量的第三部分的扩散密钥对所述r分量的第三部分进行异或加密,得到扩散后的r分量的第三部分,其中,所述利用所述r分量的第一部分的二维数组与所述r分量的第一部分的扩散密钥对所述r分量的第一部分进行异或加密,得到扩散后的r分量的第一部分,利用所述r分量的第二部分的二维数组与所述r分量的第二部分的扩散密钥对所述r分量的第二部分进行异或加密,得到扩散后的r分量的第二部分,利用所述r分量的第三部分的二维数组与所述r分量的第三部分的扩散密钥对所述r分量的第三部分进行异或加密,得到扩散后的r分量的第三部分的计算公式为:
[0040][0041]
其中,clr为所述扩散后的r分量的第一部分,ccr为所述扩散后的r分量的第二部分,crr为所述扩散后的r分量的第三部分,bixor(p,k)为异或函数。
[0042]
根据本发明的一些实施例,将所述扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接的计算公式为:
[0043]
cr=[ccr,clr,crr]
[0044]
其中,cr为所述拼接后的r分量。
[0045]
根据本发明的一些实施例,所述将所述拼接后的r分量、所述拼接后的g分量和所述拼接后的b分量进行合成的计算公式为:
[0046]
c=cat(3,cr,cg,cb)
[0047]
其中,c为所述加密图像,cg为所述拼接后的g分量,cb为所述拼接后的b分量,cat()为拼接函数。
[0048]
根据本发明的一些实施例,所述三阶神经网络具体形式为:
[0049]
[0050][0051]
其中,x(t)、y(t)和z(t)分别表示3个神经元的状态变量,设置所述神经元状态变量的初始值为x(0)、y(0)和z(0)。
[0052]
本发明的第二方面,提供一种基于混沌神经网络的彩色图像加密系统,所述基于混沌神经网络的彩色图像加密系统包括:
[0053]
分量提取模块,用于提取彩色图像的r分量、g分量和b分量;
[0054]
分量置乱模块,用于基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据所述r分量置乱变换密钥对所述彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据所述g分量置乱变换密钥对所述彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据所述b分量置乱变换密钥对所述彩色图像的b分量进行行列随机置乱,得到置乱后的b分量;
[0055]
分量分割模块,用于将所述置乱后的r分量、所述置乱后的g分量和所述置乱后的b分量分别按列分割成多个部分;
[0056]
分量扩散模块,用于基于所述三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据所述r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据所述g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据所述b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分;
[0057]
分量拼接模块,用于将所述扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将所述扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将所述扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量;
[0058]
分量合成模块,用于将所述拼接后的r分量、所述拼接后的g分量和所述拼接后的b分量进行合成,得到所述彩色图像的加密图像。
[0059]
本系统通过提取彩色图像的r分量、g分量和b分量,基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据r分量置乱变换密钥对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据g分量置乱变换密钥对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据b分量置乱变换密钥对彩色图像的b分量进行行列随机置乱,得到置乱后的b分量,将置乱后的r分量、置乱后的g分量和置乱后的b分量分别按列分割成多个部分,基于三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分,通过使用三维混沌神经网络产生密钥流对彩色图像的三通道进行置乱扩散操作,加强了随机性,提高了安全性;将扩散后的r分量的所有部分利用数组拼接
函数进行置乱与拼接,得到拼接后的r分量,将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量;将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成,得到彩色图像的加密图像,通过数组拼接函数再置乱增强了抗攻击能力,使得加密更加安全。
[0060]
本发明的第三方面,提供了一种基于混沌神经网络的彩色图像加密电子设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行上述的基于混沌神经网络的彩色图像加密方法。
[0061]
本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述的基于混沌神经网络的彩色图像加密方法。
[0062]
需要注意的是,本发明的第二方面至第四方面与现有技术之间的有益效果与上述的一种基于混沌神经网络的彩色图像加密系统与现有技术之间的有益效果相同,此处不再细述。
[0063]
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
[0064]
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0065]
图1是本发明一实施例的一种基于混沌神经网络的彩色图像加密方法的流程图;
[0066]
图2是本发明一实施例的一种基于混沌神经网络的彩色图像加密方法的整体流程图;
[0067]
图3是本发明一实施例的一种基于混沌神经网络的彩色图像加密方法的lena图像加密与解密的实验对比图;
[0068]
图4是本发明一实施例的一种基于混沌神经网络的彩色图像加密方法的lena图像直方图测试结果图;
[0069]
图5是本发明一实施例的一种基于混沌神经网络的彩色图像加密方法的lena图像相关性测试结果图;
[0070]
图6是本发明一实施例的一种基于混沌神经网络的彩色图像加密方法的lena图像敏感性测试结果图;
[0071]
图7是本发明一实施例的一种基于混沌神经网络的彩色图像加密系统的流程图。
具体实施方式
[0072]
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0073]
在本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0074]
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0075]
本发明的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0076]
目前,基于混沌神经网络的彩色图像加密方法主要存在两个问题:一是方法与明文相关性低,抗攻击能力较差;另一个是一些方法没有考虑r,g和b分量之间的相关性,所提出的方法易被统计分析破解。
[0077]
为了解决上述技术缺陷,参照图1和图2,本发明还提供了一种基于混沌神经网络的彩色图像加密方法,包括:
[0078]
步骤s101、提取彩色图像的r分量、g分量和b分量。
[0079]
步骤s102、基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据r分量置乱变换密钥对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据g分量置乱变换密钥对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据b分量置乱变换密钥对彩色图像的b分量进行行列随机置乱,得到置乱后的b分量。
[0080]
步骤s103、将置乱后的r分量、置乱后的g分量和置乱后的b分量分别按列分割成多个部分。
[0081]
步骤s104、基于三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分。
[0082]
步骤s105、将扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量。
[0083]
步骤s106、将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成,得到彩色图像的加密图像。
[0084]
本方法通过提取彩色图像的r分量、g分量和b分量,基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据r分量置乱变换密钥对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据g分量置乱变换密钥对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据b分量置乱变换密钥对彩色图像的b分量进行行列随机置乱,得到置乱后的b分量,将置乱后的r分量、置乱后的g分量和置乱后的b分量分别按列分割成多个部分,基于三维混沌神经网络分别生成r分量扩散密
钥,g分量扩散密钥和b分量扩散密钥,根据r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分,通过使用三维混沌神经网络产生密钥流对彩色图像的三通道进行置乱扩散操作,加强了随机性,提高了安全性;将扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量;将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成,得到彩色图像的加密图像,通过数组拼接函数再置乱增强了抗攻击能力,使得加密更加安全。
[0085]
在一些实施例中,步骤s101可以包括但不限于包括步骤s201:
[0086]
步骤s201、利用matlab的数组分离提取彩色图像的r分量、g分量和b分量,其中,彩色图像的r分量、g分量和b分量的计算公式为;
[0087][0088]
其中,p为彩色图像,pr为彩色图像的r分量,pg为彩色图像的g分量,pb为彩色图像的b分量。
[0089]
在一些实施例中,步骤s102可以包括但不限于包括步骤s301至步骤s304:
[0090]
步骤s301、获取彩色图像的r分量的m
×
n二维矩阵,其中,m为彩色图像的r分量像素点数量的行数,n为彩色图像的r分量像素点数量的列数。
[0091]
步骤s302、通过三维混沌神经网络根据二维矩阵得到两组混沌序列y1(z),y2(z),并根据混沌序列生成置乱变换密钥,其中,置乱变换密钥为随机不重复序列,根据混沌序列生成置乱变换密钥的计算公式为:
[0092][0093]
其中,randm(i)为r分量的第i行的置乱变换密钥,randn(j)为r分量的第j列的置乱变换密钥,floor()为向下取整函数。
[0094]
步骤s303、根据置乱变换密钥与递增序列构建密钥对,其中,根据置乱变换密钥与递增序列构建密钥对的计算公式为:
[0095][0096]
其中,mchange为2
×
m二维数组密钥对,nchange为2
×
n的二维数组密钥对。
[0097]
步骤s304、根据密钥对对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,其中,根据密钥对对彩色图像的r分量进行行列随机置乱的计算公式为:
[0098][0099]
在一些实施例中,步骤s102可以包括但不限于包括步骤s401至步骤s404:
[0100]
步骤s401、获取彩色图像的g分量的m
×
n二维矩阵,其中,m为彩色图像的g分量像素点数量的行数,n为彩色图像的g分量像素点数量的列数。
[0101]
步骤s402、通过三维混沌神经网络根据二维矩阵得到两组混沌序列y3(z),y4(z),并根据混沌序列生成置乱变换密钥,其中,置乱变换密钥为随机不重复序列,根据混沌序列生成置乱变换密钥的计算公式为:
[0102][0103]
其中,randm(i)为g分量的第i行的置乱变换密钥,randn(j)为g分量的第j列的置乱变换密钥,floor()为向下取整函数。
[0104]
步骤s403、根据置乱变换密钥与递增序列构建密钥对,其中,根据置乱变换密钥与递增序列构建密钥对的计算公式为:
[0105][0106]
其中,mchange为2
×
m二维数组密钥对,nchange为2
×
n的二维数组密钥对。
[0107]
步骤s404、根据密钥对对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,其中,根据密钥对对彩色图像的g分量进行行列随机置乱的计算公式为:
[0108][0109]
同理可得置乱后的b分量。
[0110]
在一些实施例中,步骤s103可以包括但不限于包括步骤s501至步骤s503:
[0111]
步骤s501、将置乱后的r分量按列分割成三个部分,得到r分量的第一部分、r分量的第二部分和r分量的第三部分,其中,r分量的第一部分为r分量的左边三分之一,r分量的第二部分为r分量的中间三分之一,r分量的第三部分为r分量的右边三分之一。
[0112]
步骤s502、将置乱后的g分量按列分割成三个部分,得到g分量的第一部分、g分量的第二部分和g分量的第三部分,其中,g分量的第一部分为g分量的左边三分之一,g分量的第二部分为g分量的中间三分之一,g分量的第三部分为g分量的右边三分之一。
[0113]
步骤s503、将置乱后的b分量按列分割成三个部分,得到b分量的第一部分、b分量的第二部分和b分量的第三部分,其中,b分量的第一部分为b分量的左边三分之一,b分量的第二部分为b分量的中间三分之一,b分量的第三部分为b分量的右边三分之一。
[0114]
在一些实施例中,步骤s104可以包括但不限于包括步骤s601至步骤s603:
[0115]
步骤s601、获取r分量的第一部分、r分量的第二部分和r分量的第三部分的二维数组,其中,获取r分量的第一部分、r分量的第二部分和r分量的第三部分的二维数组的计算公式为:
[0116][0117]
其中,lp为r分量的第一部分的二维数组,cp为r分量的第二部分的二维数组,rp为r分量的第三部分的二维数组。
[0118]
步骤s602、通过三维混沌神经网络生成三个不同的混沌序列y1,y2,y3,通过混沌序列计算得到r分量扩散密钥,其中,通过混沌序列计算得到r分量扩散密钥的计算公式为:
[0119][0120]
其中,k(n1)为r分量的第一部分的扩散密钥,k(n2)为r分量的第二部分的扩散密钥,k(n3)为r分量的第三部分的扩散密钥。
[0121]
步骤s603、利用r分量的第一部分的二维数组与r分量的第一部分的扩散密钥对r分量的第一部分进行异或加密,得到扩散后的r分量的第一部分,利用r分量的第二部分的二维数组与r分量的第二部分的扩散密钥对r分量的第二部分进行异或加密,得到扩散后的r分量的第二部分,利用r分量的第三部分的二维数组与r分量的第三部分的扩散密钥对r分量的第三部分进行异或加密,得到扩散后的r分量的第三部分,其中,利用r分量的第一部分的二维数组与r分量的第一部分的扩散密钥对r分量的第一部分进行异或加密,得到扩散后的r分量的第一部分,利用r分量的第二部分的二维数组与r分量的第二部分的扩散密钥对r分量的第二部分进行异或加密,得到扩散后的r分量的第二部分,利用r分量的第三部分的二维数组与r分量的第三部分的扩散密钥对r分量的第三部分进行异或加密,得到扩散后的r分量的第三部分的计算公式为:
[0122][0123]
其中,clr为扩散后的r分量的第一部分,ccr为扩散后的r分量的第二部分,crr为扩散后的r分量的第三部分,bixor(p,k)为异或函数。
[0124]
在一些实施例中,步骤s104可以包括但不限于包括步骤s701至步骤s703:
[0125]
步骤s701、获取g分量的第一部分、g分量的第二部分和g分量的第三部分的二维数组,其中,获取g分量的第一部分、g分量的第二部分和g分量的第三部分的二维数组的计算公式为:
[0126][0127]
其中,lp为g分量的第一部分的二维数组,cp为g分量的第二部分的二维数组,rp为g分量的第三部分的二维数组。
[0128]
步骤s702、通过三维混沌神经网络生成三个不同的混沌序列y4,y5,y6,通过混沌序列计算得到g分量扩散密钥,其中,通过混沌序列计算得到g分量扩散密钥的计算公式为:
[0129][0130]
其中,k(n4)为g分量的第一部分的扩散密钥,k(n5)为g分量的第二部分的扩散密钥,k(n6)为g分量的第三部分的扩散密钥。
[0131]
步骤s703、利用g分量的第一部分的二维数组与g分量的第一部分的扩散密钥对g分量的第一部分进行异或加密,得到扩散后的g分量的第一部分,利用g分量的第二部分的二维数组与g分量的第二部分的扩散密钥对g分量的第二部分进行异或加密,得到扩散后的g分量的第二部分,利用g分量的第三部分的二维数组与g分量的第三部分的扩散密钥对g分量的第三部分进行异或加密,得到扩散后的g分量的第三部分,其中,利用g分量的第一部分的二维数组与g分量的第一部分的扩散密钥对g分量的第一部分进行异或加密,得到扩散后的g分量的第一部分,利用g分量的第二部分的二维数组与g分量的第二部分的扩散密钥对g分量的第二部分进行异或加密,得到扩散后的g分量的第二部分,利用g分量的第三部分的二维数组与g分量的第三部分的扩散密钥对g分量的第三部分进行异或加密,得到扩散后的g分量的第三部分的计算公式为:
[0132][0133]
其中,clg为扩散后的g分量的第一部分,ccg为扩散后的g分量的第二部分,crg为扩散后的g分量的第三部分,bixor(p,k)为异或函数。
[0134]
同理可得扩散后的b分量。
[0135]
在一些实施例中,步骤s105可以包括但不限于包括步骤s801:
[0136]
步骤s801、将扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接的计算公式为:
[0137]
cr=[ccr,clr,crr]
[0138]
其中,cr为拼接后的r分量。
[0139]
在一些实施例中,步骤s105可以包括但不限于包括步骤s901:
[0140]
步骤s901、将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接的计算公式为:
[0141]
cg=[ccg,clg,crg]
[0142]
其中,cg为拼接后的g分量。
[0143]
同理可得将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接的计算公式。
[0144]
在一些实施例中,将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成的计算公式为:
[0145]
c=cat(3,cr,cg,cb)
[0146]
其中,c为加密图像,cg为拼接后的g分量,cb为拼接后的b分量,cat()为拼接函数。
[0147]
在一些实施例中,三阶神经网络具体形式为:
[0148][0149][0150]
其中,x(t)、y(t)和z(t)分别表示3个神经元的状态变量,设置神经元状态变量的初始值为x(0)、y(0)和z(0)。
[0151]
为了便于本领域人员理解,以下提供一组实验数据:
[0152]
参照图3,可以看到密文图像完全看不出轮廓存在,且像素点分布均匀,几乎无法从中获取图像信息;并且解密图像和明文图像是完全一致的,加密与解密效果较好。
[0153]
参照图4,图4为lena图进行直方图分析的结果图,一个高安全性的图像加密系统应该使加密后密文图像的直方图尽可能的平整,从明文图像r、g和b的直方图上看呈现一种山峰状的图形,每个像素值的数量分布及其不均匀,在两端呈现断层的现象,由此能够从该明文直方图中获取图像大部分信息。而该密文图像的r、g和b的直方图极其平坦,没有断层且没有任何一段凸起。说明加密后的图像信息更加隐秘,具有一定的安全性。因此,本发明加密方案具有抵御统计分析的能力。
[0154]
本发明不同方向的相关系数结果如表1所示,可以看到lena明文图像的相关系数几乎接近1,说明原文图像的相关性极强;而密文图像几乎接近0,说明密文图像相邻像素点几乎无相关性。本文提出的图像加密系统加密的明文图像在水平、垂直、正对角、反对角四个方向上基本无相关性,是性能比较好的基于混沌神经网络的彩色图像加密系统。
[0155]
表1
[0156][0157]
参照图5,可以看到lena明文图像在水平、垂直、正对角、反对角四个方向上呈正相关性分布;但lena密文图像在四个方向上呈现无规则分布,每一个像素点的临近像素点的像素值可以为任意值。而明文图像中,每一个像素点的临近像素点的像素值接近,几乎存在或靠近ui=vi这条直线上,相关性很高。
[0158]
信息熵表示状态的混乱程度。熵值越大,混乱程度越高,图像信息不确定性就越高,说明图像更无规律可寻。其计算公式如下。
[0159][0160]
其中p(i)代表像素值为i时出现的概率。理想的彩色图像r、g和b分量熵为8。本发明选择lena明文图像通过混沌神经网络图像加密系统得到的密文图像,分析其r、g和b分量熵。从表2可以得出本饭提出的加密算法得到的密文图像三通道的信息熵都非常靠近理论值8,可以得出该加密算法具有不错的安全性。
[0161]
表2
[0162][0163]
psnr即峰值信噪比,是一种衡量明文图像与密文图像之间失真程度的指标。psnr值越低说明明文图像与密文图像的差异越大,使用的加密算法更好。
[0164]
mse的全称为mean squared error,即均方误差,用来计算明文图像与密文图像之间累计的平方误差。mse越大,加密效果越好。psnr与mse的定义如下:
[0165][0166]
从表3psnr与mse测试结果,本发明的psnr=8.6315,mse=8911.0,说明本发明提出的加密算法具有非常好的性能。
[0167]
表3
[0168][0169]
参照图6,敏感性分析是指用与原密钥初始值有略微差别的初始值去解密密文图像看是否能恢复明文图像。采用本文提出的密钥初始值加密lena明文图像,用如下所示的三组具有细微差别的密钥初始值y1,y2,y3去解密密文图像,效果如图6所示,无法正确恢复明文图像。因此,本发明所给出的加密系统满足密钥敏感性的要求。
[0170][0171]
理想的图像加密方法应该使其密钥空间大于2
100
,才能保证加密算法的安全性。假设计算机的计算精度为10-15
,压缩率cr的精度为10-2
。在本发明中混沌神经网络加密系统的总的密钥空间的计算结果为:
[0172]
102×
10
15
×
10
14
×
10
14
×
10
14
×
10
14
×
10
14
×
10
14
×
10
14
>>2
100
[0173]
说明本加密方法具有足够大的密钥空间,能够抵抗穷举攻击。
[0174]
另外,参照图7,本发明的一个实施例,提供一种基于混沌神经网络的彩色图像加密系统,包括分量提取模块1100、分量置乱模块1200、分量分割模块1300、分量扩散模块1400、分量拼接模块1500以及分量合成模块1600,其中:
[0175]
分量提取模块1100用于提取彩色图像的r分量、g分量和b分量。
[0176]
分量置乱模块1200用于基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据r分量置乱变换密钥对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据g分量置乱变换密钥对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据b分量置乱变换密钥对彩色图像的b分量进行行列随机置乱,得到置乱后的b分量。
[0177]
分量分割模块1300用于将置乱后的r分量、置乱后的g分量和置乱后的b分量分别按列分割成多个部分。
[0178]
分量扩散模块1400用于基于三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分。
[0179]
分量拼接模块1500用于将扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量。
[0180]
分量合成模块1600用于将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成,得到彩色图像的加密图像。
[0181]
本系统通过提取彩色图像的r分量、g分量和b分量,基于三维混沌神经网络分别生成r分量置乱变换密钥,g分量置乱变换密钥和b分量置乱变换密钥,根据r分量置乱变换密钥对彩色图像的r分量进行行列随机置乱,得到置乱后的r分量,根据g分量置乱变换密钥对彩色图像的g分量进行行列随机置乱,得到置乱后的g分量,根据b分量置乱变换密钥对彩色图像的b分量进行行列随机置乱,得到置乱后的b分量,将置乱后的r分量、置乱后的g分量和置乱后的b分量分别按列分割成多个部分,基于三维混沌神经网络分别生成r分量扩散密钥,g分量扩散密钥和b分量扩散密钥,根据r分量扩散密钥扩散分割后的r分量的所有部分,得到扩散后的r分量的所有部分,根据g分量扩散密钥扩散分割后的g分量的所有部分,得到扩散后的g分量的所有部分,根据b分量扩散密钥扩散分割后的b分量的所有部分,得到扩散后的b分量的所有部分,通过使用三维混沌神经网络产生密钥流对彩色图像的三通道进行置乱扩散操作,加强了随机性,提高了安全性;将扩散后的r分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的r分量,将扩散后的g分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的g分量,将扩散后的b分量的所有部分利用数组拼接函数进行置乱与拼接,得到拼接后的b分量;将拼接后的r分量、拼接后的g分量和拼接后的b分量进行合成,得到彩色图像的加密图像,通过数组拼接函数再置乱增强了抗攻击能力,使得加密更加安全。
[0182]
需要注意的是,本系统实施例与上述的系统实施例是基于相同的发明构思,因此上述方法实施例的相关内容同样适用于本系统实施例,这里不再赘述。
[0183]
本技术还提供一种基于混沌神经网络的彩色图像加密电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现:如上述的基于混沌神经网络的彩色图像加密方法。
[0184]
处理器和存储器可以通过总线或者其他方式连接。
[0185]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0186]
实现上述实施例的基于混沌神经网络的彩色图像加密方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的基于混沌神经网络的彩色图像加密方法,例如,执行以上描述的图1中的方法步骤s101至步骤s106。
[0187]
本技术还提供一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行:如上述的基于混沌神经网络的彩色图像加密方法。
[0188]
该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的基于混沌神经网络的彩色图像加密方法,例如,执行以上描述的图1中的方法步骤s101至步骤s106。
[0189]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为
由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序单元或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序单元或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0190]
上面结合附图对本发明实施例作了详细说明,但本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1