• 首页
  • 科学成果
  • 基于神经网络的混沌虹膜相位掩模计算恢复全息加密图像的方法-丁茹博士

基于神经网络的混沌虹膜相位掩模计算恢复全息加密图像的方法-丁茹博士

2023-08-21

摘要:为了拓展对计算全息加密图像的解密方法,针对非法攻击难度大的对称-非对称混合加密系统,提出了一种利用神经网络恢复混沌虹膜相位掩模计算全息加密图像的方案。对明文图像进行加密,生成计算全息的密文图像,制作大量的密文明文图像对作为数据集。通过搭建神经网络不断地训练和测试,训练完成后的神经网络可以拟合出密文图像到明文图像的映射关系,解密时不再使用公钥和私钥对密文图像进行解密。实验结果表明:通过神经网络恢复出的图像与明文图像相比,平均互相关系数为0.984,平均峰值信噪比为61.0dB,平均结构相似性为0.77;对密文图像进行噪声污染,也可以恢复出较高质量的图像,实现了通过神经网络对密文图像解密的目的,方案是可行的并具有较好的鲁棒性。


关键词:计算全息;光学加密;深度学习;生物密码;混沌;残差网络


1引言

       随着现代信息技术的发展,图像因其信息量丰富的优点,经常作为信息传递的载体。信息安全是信息传递中一个重要课题,为了对图像进行加密,学者们提出了种类各异的加密方法。其中,光学图像加密具有并行性、速度快、多维度等优点[1-2],因此倍受研究人员的青睐。1995年,Refregier和Javidi提出了基于4f系统的双随机相位编码(DoubleRandomPhaseEncryption,DRPE)方法[3],此后分数傅里叶变换域、菲涅耳变换域、小波变换域等光学图像加密技术被提出[4-6]。

      一般的光学图像加密结果往往是复数,全息记录方式才能同时记录强度信息和相位信息,而传统的全息记录材料存储不便于在网络中传输。为了便于存储和网络传输,需要对加密信息进行数字化,最有效的数字化技术是数字全息和计算全息[7-9]。计算全息图像除了有数字化的特点外,还可以任意设置系统参数,记录虚拟物体。一般的加密方法需要将作为密钥的随机相位掩模与加密图像一起发送给接收方,信息量较大,不利于传输。针对这一问题,人们提出了基于混沌系统的改进方法[10]。在这基础上,科研人员利用计算全息和混沌理论对图像进行光学加密和解密。在这些改进方法中,利用混沌函数产生随机相位掩模,混沌函数的初始值和控制参数作为密钥,大大降低了密钥的信息量,改善了传输密钥的问题。

      由于大多数的光学加密系统是对称的,明文与密文是线性关系,容易被攻破,QIN和PENG等提出了一种基于相位截断傅里叶变换的非对称加密系统[16],该系统使用两个与加密密钥完全不同的解密密钥来恢复原始文本,提高了系统的安全性。由于密钥通常与其所有者没有紧密的联系,如果密钥被盗或者丢失,加密系统的安全性会受到威胁。生物特征作为密钥,具有唯一性和不可变更性,可以避免这类威胁,提高加密系统的安全性,近些年被广泛应用于图像加密领域。本课题组也曾提出对称-非对称混合的加密方案,它是结合混沌映射、虹膜相位掩模和计算全息术的图像加密方案。

      随着计算机硬件和人工智能技术的飞速发展,深度学习近几年在各个领域取得了突破性的进展。研究人员提出VisualGeometryGroupNetwork(VGGNet)、GoogLeNet、残差网络(ResidualNetwork,ResNet)等多种神经网络结构。神经网络拥有自学习与自适应性的特点,当神经网络输入训练样本,网络能够自动调整结构参数,改变映射关系,从而对特定的输入产生相应的期望输出。根据这一特性,神经网络可以应用于全息图像的重建。


2基本原理

2.1混沌虹膜相位掩膜计算全息图像加密

