超混沌系统与神经网络机制融合的图像块加密解密方法转让专利

申请号 : CN202110691551.7

文献号 : CN113468562B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘涵方鹏飞惠媛媛

申请人 : 西安理工大学

摘要 :

本发明具体揭示了超混沌系统与神经网络机制融合的图像块加密解密方法。包括图像的加密过程和解密过程,提出具有较大密钥空间和良好混沌动力学性能的四维超混沌系统,将其与云模型结合,解决了混沌系统的周期问题,并生成了具有更好的复杂性和随机性的融合序列作为密钥流。然后结合密钥流、神经网络机制和改进型Feistel分组结构对分组图像进行置乱和扩散运算以获得密文图像。最后,实验结果表明本发明具有良好的安全性,并且为混沌系统与神经网络机制,分组加解密结构的结合提供了一种新的思路。

权利要求 :

1.超混沌系统与神经网络机制融合的图像块加密解密方法,其特征在于,利用神经网络的非线性机制,分组加解密结构,构造简单,加密效率高,包括图像的加密过程和解密过程,所述加密过程和解密过程由以下步骤实现:所述加密过程和解密过程采用的加密密钥为:超混沌的控制参数a,b,c,d,e,k;云模型的期望值Ex,熵En和超熵He;

所述加密过程包括以下步骤:

步骤一、获取尺寸大小为M×N的灰度图像作为明文图像P;

步骤二、计算超混沌系统的初始值init1,init2,init3,init4,计算方法为:

24

init1=(sum(Pij)+0.5cos(4cos(M*N)))/2init2=mod(10*(init1),1)init3=mod(10*(init2),1)init4=mod(10*(init3),1)其中,sum(·)表示求和操作,mod(·)表示求余操作;

新四维超混沌系统表示为:

其中x,y,z,w为系统状态变量,a,b,c,d,e,k为控制参数;当控制参数分别取值为a=

25,b=0.1,c=40,d=3,e=0.1,k=8时,超混沌系统进入混沌状态;

步骤三、将混沌初始值init1,init2,init3,init4带入超混沌系统中与云模型结合生成融合随机序列值 i=1,2,...,M×N,作为加解密密钥流;云模型指的是定性概念与其定量表示之间的不确定性转换模型,它具有三个数值特征:期望值Ex、熵En和超熵He;常见云模型表示为:yt=RN(En,He)

seqt=RN(Ex,yt)

其中,RN(·)是标准随机函数,t=1,2,...,N;seqt为云模型的生成序列;

融合序列生成方法为:

yt=RN(En,He)

seqt=RN(Ex,yt),t=1,2,...,N其中, i=1,2,...,M×N,q=1,2,3,4; 表示密钥流;

步骤四、为满足图像加密的要求,对融合序列进行归一化,以使该序列的值在[0,255]的范围内用以做图像加密的密钥流;过程如下:i=1,2,...,M×N

其中,floor(·)表示取整操作,mod(·)表示取模操作,abs(·)表示绝对值运算;M×N为图像的尺寸大小; 表示密钥流,q=5,6,7,8,i=1,2,...,M×N;

步骤五、对原始明文图像进行如下像素置乱操作:

其中,reshape(·)表示改变图像矩阵的形状;M×N为图像的尺寸大小; 表示密钥流,i=1,2,...,M,j=1,2,...,N,q=5,6,7,8,P为明文图像,cs为中间密文;

步骤六、利用神经网络的非线性特征提高算法的安全性;将图像像素值矩阵作为输入,并以上述融合序列作为神经网络的隐藏层权重,采用神经网络运算机制,通过逻辑XOR运算获得输出图像像素矩阵,激活函数为取模运算;具体过程如下:将密钥流 i=1,2,...,M×N,q=5,6,7,8分别分为M块得到 k=1,2,...,M,q=

5,6,7,8,i=1,2,...,N,各子块有N个值作为神经网络的权重,使置乱后的图像作为神经网络的输入;继而利用模块化运算作为激活函数,以获取中间密文图像;

