APP下载

云存储环境中基于矢量量化的图像伪装加密方法*

2022-06-23郑思飞冯子婧刘成语陈日清柳晓龙

计算机工程与科学 2022年6期
关键词:视觉效果矢量加密

郑思飞,冯子婧,刘成语,陈日清,柳晓龙

(福建农林大学计算机与信息学院,福建 福州 350002)

1 引言

在信息技术日益发展的当今时代,云存储将数据存储服务带入了一个新时代,为大众提供了便捷的网络访问和数据共享方式。近年来,随着云存储技术的飞速发展,存储在第三方数据库中的云端图像文件与日俱增,然而随之而来的是日益增多的泄密事件[1]。在此背景下,用户对将含有个人隐私或敏感数据的内容直接暴露在开放的信道或不可靠的数据库中颇具顾虑。因此,基于保证隐私性等目的,图像所有者有必要在图像传输至云端服务器之前先进行加密,避免未经授权的访问。

目前,学者们已经提出了许多基于频域或空间域的图像加密方法,以保护云端图像[2 - 4]。频域图像加密方法[5]通常被设计为在频域中使用安全密钥系数更改图像数据或更改变换函数,例如离散分数阶傅里叶变换、量子傅里叶变换和倒数正交参数变换等,以达到加密图像的目的。空间域图像加密方法[6]基于著名的替代置换网络,利用替换过程更改图像像素值,并利用置换过程更改图像像素位置。这些置换过程和替换过程是空间域图像加密方法的核心,包括P-Fibonacci变换、随机网格和混沌系统等技术。空间域和频域图像加密方法都能够以较高的安全性保护图像,然而它们输出的加密图像在视觉上都类似纹理或噪声。从安全的角度来看,这种类似纹理或噪声的特征是明显的视觉信号,表明存在可能包含重要信息的加密图像。因此,这些图像无疑会引起攻击者的关注,从而导致大量不同类型的密码分析、非法编辑甚至删除图像内容等恶意攻击与分析[7]。

针对上述问题,Lee等人[8]曾试图利用色彩转换技术将原始图像转换成一幅同样大小的可见秘密碎片马赛克图像,以达到图像伪装的目的。然而这种方法在解密时会造成图像失真,并不能完整地还原出原始图像。Bao等人[9]和Zheng等人[10]分别提出了基于离散小波变换DWT(Discret Wavelet Transform)与最低有效位修改的图像伪装加密算法,虽然能够完整地还原原始图像,但是伪装加密后的图像尺寸急剧增大,严重影响了存储效率。为使伪装图像与原始图像的大小保持一致,学者们相继提出了基于图像块分类的伪装加密方法[11-13],其基本思想是根据图像块的标准差分别对原始图像和目标图像进行固定分位数分类,进而实现不同图像的自适应分类与块之间的匹配。然而,以上基于块分类的转换方式没有考虑子块间的边缘失真问题,伪装加密后的图像有较大失真,视觉质量与安全性有待提高。

因此,为进一步提高云端图像存储效率与伪装图像的视觉质量,本文提出了一种新型的基于矢量量化VQ(Vector Quantization)[14]的图像伪装加密方法。在对原始图像进行伪装加密之前,通过矢量量化将原始图像转化为VQ索引表,接着利用离散小波变换(DWT),以“明文-明文”的伪装加密方式在掩盖原始图像内容的同时隐蔽加密行为本身。本文方法不仅可以像传统加密方法一样以正常方式保护图像,而且还提供了额外的视觉伪装保护。实验结果表明,通过本文方法伪装加密后的图像具有良好的视觉效果与伪装性能。

2 伪装加密方法

2.1 图像伪装加密阶段

图像伪装加密阶段提供一种“明文—明文”的新型图像加密方式,可以从根本上掩盖秘密图像信息与加密行为本身。此阶段拟引入一幅与原始图像完全不同的参照图像,通过对图像载体先后执行矢量量化、预加密与伪装转换完成“原始图像—参照图像”的转换。图像伪装加密基本过程如图1所示。

Figure 1 Image camouflage encryption process图1 图像伪装加密过程图

2.1.1 矢量量化

矢量量化(VQ)是一种图像编码技术,具有框架简单和解码高效的特性,广泛应用于图像处理。在矢量量化过程中,首先将原始图像分割为多个块,每个块由4*4个像素组成。假设原始图像大小为4m*4n,则将该图像分割为m*n个4*4大小的像素块。当图像尺寸不能平均分割时,需将原始图像的最后一行与最后一列扩展,使其长宽补齐至4的倍数。量化过程中所使用的码书是通过大量训练生成的数据集,包含许多称为代码字(cw)的代表性图像块。通常码书的行数为256,列数为16,如图2所示。码书通过矢量量化算法LBG(Linde Buzo Gray)生成,首先从网络数据库中选择大量不同种类的图像用于训练,随后将这些图像分割为大小相同的块,组成训练集,块大小与上述矢量量化过程中的块大小相同,即4*4。然后随机选取256个块作为初始码字,即可得到初始码书。分别以选出的256个初始码字为重心,将训练集中的其他块分配到最近的重心(以欧几里得距离进行判断)。所有训练集将产生256个由4*4的块组成的群落。针对每个群落计算出新的重心,比较新重心与旧重心之间的欧几里得距离,如果比较结果都小于阈值,说明群落的重心变化不大,已经产生收敛。每个群的重心向量即为码书。否则回到分配重心的步骤进行循环。本文矢量量化过程中所有的图像均使用同一码书。

