基于小波压缩深度学习重构的多图像光学加密

2024-02-22 07:59贾德宝敬世伟
计算机工程与设计 2024年2期
关键词:明文密文解密

郭 媛,贾德宝,敬世伟,翟 平

(齐齐哈尔大学 计算机与工程学院,黑龙江 齐齐哈尔 161006)

0 引 言

随着大数据技术的快速发展和信息传输能力的不断增强,传统的单图像加密[1]传输已经不能满足日益增长的信息需求。越来越多的学者开始研究多图像加密技术[2-4],石等[5]提出了基于压缩感知的多图像加密方法,但该方法只作用于相同大小的图像且加解密速度慢;Zeng等[6]提出了小波变换和菲涅尔变换的多彩色图像加密方法,该方法通过提取4张图像的低频部分,同一类型通道重新组合一张新图,但该方法只能加密固定的4张图像。

随着多图像可同时加密的图像越来越多,相应的密文体积也变得越大[7-10],而图像压缩是解决密文体积大的有效手段。Hashim等[11]提出了一种新的基于统计规则的数字图像加密压缩方法,通过路径扫描得到一维像素序列,记录方差滤波后的像素值和像素频率,基于统计的规则进行压缩,但该方法只是在空域对图像进行操作,压缩比例较小;李等[12]用离散余弦变换(DCT)将原始图像变换到频域的高频与低频部分,但在高压缩比条件下会有比较明显方块效应。沈等[13]利用整数小波变换对图像压缩,对压缩后的明文进行交叉组合,最后将组合的图像动态分割生成多张密文实现多图像加密,但这种方法加密速度慢。李等[14]基于Logistic混沌映射,利用明文像素对其迭代,生成一个随机相位掩码,增强了随机相位模板的敏感性和随机性,但该混沌初始值少,密钥空间较小,安全性能较低。在图像重构方面,传统的重构算法重构时间长,重构效果差,不能满足显示设备快速发展的需求。张等[15]提出一种基于深度学习的快速超分辨率图像重建方法,使用级联的小卷积核以取得重建速度上的提升,加深卷积网络以取得重建质量上的提升;Li等[16]使用生成对抗网络对图像重构,该网络由生成器和判别器两个模型组成,训练过程中相互修正,能够获得更接近人眼真实感知的重构图像,但对于高精度重构不适用,且网络计算较复杂,学习速度慢。

综上所述,本文基于小波变换对多张不同大小、不同类型的图像进行压缩,并将压缩后的多张图像进行先行后列重排;使用FDT-DRPE光学加密系统提高加密速度,并对FDT-DRPE进行改进,添加矢量分解和螺旋相位变换;将Logistic与sine混沌级联再添加到sin函数构造L_S混沌系统;提出比特分层深度学习网络模型(BHCN),对图像进行比特分层作为网络输入,并通过在网络训练中对输入图像加入高斯噪声来增强图像的抗噪声和抗剪切能力。

1 基本原理

1.1 小波压缩与多图像重组

本文采用二维离散小波变换对图像f(x,y) 压缩,图像中的二维小波变换表示为

(1)

逆变换

(2)

为了能加密任意数量、类型和大小的图像,首先对原图进行小波压缩,只保留低频LL,并将得到的低频图像按先行后列的形式组合成一个新图像,针对彩色图像先进行通道的分离,然后再用同样的方式组合。其图像大小运用式(3)来计算

(3)

1.2 改进的FDT-DRPE

传统的FDT-DRPE克服了4f系统中的透镜和随机相位模板都需要精确定位,灵活性不高的问题[17],但是FDT-DRPE对第一块随机相位模板和第一衍射距离不够敏感。本文通过在FDT-DRPE前加入矢量分解将输入图像由实值转换为复值表示,并结合螺旋相位变换来提高衍射距离的敏感性。改进后的过程如图1所示。

图1 改进的FDT-DRPE

单位等模矢量分解表示为

(4)

其中,Z1为复数形式的分解结果,F为归一化后的明文信息,α为随机相位角,解密时用式(5)

F=|exp(iα)+Z1|

(5)

螺旋相位变换(spiral phase transform,SPT)的正变换为

FSPT(x,y)=SPT{Z1(x,y)}=IFT{SPFq·FT{Z1(x,y)}}

(6)

SPT的逆变换为

FISPT(x,y)=ISPT{FSPT(x,y)}=

IFT{SPFq*×FT{FSPT(x,y)}}

(7)

其中,FT为傅里叶变化,IFT为傅里叶逆变换,SPFq为螺旋相位空间函数,SPFq*为其复共轭

SPFq=exp{iqφ(u,v)}

(8)

(9)

式中:φ(u,v) 是频率空间中的极角坐标,i是虚数单位。SPFq在原点处没有定义,函数值可以按0或1来处理,称为奇点,q为修正参数。