k=1,2,...,M,i=1,2,...,N其中,bitxor(·)表示逻辑异或运算; 为密钥流块,k=1,2,...,M,q=5,6,7,8,i=1,2,...,N;M×N为图像的尺寸大小;

步骤七、将中间密文图像cs3分为左右子块Li和Ri,i=1,2,...,M×(N/2),并使用改进的Feistel费斯妥加密结构和密钥流 i=1,2,...,M×N,q=5,6,7,8在Galois伽罗瓦域字8

段中进行置乱和扩散cs3;由于像素值范围为[0,255],因此选择GF(2)伽罗瓦域以及本原多

8 4 3 2

项式为D+D+D+D+1;经过置乱和扩散迭代16轮后,合并左右两个密文子块为密文图像,将密文图像从Galois伽罗瓦域映射到实数域,得到最终密文图像cs4,单轮具体加密实现如下:Ri+1=GF(F1Ri)

Li+1=GF(F2Ri+1)

cs4=Li+1||Ri+1

i=1,2,...,M×(N/2)

其中,GF(·)是伽罗瓦域乘法运算;F1,F2是加密轮函数;M×N为图像的尺寸大小; 为密钥流,i=1,2,...M×N,q=5,6,7,8;Li,i=1,2,...,M×(N/2)表示加密前图像的左半子图像矩阵,Ri,i=1,2,...,M×(N/2)表示加密前图像的右半子图像矩阵,Li+1,i=1,2,...,M×(N/2)表示加密后图像的左半子图像矩阵,Ri+1,i=1,2,...,M×(N/2)表示加密后图像的右半子图像矩阵,cs4是密文图像,||是合并符号;

解密过程为加密过程的逆过程,具体步骤如下:

步骤八、获取尺寸大小为M×N的灰度图像cs4作为密文图像,并分为左右两个子块L,R,由于是对称加密,密钥流仍然选择 i=1,2,...,M×N;

步骤九、改进型Feistel费斯妥解密结构,将密文图像cs4映射到Galois伽罗瓦域对密文图像cs4,利用逆改进型Feistel费斯妥解密结构进行解密,并映射回实数域,得到中间密文cs3单轮解密具体过程如下:

F2=GF(Li/Ri)

F1=GF(Ri+1/Ri)

cs3=Li‑1||Ri‑1;

式中:GF(·)是伽罗瓦域乘法运算; 以及 为密钥流;F1,F2为轮函数;Li,i=

1,2,...,M×(N/2)表示解密前图像的左半子图像矩阵,Ri,i=1,2,...,M×(N/2)表示解密前图像的右半子图像矩阵,Li‑1,i=1,2,...,M×(N/2)表示解密后图像的左半子图像矩阵,Ri‑1,i=1,2,...,M×(N/2)表示解密后图像的右半子图像矩阵,cs3是密文图像,||是合并符合;

步骤十、将cs3作为神经网络的输入,密钥流 i=1,2,...,M×N作为神经网络的权重,进行解密逆运算;具体如下:cs3=mod(cs3,256)

式中i=1,2,...,M×N,cs1,cs2,cs3是密文图像,bitxor(·)表示逻辑异或运算;

步骤十一、将cs1结合密钥流 i=1,2,...,M×N,进行逆置乱运算,得到最终解密明文图像P,方法如下:P=cs1

式中j=1,2,...,N,cs1是密文图像,P是明文图像。

说明书 :

超混沌系统与神经网络机制融合的图像块加密解密方法

技术领域

[0001] 本发明涉及算法技术领域,具体涉及了超混沌系统与神经网络机制融合的图像块加密解密方法。

背景技术