在矢量量化过程中,计算每个原始图像块相对应的16个像素值与码书中每一行的16个值的欧几里得距离,得到的欧几里得距离最小的那一行,即表示该行与原始图像块最为相似,可以用该行的值代替原始图像中的像素值,并将该行对应的行号存入VQ索引表中。对原始图像中的每一个块分别执行上述相同的操作,将所有块对应的值存入VQ索引表中,即得到VQ索引表,具体实例如图2所示。

Figure 2 Examples of vector quantization图2 矢量量化实例

2.1.2 伪装加密

无线传感器网络初始部署以及改进的单目标粒子群算法覆盖优化和考虑安全连通度以及网络覆盖率多目标粒子群算法覆盖优化以及改进的多目标粒子群算法覆盖优化的网络覆盖率的仿真结果如图2,圆表示节点的通信半径。

经过矢量量化后的VQ索引表将作为伪装加密过程的输入图像,其大小为m*n。为了进一步保护原始图像的内容以提升安全性,在将VQ索引表进行伪装加密之前需要对其进行预加密处理。预加密通过排列和替换来改变VQ索引表中像素的位置和值的大小,其定义如式(1)所示:

P=T(O,K)

(1)

其中,P是经过预加密处理之后得到的预加密图像,O是VQ索引表,K是进行预加密处理时所需要的密钥,T(·)是预加密处理的变换函数。预加密处理所使用的预加密算法可以使用传统加密算法。

在完成预加密过程之后,对预加密图像进行伪装变换,以将其转换为伪装图像,其定义如式(2)所示:

E=F(P,R)

(2)

其中,E表示最终的伪装图像,P表示经过预加密处理的预加密图像,R表示参考图像。选取的参考图像R的长和宽需分别是预加密图像P的长和宽的4倍,与矢量量化前的原始图像大小相同,即4m*4n。在伪装转换过程中,首先将参考图像R进行离散小波变换(DWT),得到4个子带,分别为:水平和垂直方向上的低频分量(CA)、水平方向上的低频和垂直方向上的高频分量(CH)、水平方向上的高频和垂直方向上的低频分量(CV)、水平和垂直方向上的高频分量(CD)。随后将预加密图像经过二进制转换后嵌入到经过变换的参考图像的CV和CD子带中。最后将经过变换的参考图像进行DWT逆变换,得到最终的伪装图像。

伪装变换过程以图3为例,假设参考图像的大小为8*8,经过矢量量化与预加密后的预加密图像大小为2*2,图中的每一个数字代表当前像素点的像素值。首先将参考图像进行DWT变换得到4个子带,由DWT的特性可知,分解得到的CA和CH分量包含了原始图像的主要能量,而其他2个中频分量CV与CD表达的是图像的细节部分,代表的图像信息相对较少,因此将预加密图像P转换为二进制数值并嵌入CV和CD子带中并不会影响伪装图像的视觉效果。为了降低嵌入原始图像后参考图像的失真率,CV和CD子带中的每1个像素值只嵌入原始图像像素值中的1位。以第1个像素59为例,其二进制数为00111011,将其直接替换CV子带的相应位置的值即可完成嵌入操作。对图像P中的所有像素值执行完相同操作后,再将该经过处理的参考图像进行DWT逆变换,即可得到最终的伪装图像。

从图3中的例子可以看出,由于参考图像经过DWT变化后的CV和CD中的像素值普遍较小,故将其用数字0或1代替后对整体图像的影响也较小。因此,最终得到的伪装图像像素值与参考图像像素值差异不大,且一定程度上保留了像素之间的相关性,保证了最终伪装图像的视觉效果。将这样一幅具有视觉意义的伪装图像放置到具有大量图像的云环境中,他人很难将其与普通图像区分开来,从而躲避了被攻击的风险,提升了云环境中图像存储的安全性。

Figure 3 Example of camouflage transformation图3 伪装变换实例

2.2 图像还原阶段

具有解密密钥的授权用户能够从云环境中下载伪装图像,并恢复出原始图像。具体过程如图4所示。

Figure 4 Image restoration process图4 图像还原过程

图像还原阶段是伪装加密阶段的逆过程。首先将伪装图像进行DWT变换,得到CA、CH、CV和CD子带。随后提取出CV和CD子带中的像素值,按照嵌入阶段相反的过程进行重组即可得到预加密图像,如图5所示。从提取结果可知,伪装转换没有在转换过程中损失预加密图像的任何信息,在保证安全性的基础上也保证了信息的完整性。最后使用与预加密算法对应的解密算法并使用解密密钥K进行解密,即可得到经过矢量量化的VQ索引表。

Figure 5 Example of pre encrypted image extraction图5 预加密图像提取实例