菲涅尔双随机相位编码与解码表示为

FDRPE(x,y)=FDTd1{FDTd2[FSPT(x,y)·

A(x,y)]·B(u,v)}

(10)

FSPT(x,y)=FDT-d1{FDT-d2[FDRPE(x,y)]·

B*(u,v)}·A*(x,y)

(11)

A(x,y)、 B(u,v) 为空域和频域的随机相位模板,A*(x,y)、 B*(u,v) 为其复共轭。

1.3 L_S混沌系统构造

本文采用Logistic与sine混沌级联再添加到sin函数的方式,使其能够在整个参数区间都能达到满映射的状态。

Logistic混沌系统映射定义为

xn+1=μxn(1-xn)

(12)

其中,0≤μ≤4称为分枝参数,对任意的xn∈(0,1),Logistic系统始终可以保证xn+1始终位于(0,1)内,混沌动力系统研究指出,当3.569 945<μ≤4时,Logistic映射处于混沌态。

Sine映射定义为

xn+1={μsin(πxn)}/4

(13)

Logistic与sine级联再变换可表示为

(14)

由图2可知Logistic与sine级联产生的连续混沌参数在[0,4]的区间,明显比Logistic与sine的参数区间更宽,从而使得其密钥空间更大,抗蛮力攻击能力更强。

图2 分岔图

通过混沌产生随机密钥和相位模板,可以减小密钥的体积并具有更好的随机性。

1.4 基于比特分层卷积神经网络重构模型BHCN

为使特征提取层获得更多图像细节,本文对输入图像进行比特分层来作为深度学习模型的输入,模型共计5个卷积层,卷积核大小分别为9×9,5×5,3×3,1×1,3×3,激活函数使用Leaky Relu函数,均方误差(MSE)作为损失函数,优化器采用Adam。

模型的卷积的运算过程表示为

Fi(Xi)=max(0,Wi*Xi+Bi)

(15)

Xi+1=LeakyReLU(Fi(Xi))

(16)

其中,Wi与Bi分别代表滤波器的系数和偏置参数,*表示卷积运算,Wi包含ni个c×fi×fi,c表示输入的通道数,Fi为滤波器空间大小,Bi是一个ni维向量,代表ni个偏置。Leaky ReLU()为激活函数,虽然ReLu具有训练速度快的优势,但当x<0的情况下,神经元在训练中会出现不可逆死亡现象。而Leaky ReLu当x<0时,它的值不再是0,而是一个较小的斜率函数,这样就不会丢失x<0的全部信息,公式为

(17)

网络模型如图3所示。

图3 比特分层网络结构

网络训练集使用BSD500前400张图片,并进行翻转、旋转操作得到2400张图片作为训练集,后100张图片同样处理作为测试集,初始学习率为0.001,迭代50 000次,每10 000次学习率降低1/2。使用Pytorch开源工具训练网络,设备配置为Intel Core i7-10130 CPU,内存32 G,显卡GTX2080Ti。为提高网络的抗噪声能力,训练时在输入图像添加σ=0.01的高斯噪声。

2 加解密过程

2.1 密钥生成

将该混沌系统(L-S)与系统加密时间和明文的SHA-256进行关联,实现一次一密的加密效果。首先求出当前加密时间和明文的SHA-256H1和H2并进行异或运算求得H3,再将H3每八位分为一组,可以表示为H3=h1,h2,…,h32, 其中hi为hi=[hi,0,hi,1,…,hi,7], 并用其生成如下的动态密钥

x0=mod(x′0+h1⊕h2⊕h3⊕h4/256,1)

(18)

μ1=mod(μ′1+h5⊕h6⊕h7⊕h8/64,4)

(19)

N0=mod(n′0+h9⊕h10⊕h11⊕h12,200)+100

(20)

d1=mod(d′1+h13⊕h14⊕h15⊕h16⊕h17/64,4)

(21)

d2=mod(d′2+h18⊕h19⊕h20⊕h21⊕h22/64,4)

(22)

λ=mod(λ′+h23⊕h24⊕h25⊕h26⊕h27/256,7)*10-6

(23)

q=q′+h28⊕h29⊕h30⊕h31⊕h32

(24)

其中,x0、μ1、N0为混沌的初值参数和预迭代次数,d1、d2、λ、q为菲涅尔双随机相位编码的第一第二衍射距离、波长和螺旋相位模板的修正系数。x′0、μ′1、n′0、d′1、d′2、λ′、q′为初始参数。

2.2 加密过程

本文先将多张图像(f1-fn)进行小波压缩,提取低频(L1-Ln)部分,再将低频图像按先行后列组成一张灰度图像F,并对该图像进行矢量分解得到纯相位信息图像F1,再对其进行螺旋相位变换得到F2,最后将其放入菲涅尔的双随机相位编码系统中得到密文C,加密过程如图4所示。