[0002] 随着信息技术的飞速发展,人们对敏感信息的保护越来越重视。由于数字图像可以承载大量信息,因此在数据传输过程中起着至关重要的作用,且其中大部分图像包含了大量的隐私信息,使得图像加密技术的重要性日益突出。例如在军事图像,医学图像,身份证图像,银行交易记录和其他非公开图像等方面。与文字信息相比较,数字图像信息容量大、相邻像素点之间相关性高、冗余度大,需要的存储量大,因此通过诸如数据加密标准(DataEncryptionStandard,DES)、高级加密标准(AdvancedEncryptionStandard,AES)等加密算法保护图像信息不仅会花费很多时间而且加密效果也不理想;并且不适合对图像信息进行加密且难以满足现如今社会对信息安全的需求。
[0003] 因此,提出了基于混沌系统的高效加密算法,混沌是具有确定性的非线性动力学系统,且具有遍历性、对初始条件和系统参数的敏感性、非周期性、结构复杂性和强大的伪随机性,与密码学特性非常吻合,同时由于神经网络具有高度的非线性特征,因此利用混沌序列独特的初值敏感性和伪随机性以及神经网络机制对图像进行置乱和扩散,成为近年来国内外学者研究的热门方向;具有重要的学术价值和应用价值,同时由于有限精度的影响,导致混沌系统存在周期性问题。
[0004] 随着新技术的快速发展,近数十年来,以神经网络为代表的机器学习方法在模式识别、机器视觉等诸多领域大放异彩,特别是随着计算能力的大幅提升以及2006年深度学习的提出,人工神经网络正逐渐发展为一种高效且具有普适意义的科学工具.事实上,同样是信息科学的重要分支,神经网络和密码学内部存在着天然的紧密联系.作为一种高度非线性系统,神经网络内部存在混沌等复杂现象此外,神经网络所具备的自适应性、高容错性、联想记忆等特征也符合密码学中对密钥管理、抗攻击能力等内容的需求,而其大规模高速并行的处理能力同样有利于密码技术的实现,由此可见,神经网络和密码学应当存在交叉研究的可行性与必要性,神经网络和密码学的交叉研究必然是相互的。
[0005] 对称密钥加密算法分为序列加密和分组加密,序列加密往往用于实时的数字话音传输,而因为大部分应用场合均为分组数据传输,所以分组加密类算法应用更加更广泛。分组密码算法设计指导原则有两点,一是发散:即小扰动的影响波及到全局,密文没有统计特征,明文一位影响密文的多位,增加密文与明文之间关系的复杂性。二是混淆,强调密钥的作用,增加密钥与密文之间关系的复杂性。分组加密算法具有结构简单易于分析的特点。

发明内容