对于VQ索引表中的每一个值,找到码书中该码字编号(cw)所对应的16个像素值,即可将其恢复为原始图像中所对应的块,如图6所示。完成VQ索引表的所有块恢复之后即可得到最终的恢复图像。

Figure 6 Example of image restoration图6 图像恢复实例

3 实验与结果分析

PSNR=10×lg((255)2)/

(3)

其中,x(i,j)与x′(i,j)分别表示2幅图像在位置(x,y)上的像素值。值得注意的是,30 dB为一幅重构图像的评价阈值,当PSNR大于该阈值时,2幅图像之间的差异性很难被人眼识别。

Figure 7 Test images图7 测试图像

本文实验预加密过程使用分块异或置乱加密算法,具体过程如下:首先将原始图像分割为大小相同的块,块的数量为N。随后随机生成由N个0~255的随机数组成的随机序列作为加密秘钥K1。每个块中的每个像素值与随机序列中对应的随机数进行异或运算,即可得到异或加密后的图像。然后生成1~N的正整数的自然数列作为加密秘钥K2,并按其顺序对异或加密后的图像进行置乱,得到经过分块异或置乱加密的图像,即预加密图像。

使用不同的原始图像与不同的参考图像得到的PSNR值如表1所示。可以看出,PSNR值主要受到参考图像的影响,不同的参考图像对PSNR的影响较大,而不同的原始图像对PSNR值影响较小,几乎可以忽略不计。此外,实验中所有PSNR值均大于30 dB,所以从视觉上很难将参考图像与伪装图像区别开来。

Table 1 PSNR results of the proposed method after camouflage encryption

本文方法经解密后可无损地恢复出经矢量量化的VQ索引表,通过解码VQ索引表可近似地恢复出原始图像。表2展示了恢复图像与原始图像的PSNR结果,所有图像的PSNR值在恢复后均超过 30 dB,2幅图像之间的差异性很难被人眼识别,而且具有很高的压缩视觉质量。

Table 2 PSNR results of the proposed method after decryption

为了更好地展示出本文方法所具有的伪装性能,将本文方法与Bao等人[9]和Zheng等人[10]提出的方法进行对比。由于本文方法使用的原始图像与参考图像大小均为512*512,而Bao等人和Zheng等人提出的方法只能将具有参考图像1/4大小的原始图像嵌入到参考图像中,即只可将256*256大小的原始图像伪装成512*512的参考图像,因此,Bao等人和Zheng等人提出的方法伪装加密后的图像尺寸将急剧增大,严重影响了云端图像的存储效率。

从伪装后的图像视觉效果的角度出发,以原始图像A嵌入到参考图像F为例,图8显示了本文方法与Bao等人所提方法伪装加密后图像视觉效果的对比结果。从图8中可以看出,本文方法的伪装加密图像和普通图像并无太大差异。而Bao等人所提方法的伪装加密图像虽然在外观上与参考图像之间具有一定的相似度,但其图像上显现的条状曲线颇为明显,容易使人将其与普通图像区分开来。因此,相比于Bao等人所提方法,本文方法伪装加密后的图像视觉效果更优,具有更好的伪装性。

Figure 8 Visual effect comparison of camouflage encrypted image图8 伪装加密图像视觉效果对比

为进一步对比不同方法伪装加密后的图像视觉效果,表3展示了本文方法与Bao等人[9]和Ping等人[12]所提方法的PSNR值对比结果。

Table 3 Comparison of PSNR values after camouflage encryption

从表3中可以看出,在相同的原始图像与参考图像条件下,本文方法的PSNR值均高于Bao等人与Ping等人所提方法的。3种方法在面对较为平滑的参考图像时PSNR值都比较高,都表现出较为良好的特性。因此,总体来看,本文提出的方法在各种条件下都表现出了更好的性能,能够为图像伪装加密提供更高的安全保障。

4 结束语

本文提出了一种新型的图像伪装加密方法,利用矢量量化与离散小波变换的特性,以“明文-明文”的伪装加密方式从根本上掩盖了原始图像在云存储环境中的内容与加密行为。本文方法不仅可以像传统加密方法一样以正常方式保护图像,而且还提供了额外的视觉伪装保护。实验结果表明,本文方法在伪装加密过程中可以很好地保留原始图像的图像信息。此外,最终产生的伪装图像在视觉效果与PSNR值上都表现出了良好的性能。与相关研究相比,本文方法不仅能够有效提高云端图像的存储效率,而且还具有更好的视觉效果与伪装性。目前,本文方法的伪装图像在不同类型噪声、扭曲、旋转和裁剪等攻击下,不能恢复出原始图像。未来我们将进一步研究具有鲁棒性的伪装加密方法,为图像伪装加密提供更高的安全保障。

猜你喜欢

视觉效果矢量加密
一种新型离散忆阻混沌系统及其图像加密应用
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
一种基于熵的混沌加密小波变换水印算法
加密与解密
商业插图中民族文化符号的视觉效果探究
昆腾高性能存储助力动画与视觉效果工作流
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
论《云南日报》改版改革后的版面设计及其视觉效果