详细步骤如下:

步骤1 输入多张不同类型、大小的图像f1-fn,通过小波变换提取低频部分L1-Ln。

步骤2 将得到的低频图像进行重组得到一个一维的矩阵F,并作归一化处理。

步骤3 计算F和当前时间的SHA256,并通过得到的值通过动态密钥的生成式(18)到式(24)得到x0、μ1、N0、d1、d2、λ、q。

步骤4 将x0、μ1带入L-S混沌系统中先迭代N0次,再动态迭代3*m*n(m,n为加密图像的长宽)次,截取三段序列生成r1,r2,r3随机序列矩阵,再放入式(25)到式(27)中生成随机模板

rmp1=r1×2π

(25)

rpm2=exp(i×2π×mod(r2×10,1))

(26)

rpm3=exp(i×2π×mod(r3×100,1))

(27)

步骤5 将 rmp1和F带入式(4)中进行矢量分解,得到F1。

步骤6 将q带入式(8)中求得SPFq模板,与F1一起带入式(6)得到螺旋相位变换后的图像F2。

步骤7 将rmp2、rmp3,λ和F2带入式(10)中进行双随机相位编码得到密文C。

2.3 解密与重构

解密过程为加密的逆过程,模板的生成与加密同样的处理,数值取加密模板的复共轭。解密的原理如图5所示。

将解密得到的重组图像F分离得到多张图像的低频(LL)部分,通过填充0作为图像的高频部分,并进行逆小波变换得到模糊图像,对该图像进行比特分层得到n*8个图像,再将得到的图像放入训练好的模型得到清晰图像。

3 实验分析

为验证本文算法的有效性和可行性,选取一张256×256的彩色图、一张512×512的灰度图、一张256×256的CT图、一张128×128的显微镜下细胞图作为明文。设置x′0、μ′1、n′0、d′1、d′2、λ′和q′分别为0.49、4.1、500、4、5、9和3000,再根据新组成图像和加密时间的SHA-256生成 动态密钥。加解密结果如图6所示。明文图像具有很强的相关性,攻击者就可以通过相关性特征来恢复图像,表1给出了水平、垂直和对角的相邻像素相关系数,以此来评估算法的加密效果。

表1 相邻像素相关性

图6 加解密与重构效果

由图6可见本算法一次完成了4张不同类型、大小的图片同时加密。密文大小为所有明文的1/4,具有压缩效果,便于密文的传输。密文图像完全看不出明文信息且解密图像在肉眼条件下与明文无差别。表1可见本算法可有效破坏像素间相关性,增加安全性。

3.1 压缩与加密性能分析

通常来说,压缩率决定着多图像加密密文的大小,但加密图像的数量、大小、类型以及压缩与加密的时间也是重要的评价指标,为测试本文系统的压缩与加密性能,与文献[2,6,13]进行多维度对比,结果见表2。

表2 压缩与加密性能对比

由表2可知,本文在整体性能表现更好,相比文献[2,6,13],本文对加密图像的数量、大小没有限制,压缩率上优于文献[2],并可以加密任意类型图像;在同时压缩与加密4张图像时,本文在时间上最优。

3.2 密钥空间分析

本文的密钥包括明文与当前时间的哈希值(SHA-256)以及混沌的初值参 (x0、μ1、N0) 数和光学的衍射距离 (d1、d2)、 频率(λ)和相位旋转参数(q)。通过表3的密钥敏感性分析得出敏感度再乘以其范围就为其秘钥空间,故本文的密钥空间至少10220。从安全的角度,Liu等[18]指出抵抗蛮力攻击的密钥空间大小为2100就可以抵御蛮力攻击,10220>>2100,所以本算法的密钥空间对穷举攻击是安全的。

表3 鲁棒性分析数值表示

3.3 鲁棒性分析

密文在传输过程中极易受到噪声污染和数据丢失的情况,本文通过在网络模型训练中对输入图像添加高斯噪声来增强密文的抗噪声和抗剪切能力。将图6(e)的密文加入0.1的高斯噪声、0.1的椒盐噪声和1/4的剪切操作后,分别放入不加噪声模型和加噪声模型中重构,重构效果如图7所示,并通过式(32)计算不添加噪声模型和添加噪声模型的PSNR,计算结果见表3。

图7 鲁棒性分析

图7可见,即使在训练中不添加噪声仍能看出明文信息,说明网络的稳定性较好,而在训练中添加噪声后,可以得到更加清晰的明文,细节表现更好,由此可见添加噪声后的网络模型间接增强了密文的抗噪声和抗剪切能力;由表3可知对输入图像添加噪声后模型的PSNR比不添加噪声的模型平均提高了7.49 dB。

3.4 敏感性分析