[0006] 针对现有技术的不足,本发明提供超混沌系统与神经网络机制融合的分组图像加密解密算法,
[0007] 本发明超混沌系统与神经网络机制融合的图像块加密解密方法,利用神经网络的非线性机制,分组加解密结构,包括图像的加密过程和解密过程,所述加密过程和解密过程由以下步骤实现:
[0008] 所述加密过程和解密过程采用的加密密钥为:超混沌的控制参数a,b,c,d,e,k;云模型的期望值Ex,熵En和超熵He;
[0009] 所述加密过程包括以下步骤:
[0010] 步骤一、获取尺寸大小为M×N的灰度图像P作为明文图像;
[0011] 步骤二、计算超混沌系统的初始值init1,init2,init3,init4,计算方法为:
[0012] init1=(sum(Pij)+0.5cos(4cos(M*N)))/224
[0013] init2=mod(10*(init1),1)
[0014] init3=mod(10*(init2),1)
[0015] init4=mod(10*(init3),1)
[0016] 其中,sum(·)表示求和操作,mod(·)表示求余操作;
[0017] 所述提出的新四维超混沌系统表示为:
[0018]
[0019] 其中x,y,z,w为系统状态变量,a,b,c,d,e,k为控制参数;当控制参数分别取值为a=25,b=0.1,c=40,d=3,e=0.1,k=8时,超混沌系统进入混沌状态;
[0020] 步骤三、将混沌初始值init1,init2,init3,init4带入超混沌系统中与云模型结合生成新融合随机序列值 i=1,2,...,M×N,j=1,2,3,4;云模型指的是定性概念与其定量表示之间的不确定性转换模型,它具有三个数值特征:期望值Ex、熵En和超熵He;常见云模型表示为:
[0021] yt=RN(En,He)
[0022] seqt=RN(Ex,yt)
[0023] 其中,RN(·)是标准随机函数,t=1,2,...,N;seqt为云模型的生成序列;
[0024] 融合序列生成方法为:
[0025] yt=RN(En,He)
[0026] seqt=RN(Ex,yt),t=1,2,...,4N
[0027]
[0028] 其中, i=1,2,...,N,q=1,2,3,4; 表示超混沌系统生成的融合
[0029] 步骤四、为满足图像加密的要求,对融合序列进行归一化,以使该序列的值在[0,255]的范围内用以做图像加密的密钥流;过程如下:
[0030]
[0031]
[0032]
[0033]
[0034] i=1,2,...,M×N
[0035] 其中,floor(·)表示取整操作,mod(·)表示取模操作,abs(·)表示绝对值运算;M×N为图像的尺寸大小; i=1,2,...,N,q=1,2,3,4表示超混沌系统生成的混沌序列;
[0036] 步骤五、对原始明文图像进行如下像素置乱操作:
[0037]
[0038]
[0039]
[0040] 其中,reshape(·)表示改变图像矩阵的形状;M×N为图像的尺寸大小; 表示融合混沌序列,i=1,2,...,N,j=1,2,...,N,q=5,6,7,8,P为明文图像,cs为中间密文;
[0041] 步骤六、利用神经网络的非线性特征提高算法的安全性;将图像像素值矩阵作为输入,并以上述融合序列作为神经网络的隐藏层权重,采用神经网络运算机制,通过逻辑XOR运算获得输出图像像素矩阵,激活函数为取模运算;具体过程如下:
[0042] 将融合密钥流 i=1,2,...,M×N,q=5,6,7,8分别分为M块得到各子块有N个值作为神经网络的权重,使置乱后的
图像作为神经网络的输入;继而利用模块化运算作为激活函数,以获取中间密文图像;
[0043]
[0044]
[0045] k=1,2,...,M,i=1,2,...,N
[0046] 其中,bitxor(·)表示逻辑异或运算; 为密钥流;M×N为图像的尺寸大小。
[0047] 步骤七、将中间密文图像cs3分为左右子块Li和Ri,i=1,2,...,M×(N/2),并使用改进的Feistel(费斯妥)加密结构和密钥流 M×N,q=5,6,7,8在Galois(伽8
罗瓦域)字段中进行置乱和扩散cs3;由于像素值范围为[0,255],因此选择GF(2)伽罗瓦域
8 4 3 2
的(2的8次方)以及本原多项式为D +D+D+D +1;经过置乱和扩散迭代16轮后,合并左右两个密文子块为密文图像,将密文图像从Galois(伽罗瓦域)映射到实数域,得到最终密文图像cs4,单轮具体加密实现如下:
[0048]
[0049] Ri+1=GF(F1Ri)
[0050]
[0051] Li+1=GF(F2Ri+1)
[0052] cs4=Li+1||Ri+1
[0053] i=1,2,...,M×(N/2)
[0054] 其中,GF(·)是伽罗瓦域乘法运算;F1,F2是加密轮函数;M×N为图像的尺寸大小;q
xi ,i=1,2,...,N,q=1,2,3,4表示融合序列密钥流;Li,i=1,2,...,M×(N/2)表示加密前图像的左半子图像矩阵,Ri,i=1,2,...,M×(N/2)表示加密前图像的右半子图像矩阵,Li+1,i=1,2,...,M×(N/2)表示加密后图像的左半子图像矩阵,Ri+1,i=1,2,...,M×(N/2)表示加密后图像的右半子图像矩阵,cs4是密文图像,||是合并符号。
[0055] 解密过程为加密过程的逆过程,具体步骤如下:
[0056] 步骤八、获取尺寸大小为M×N的灰度图像cs4作为密文图像,并分为左右两个子块L,R,由于是对称加密,密钥流仍然选择
[0057] 步骤九、按照如附图8所示的改进型Feistel(费斯妥)解密结构,将密文图像cs4映射到Galois(伽罗瓦域)对密文图像cs4,利用逆改进型Feistel(费斯妥)解密结构进行解密,并映射到实数域,得到中间密文cs3单轮解密具体过程如下:
[0058] F2=GF(Li/Ri)
[0059]
[0060] F1=GF(Ri+1/Ri)
[0061]
[0062] cs3=Li‑1||Ri‑1;
[0063] 式中:GF(·)是伽罗瓦域乘法运算; 以及 为密钥流;F1,F2为轮函数;Li,i=1,2,...,M×(N/2)表示解密前图像的左半子图像矩阵,Ri,i=1,2,...,M×(N/2)表示解密前图像的右半子图像矩阵,Li‑1,i=1,2,...,M×(N/2)表示解密后图像的左半子图像矩阵,Ri‑1,i=1,2,...,M×(N/2)表示解密后图像的右半子图像矩阵,cs3是密文图像,||是合并符合。
[0064] 步骤十、将cs3作为神经网络的输入,密钥流 作为神经网络的权重,进行解密逆运算;具体如下:
[0065] cs3=mod(cs3,256)
[0066]
[0067]
[0068] 式中i=1,2,...,M,cs1,cs2,cs3是密文图像,bitxor(·)表示逻辑异或运算。
[0069] 步骤十一、将cs1结合密钥流 进行逆置乱运算,得到最终解密图像P,方法如下:
[0070]
[0071]
[0072] P=cs1
[0073] 式中j=1,2,...,N,cs1是密文图像,P是密文图像。
[0074] 与现有技术相比,本发明的有益效果如下:
[0075] 本发明提出具有较大密钥空间和良好混沌动力学性能的四维超混沌系统,将其与云模型结合,解决了混沌系统的周期问题,并生成了具有更好的复杂性和随机性的融合序列作为密钥流。然后结合密钥流、神经网络机制和改进型Feistel分组结构对分组图像进行置乱和扩散运算以获得密文图像。最后,实验结果表明本发明具有良好的安全性,并且为混沌系统与神经网络机制,分组加解密结构的结合提供了一种新的思路。
[0076] 同时由于有限精度的影响,导致混沌系统存在周期性问题,本发明将混沌系统与云模型结合,构造新的融合随机序列作为密钥流,用于后续的图像加解密运算。
[0077] 本发明利用神经网络的非线性机制,将明文图像作为神经网络的输入数据,密钥流作为神经网络的权重值,采用逻辑异或运算取代传统神经网络的矩阵乘法运算,得到中间密文。
[0078] 在分组加密算法中,Feistel结构的分组加密算法是一种应用最为广泛的算法,几乎所有的分组加密算法都应用这种结构。Feistel结构具有一个很显著的优点,那就是其加密和解密操作非常类似,仅需要调整密钥的次序,在某些情况下甚至是相同的。因此,用于实现算法的代码或者电路的复杂度会大为减小。此外,由于Feistel结构是一种重复迭代结构,该特性使得算法硬件实现更加简单。因此本发明中构造改进型Feistel结构,将密钥流与改进型Feistel结构结合,对图像进行分组加密,从而提高了加密算法的安全性及加密效率。