2.1.1生成混沌虹膜相位掩膜

      在密码体系中,logistic混沌映射是使用最为广泛的混沌系统之一,通常是用来统计人口变化的数学模型,其表达式为:

                              xn+1=μxn(1-xn)                                     (1)

      其中μ为系统参数。当3.5699456<μ≤4时,lo⁃gistic映射正处于混沌状态,此时所生成的混沌序列具有随机分布特性,是一种颇为良好的伪随机序列。

     首先选取一张虹膜图像g(x,y),将该虹膜图像与第一个混沌随机相位C1(x1,y1)相乘,并进行第一次傅里叶变换,得到频谱:

                         G(x0,y0)=FT{g(x,y)C1(x1,y1)}        (2)

     对频谱提取相位,生成第一个混沌虹膜相位掩膜:

                    CIPM1=PR{G(x0,y0)}=exp[j2πφ(x0,y0)]        (3)

     其中:PR{•}表示相位保留或振幅截断。随后,对频谱提取振幅:

                     PT{G(x0,y0)}=|G(x0,y0)|,                   (4)

     其中:PT{•}表示相位截断或振幅保留。

     然后与第二个混沌随机相位C2(x2,y2)相乘,并再一次进行傅里叶变换得到新的频谱:

                 G'(x1,y1)=FT{|G(x0,y0)|C2(x2,y2)}               (5)

     再次提取相位,生成第二个混沌虹膜相位掩膜:

                  CIPM2=PR{G'(x1,y1)}=exp[j2πφ(x1,y1)]         (6)

     这时可以得到两个混沌虹膜相位掩膜板CIPM1和CIPM2。整个流程如图1所示。


2.1.2生成计算全息加密图像

      将待加密图像f(x0,y0)与第一个混沌虹膜相位相乘掩膜板CIPM1,接着进行一次菲涅尔变换,得到:

               f(x1,y1)=FrTZ1{f(x0,y0)exp[j2πφ(x0,y0)},                 (7)                      

      其中:FrT{•}表示菲涅尔变换,Z1表示菲涅尔衍射距离。然后对其进行相位截断和相位保留:

                          PT{f(x1,y1)}=|f(x1,y1)|,                                    (8)

                    RPM1=PR{f(x1,y1)}=exp[j2πϕ(x1,y1)].                  (9)

11.png

                             图1混沌虹膜相位掩膜板生成流程

       保存RPM1,并作为解密过程的第一个私钥。相位截断后与第二个混沌虹膜相位掩膜板CIPM2相乘,再进行一次菲涅尔变换,得到:

              f(x2,y2)=FrTZ2{f(x1,y1)exp[j2πφ(x1,y1)},                   (10)

      其中Z2表示菲涅尔衍射距离。再进行一次相位截断和相位保留,得到:

                    PT{f(x2,y2)}=|f(x2,y2)|,                                           (11)

        RPM2=PR{f(x2,y2)}=exp[j2πϕ(x2,y2)].                                   (12)

      将RPM2保存,并作为解密过程的第二个私钥。相位截断后,此时图像可作为制作菲涅尔计算全息图的原始图像,接着制作菲涅尔计算全息图。再经过距离Z3的菲涅耳衍射,在输出平面得到复振幅分布:

                          f(x3,y3)=FrTZ3{|f(x2,y2)|}.                                   (13)

      最后引入参考光R(x3,y3)与f(x3,y3)进行干涉,二者存在一定的夹角,是离轴全息。在输出平面得到加密全息图的光强分布:

                           I(x3,y3)=|R(x3,y3)+f(x3,y3)|2                           (14)

整个加密过程如图2所示。

222.png

                                                 图2计算全息图像加密流程


2.2基于神经网络的加密图像恢复    

      一般来说,随着神经网络层数的增加,整个系统恢复出的效果会更好,但实际上会出现梯度消失或者网格退化的现象,即随着网络层数的增加,训练损失前期下降,最后却会趋于饱和,此时再增加网络深度,训练损失反而会增大,这和过拟合是不一样的。为了解决这个问题,可以尝试将浅层网络的特征传到高层网络,以达到最终的训练目的。最早提出具体方法的是何凯明,他在2015年提出了残差网络模型[23]。

      与传统的卷积神经网络相比,残差网络最大的特点就是存在跳转连接层,如图3所示。利用此跳转连接层可以将一个残差模块的输入和输出进行元素方式的堆叠,这种对元素的加法不会增加网络计算负担,也不会额外增加参数,相反还会通过将浅层的信息直接传到更深的网络层,极大地提高整个模型的训练速度和精度。经过实践,由于网络模型层数不断加深而导致训练误差增大的现象被消除,并且在测试集的表现会更加优异,因此该跳转链接能够很好地解决网格退化的问题。

33.png

                                                图3残差网络流程

       本文基于残差网络对密文进行恢复,通过大量密文明文对进行训练,直至网络模型学习到明文密文对之间的逻辑关系。通过残差网络结构可以看出,模型的输入和输出是一一对应的,即输入一幅密文图,输出即该密文图所对应的明文图。明文到密文的关系式为:

                                              A=F(B),                                         (15)

      其中:A表示密文图,B表示明文图,函数F可近似为加密过程,并且是不对称加密。那么本设计即是拟作该加密过程的逆过程,关系式为:

                                            C=F-1(A),                                       (16)


                                     其中C为通过神经网络恢复出的图像。

       神经网络的输入图像为64×64的灰度加密图像,第一层网络为卷积层,卷积核尺寸为3×3,数量为64个,步进为1,填充方式为SAME,以保证输入输出尺寸一致,利用卷积层可以提取输入端的特征。随后进入激活层,采取的激活函数为ReLU。在神经网络中添加ReLU函数后,能极大地缓解梯度消失的现象,并且可以提高收敛速度。第三层网络为池化层,加入池化层是为了防止过拟合。接下来进入残差模块,整个神经网络包含5个残差模块,如图4所示,残差模块由2个卷积层、2个批量归一化层(BatchNormalization,BN)和2个激活层构成。BN层在线性层和卷积层后面,能够加速网络收敛速度,可以使用较大的学习率来训练网络,提高整个网络的泛化能力。

44.png

                                                   图4残差模块结构

       需要指出的是,第一层卷积所得到的特征同样作用到了最后一个残差模块之后,再经过2次激活层和3次卷积层后得到一幅64×64的输出图像,神经网络结构如图5所示。

      为了更好地提高输出图像的质量,网络中的优化器引入的是Adam优化算法。该算法是一个寻找全局最优点的优化算法,并且引入了二次梯度校正。网络采用的均方差(MeanSquaredEr⁃ror,MSE)损失函数如下:

177.png

      其中:Ioutput为输出图像真值,Itarget为对应目标图像真值,M和N代表图像的高度和宽度。训练过程中损失值趋于动态稳定时,神经网络完成训练。