3.4.1 密钥敏感性分析

密钥敏感性表示当其中任何一个密钥发生非常微小的变化时,生成的密文表现出巨大差别,同样对于解密的明文来说,已经失去了原始明文的全部特征。通过变化前后的相关系数来作为敏感性的指标,当相关系数越接近0时,表示密钥的敏感性越强,计算公式如下

(28)

表4表示通过改变单一变量x′0、μ′1、n′0、d′1、d′2、λ′、q′,H1、H2后,改变前后的密文与解密图像相关系数。

表4 密钥敏感性分析

由表4可知,无论在加密还是在解密过程中密钥改变前后密文和解密图像的相关系数都很接近于0,说明加密出来的密文或解密的解密图像完全不同。

图8展示了图6中密文在x′0改变10-14时的解密图像。当密钥发生微小变化时,得到的图像没有任何特征信息,说明本文加密算法对密钥极其敏感。

3.4.2 明文敏感性分析

明文的敏感性表现在密钥不变的情况下,对明文进行细微的变化后,得到的相应密文与原密文几乎无任何共同点和共同特征,使得加密系统无法破译。表5是通过计算图6(a)~图6(d)的像素改变率(number of pixels change rate,NPCR)和统一平均变化强度(unified average changing intensity,UACI)来验证该加密系统具有很强的抗差分攻击能力,公式如下

表5 明文敏感性分析

(29)

(30)

(31)

其中,C1表示原始加密图像,C2为改变原始图像的某一像素点后的加密图像,M×N为加密图像的大小。

由表5可知,无论明文图像改变任意一点像素值还是加密的时间不同,密文图像几乎全部发生了变化,可见该加密系统具有较强的明文敏感性,并验证了加密系统具有一次一密的特点。

3.5 重构质量和性能分析

本文采用峰值信噪比PSNR与结构相似性SSIM作为重构质量的评价标准,PSNR的值越大表示图像重构的质量越高,PSNR的公式表示为

(32)

MAX表示图像点颜色最大值,L表示损失函数,本文的损失函数为式MSE损失函数。SSIM从亮度、对比度和结构3个层次进行相似度比较,值在0~1之间,越接近1表示两幅图越相似,SSIM的公式表示为

SSIM(x,y)=l(x,y)α·c(x,y)β·s(x,y)γ

(33)

(34)

(35)

(36)

表6列出了图6(a)~图6(d)使用文献[5,7,10,11,14]加解密的重构效果与重构时间,并对图6(a)~图6(d)采用本文的方式压缩与加密,再放入不同的深度学习模型中来分析重构效果与重构时间。并分别选取传统算法与深度学习模型在重构时间和重构效果上表现较优的与本文模型在视觉效果上进行对比,如图9所示。

表6 重构质量分析

图9 重构效果对比

表6可以看出,本文重构图像的PSNR与SSIM要明显优于文献[5,7,10,11];并在重构时间上明显优于传统算法。对比其它深度学习模型,本文使用比特分层的预处理方式,PSNR都在34 dB以上,优势明显;0.5 s的重构时间也优于大部分模型结合。图9可以看出,SRCNN、MSRN和文献[10]图像恢复模糊,无法重构出细节信息,文献[14]在PSNR方面与本文相当,但本文的SSIM更高,具有更清晰的重构效果,在细节恢复上,本文明显精度更高。

3.6 模型泛化能力

为验证本文模型具有较好的泛化能力,分别从Set14、B100、Urban100中选取4张图片做测试,并计算4张图片的平均峰值信噪比(PSNR)和结构相似性(SSIM),表7为实验验证结果。

由表7可知在3个不同数据集上验证的结果,PSNR的平均值都超过34 dB,说明恢复图像的图像质量较高,具有较好的泛化能力。

4 结束语

本文提出一种可实现任意张数、大小和类型的多图像同时加密算法。采用小波压缩将密文体积减小到原来的1/4,提高传输效率;构造L_S混沌系统,并将明文SHA256和加密时间SHA256密钥进行关联,密钥空间超过10210,改进FDT-DRPE光学加密系统具有光学加密的并行性,0.142 s可同时加密4张图片,并解决了第一个衍射距离和第一块模板的不敏感。提出比特分层卷积神经网络(BHCN)重构模型,重构图像PSNR超过34 dB,重构细节效果更好,精度更高,SSIM值超过0.94;通过在训练中对输入图像添加高斯噪声,使密文在受到0.1高斯和椒盐噪声后,仍能较清晰的恢复图像,且可抵御一定的剪切攻击。

猜你喜欢
明文密文解密
解密“热胀冷缩”
一种针对格基后量子密码的能量侧信道分析框架
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
解密“一包三改”
炫词解密
奇怪的处罚
奇怪的处罚
四部委明文反对垃圾焚烧低价竞争