附图说明

[0079] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0080] 图1为本发明所述的新四维超混沌系统的四通道相图:其中,图1A为x‑y‑z相图;图1B为x‑y相图;图1C为y‑w相图;图1D为y‑z相图;
[0081] 图2为本发明所述的新四维超混沌系统的时间序列图:其中,图2A为x时间序列图;图2B为y时间序列图;图2C为z时间序列图;
[0082] 图2D为w时间序列图;
[0083] 图3为本发明所述的四维超混沌系统的Lyapunov指数图;
[0084] 图4为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法中加密过程流程图;
[0085] 图5为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法中解密过程流程图;
[0086] 图6为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法中的神经网络结构;
[0087] 图7为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法中改进型Feistel加密流程图;
[0088] 图8为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法中的改进型Feistel解密流程图;
[0089] 图9为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法中进行的加密结果和直方图:其中,图9A为Lena明文图像;图9B为Lena密文图像;图9C为Lena明文图像直方图;图9D为Lena密文图像直方图;图9E为摄影师明文图像;图9F为摄影师密文图像;图9G为摄影师明文图像直方图;图9H为摄影师密文图像直方图;
[0090] 图10为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法的密钥敏感性加密性能分析:其中图10A为Lena明文图像;图10B为Lena解密图像;图10C为微调密钥后的Lena解密图像;
[0091] 图11为本发明所述的超混沌系统与神经网络机制融合的分组图像加解密算法的相邻像素的相关性加密性能分析:其中图11A为Lena明文图像水平方向相邻像素的相关性图;图11B为Lena明文图像竖直方向相邻像素的相关性图;图11C为Lena明文图像对角方向相邻像素的相关性图;图11D为Lena密文图像水平方向相邻像素的相关性图;图11E为Lena密文图像竖直方向相邻像素的相关性图;图11F为Lena密文图像对角方向相邻像素的相关性图。

具体实施方式

[0092] 以下将以图式揭露本发明的多个实施方式,为明确说明起见,许多实物上的细节将在以下叙述中一并说明。然而,应了解到,这些实物上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实物上的细节是非必要的。此外,为简化图式起见,一些习知惯用的结构与组件在图式中将以简单的示意的方式绘示之。
[0093] 另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅仅是为了区别以相同技术用语描述的组件或操作而已,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0094] 请参阅图1‑11,本发明超混沌系统与神经网络机制融合的图像块加密解密方法,包括图像的加密过程和解密过程,所述加密过程和解密过程由以下步骤实现:
[0095] 所述加密过程和解密过程采用的加密密钥为:超混沌的控制参数a,b,c,d,e,k;云模型的期望值Ex,熵En和超熵He;
[0096] 所述加密过程包括以下步骤:
[0097] 步骤一、获取尺寸大小为M×N的灰度图像P作为明文图像;
[0098] 步骤二、计算超混沌系统的初始值init1,init2,init3,init4,计算方法为:
[0099] init1=(sum(Pij)+0.5cos(4cos(M*N)))/224
[0100] init2=mod(10*(init1),1)
[0101] init3=mod(10*(init2),1)
[0102] init4=mod(10*(init3),1)
[0103] 其中,sum(·)表示求和操作,mod(·)表示取模运算操作;
[0104] 所述的超混沌系统表示为:
[0105]
[0106] 其中x,y,z,w为系统状态变量,a,b,c,d,e,k为控制参数;当控制参数分别取值为a=25,b=0.1,c=40,d=3,e=0.1,k=8时,超混沌系统进入混沌状态;
[0107] 步骤三、将混沌初始值init1,init2,init3,init4带入超混沌系统中与云模型结合生成新融合随机序列值 i=1,2,...,M×N,j=1,2,3,4;云模型指的是定性概念与其定量表示之间的不确定性转换模型,它具有三个数值特征:期望值Ex、熵En和超熵He;常见云模型表示为:
[0108] yt=RN(En,He)
[0109] seqt=RN(Ex,yt)
[0110] 其中,RN(·)是标准随机函数,t=1,2,...,N;seqt为云模型的生成序列;
[0111] 融合序列生成方法为:
[0112] yt=RN(En,He)
[0113] seqt=RN(Ex,yt),t=1,2,...,4N
[0114]
[0115] 其中, q=1,2,3,4; 表示超混沌系统生成的融合
[0116] 步骤四、为满足图像加密的要求,对融合序列进行归一化,以使该序列的值在[0,255]的范围内用以做图像加密的密钥流;过程如下:
[0117]
[0118]
[0119]
[0120]
[0121] i=1,2,...,M×N
[0122] 其中,floor(·)表示取整操作,mod(·)表示取模操作,abs(·)表示绝对值运算;M×N为图像的尺寸大小; 表示超混沌系统生成的混沌序列;
[0123] 步骤五、对原始明文图像进行如下像素置乱操作:
[0124]
[0125]
[0126]
[0127] 其中,reshape(·)表示改变图像矩阵的形状;M×N为图像的尺寸大小; 表示融合混沌序列,i=1,2,...,N,j=1,2,...,N,q=5,6,7,8,P为明文图像,cs为中间密文;
[0128] 步骤六、利用神经网络的非线性特征提高算法的安全性;将图像像素值矩阵作为输入,并以上述融合序列作为神经网络的隐藏层权重,采用神经网络运算机制,通过逻辑XOR运算获得输出图像像素矩阵,激活函数为取模运算;具体过程如下:
[0129] 将融合密钥流 i=1,2,...,M×N,q=5,6,7,8分别分为M块得到各子块有N个值作为神经网络的权重,使置乱后的
图像作为神经网络的输入;继而利用模块化运算作为激活函数,以获取中间密文图像;
[0130]
[0131]
[0132] k=1,2,...,M,i=1,2,...,N
[0133] 其中,bitxor(·)表示逻辑异或运算; 为密钥流;M×N为图像的尺寸大小。
[0134] 步骤七、将中间密文图像cs3分为左右子块Li和Ri,i=1,2,...,M×(N/2),并使用改进的Feistel(费斯妥)加密结构和密钥流 M×N,q=5,6,7,8在Galois(伽8
罗瓦域)字段中进行置乱和扩散cs3;由于像素值范围为[0,255],因此选择GF(2)伽罗瓦域
8 4 3 2
的(2的8次方)以及本原多项式为D +D+D+D +1;经过置乱和扩散迭代16轮后,合并左右两个密文子块为密文图像,将密文图像从Galois(伽罗瓦域)映射到实数域,得到最终密文图像cs4,单轮具体加密实现如下:
[0135]
[0136] Ri+1=GF(F1Ri)
[0137]
[0138] Li+1=GF(F2Ri+1)
[0139] cs4=Li+1||Ri+1
[0140] i=1,2,...,M×(N/2)
[0141] 其中,GF(·)是伽罗瓦域乘法运算;F1,F2是加密轮函数;M×N为图像的尺寸大小;q=1,2,3,4表示融合序列密钥流;Li,i=1,2,...,M×(N/2)表示加密前图
像的左半子图像矩阵,Ri,i=1,2,...,M×(N/2)表示加密前图像的右半子图像矩阵,Li+1,i=1,2,...,M×(N/2)表示加密后图像的左半子图像矩阵,Ri+1,i=1,2,...,M×(N/2)表示加密后图像的右半子图像矩阵,cs4是密文图像,||是合并符号。
[0142] 解密过程为加密过程的逆过程,具体步骤如下:
[0143] 步骤八、获取尺寸大小为M×N的灰度图像cs4作为密文图像,并分为左右两个子块L,R,由于是对称加密,密钥流仍然选择
[0144] 步骤九、按照如附图8所示的改进型Feistel(费斯妥)解密结构,将密文图像cs4映射到Galois(伽罗瓦域)对密文图像cs4,利用逆改进型Feistel(费斯妥)解密结构进行解密,并映射到实数域,得到中间密文cs3单轮解密具体过程如下:
[0145] F2=GF(Li/Ri)
[0146]
[0147] F1=GF(Ri+1/Ri)
[0148]
[0149] cs3=Li‑1||Ri‑1;
[0150] 式中:GF(·)是伽罗瓦域乘法运算; 以及 为密钥流;F1,F2为轮函数;Li,i=1,2,...,M×(N/2)表示解密前图像的左半子图像矩阵,Ri,i=1,2,...,M×(N/2)表示解密前图像的右半子图像矩阵,Li‑1,i=1,2,...,M×(N/2)表示解密后图像的左半子图像矩阵,Ri‑1,i=1,2,...,M×(N/2)表示解密后图像的右半子图像矩阵,cs3是密文图像,||是合并符合。
[0151] 步骤十、将cs3作为神经网络的输入,密钥流xi5,xi6,xi7,xi8,i=1,2,...,M×N作为神经网络的权重,进行解密逆运算;具体如下:
[0152] cs3=mod(cs3,256)
[0153]
[0154]
[0155] 式中i=1,2,...,M,cs1,cs2,cs3是密文图像,bitxor(·)表示逻辑异或运算。
[0156] 步骤十一、将cs1结合密钥流 进行逆置乱运算,得到最终解密图像P,方法如下:
[0157]
[0158]
[0159] P=cs1
[0160] 式中j=1,2,...,N,cs1是密文图像,P是密文图像。
[0161] 以上所述仅为本发明的实施方式而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理的内所作的任何修改、等同替换、改进等,均应包括在本发明的权利要求范围之内。