-
随着互联网与多媒体技术的快速发展,信息的安全性问题日益凸显。数字图像作为信息传输的主要载体之一,如何有效地保护图像的信息不被窃取是当今的一个热门研究课题。保护图像信息安全的方法主要分为两类:图像加密[1-5]和图像水印[6-9]。图像加密的原理是针对图像的像素点的位置和像素值按照特定的方式做出改变,从而在变换之后的图像上无法获取原图像的数据信息;图像水印是通过把图像嵌入载体图像以此来达到隐藏图像信息的效果。如今的图像加密技术已经发展得比较成熟,其中主流的加密方法有: DNA编码加密[10-12]、混沌系统加密[13-15]、魔方置乱加密[16-18]、 Arnold置乱变换[19-22]等。
Arnold置乱变换是在研究遍历理论时提出的一种变换方法。由于Arnold置乱变换最初的实验对象是猫的图片,所以Arnold置乱变换也叫作“猫脸变换”。Arnold置乱变换是一种在有限区域内进行反复折叠和拉伸变换的置乱方法,凭借其置乱直观、具有周期性等多种优点,经常与混沌系统相结合被用于图像加密。文献[23]在Arnold置乱变换和混沌系统的基础上,设计了一种以彩色图像为载体的抵抗几何攻击的数字水印方案。该算法可以有效地解决图像质量和鲁棒性之间的冲突问题。文献[24]提出了一种基于Arnold置乱变换和Hardmard单像素的彩色图像加密算法。该加密算法只需要一个桶形探测器就可以对彩色图像实现成像质量好、安全性能高的加密效果。
近年来,量子计算与量子通信飞速发展,为许多经典算法难以有效解决的难题提供了新的思路以及发展方向。量子随机行走是经典随机行走与量子计算相结合而生成的。量子随机行走已与多种经典算法相结合,存在于许多加密以及搜索算法中[25-28]。量子随机行走相比于经典随机行走主要有两方面的优势:1)量子随机行走具有量子计算的并行性特点,因此它有着更快的运行速度;2)量子随机行走有着更大的密钥空间,如果把量子随机行走应用于加密算法中,能使加密算法中的随机序列有更强的随机性,加密图像从而可以更好地抵御暴力攻击。文献[29]设计了一种基于量子漫步和离散余弦变换的彩色图像加密方案,利用量子漫步的控制参数替代随机掩膜来作为加密过程中的密钥,有利于密钥的管理与传输。文献[30]将量子漫步与双随机相位编码技术相结合,提出了一种新型图像加密技术,量子漫步被用来在双随机相位编码的过程中生成随机掩码。
Latin方阵是一种特殊的方阵,它的每一行或每一列中的元素各不相同,但是每一行以及每一列中的元素种类是相同的。Latin方阵具有直方图均匀、密钥空间大等诸多优点,在图像加密方面有很大优势[31-33]。文献[34]将Latin方阵与混沌系统相结合研究出了一种图像加密方案,该加密算法利用Latin方阵与混沌系统的同质性使得方案本身具有更好的混淆和扩散效果。文献[35]设计了一种新型的图像加密方案:首先利用混沌系统生成随机序列,再利用两个随机序列生成Latin方阵,然后用Latin方阵以及随机矩阵完成像素值替代,从而完成图像加密。
本文将Arnold变换与Latin方阵、量子漫步相结合,设计了一种新型的图像加密方式。其中Arnold变换和Latin方阵用来对图像进行处理,然后对置乱之后的图像使用加取模扩散方法进行像素值的变换。解密过程为加密过程的逆过程。
HTML
-
为验证加密算法的可靠性与安全性,本文主要对Plane、Boat、Milk和Lena 4幅大小为
$ 512 \times 512 $ 的彩色图像进行仿真实验以及结果分析。本文量子漫步选用参数(400, 801,${\text{π}}/3 $ ,$ {\text{π}}/2 $ )。下面对图像的直方图、信息熵、相关性、抗攻击性、密钥空间及密钥敏感性多性能进行分析。 -
为证明该加密算法的可行性,本文对4幅彩色图像进行了仿真实验,实验结果如图5所示。由图5可见,在加密后的图像上无法获得任何原图像的视觉信息,而解密后的效果与原图视觉感上是一致的。
-
直方图由一系列垂直的条纹组成,用以表示数据的分布情况:横轴为像素值,代表0~255的色阶;纵轴表示图像中此像素值的像素点个数。本文对图像的原图及其加密图像的R,G,B三通道分别进行了直方图测试,测试结果如图6~图8所示。
原图像的直方图像素分布不均,高低错落易于进行统计学分析,而加密后的图像像素分布均匀,无法据此进行统计学分析,具有良好的加密效果,能有效抵御统计学分析攻击。
-
信息熵在描述图片像素点混乱程度上扮演着重要的角色。信息熵可以由以下公式计算得出:
式中,
$ {p_i} $ 代表每个像素值出现的概率;N表示整幅图像像素点的数量总和。加密过程中像素值为[0,255],加密图像信息熵值越接近8.0,说明图像的加密效果越好。本文测试了4幅加密图像的熵值,信息熵值如表1所示,并将加密的Lena图像与文献[36]及文献[37]中的实验Lena图像作了熵值对比。由本方案得到加密图像的信息熵值约在7.9992左右,接近于理想值8。因此,本文提出的加密算法具有良好的加密效果。 -
一副完整的图像中相邻像素之间具有很强的相关性,而加密效果好的算法往往能消除像素间的相关性。相邻像素的相关性主要体现在水平、垂直和对角方向上,且一般的彩色图像像素之间的相关性基本近似线性关系且相关系数趋近于1。对每一幅图像随机选择3000对像素值分别计算各方向的相关系数,计算相关系数的公式为:
式中,
$ {{\rm{cov}}} (x,y) $ 表示相邻像素点$ x $ 和$ y $ 之间的协方差;$ D(x) $ 和$ D(y) $ 分别表示像素点$ x $ 和$ y $ 的方差。本方案对Plane、Boat、Milk 3幅彩色图像的加密图像进行了相关性分析,测试结果如表2所示(视觉化效果如图9~图11所示)。从相关性数值来看,各个方向的相关性均趋近于0,从图中看到加密前的图像相关性很强、呈线性关系,而加密后的图像像素之间的关系基本上不存在,像素无序分布,表明算法具有良好的加密效果。通过与其他方法比较,说明该加密算法有较好的加密效果。图像 方向 加密图像 R通道 G通道 B通道 Plane 水平 −0.0128 0.0268 −0.0087 垂直 −0.0035 0.0094 0.0167 对角 0.0062 −0.0013 −0.0135 Boat 水平 0.0049 0.0033 0.0023 垂直 0.0010 0.0099 −0.0172 对角 −0.0268 0.0067 −0.0021 Milk 水平 0.0013 0.0130 0.0270 垂直 −0.0162 −0.0095 0.0071 对角 0.0035 0.0037 −0.0042 -
在加密图像的数据传输过程中,可能会或多或少地掺入噪声,从而影响图像的解密。所以对于加密图像来说,抵抗噪声的能力是评价加密算法的一个重要指标。高斯噪声和椒盐噪声是最为常见的两类噪声,对加密图像Plane分别加入强度为5%的椒盐噪声和均值为0、方差为0.0005的高斯噪声,图12和图13分别为加密图像Plane加入椒盐噪声和高斯噪声之后的图像以及其对应的解密后的图像。实验结果表明,该加密算法有着良好的抵抗噪声的能力。
-
加密图像在网络传输中,可能会出现某一块区域的像素点丢失。因此,加密算法必须具有在加密图像缺损情况下解密的能力。如果在加密图像缺损情况下,原始信息在解密之后得以保留,说明该算法可以有效抵抗外界的裁剪攻击。对加密图像Plane移除一块
$ 80 \times 80 $ 像素的红色通道、一块$ 50 \times 80 $ 像素的绿色通道和一块$ 60 \times 50 $ 像素的全通道,然后对其进行密,裁剪加密图像及其对应的解密之后的图像如图14所示。实验结果表明,在加密图像的某一块区域的像素值缺失时,经过解密可以恢复原始图像信息,说明该加密算法具有良好的抵抗裁剪攻击的能力。 -
一个优良的加密算法往往具有一个足够大的密钥空间。密钥空间越大,该算法抵抗外界暴力攻击的能力越强。在本加密算法中使用了交替量子漫步,交替量子漫步提供了无限的密钥空间。密钥空间在理论上达到2100时,加密图像就可以有效地抵抗暴力攻击。如果计算精度为
$ {10^{ - 15}} $ ,那么该算法的密钥空间为$ {10^{60}} $ ,这对保护加密图像的安全性已经足够了,因此该算法可以有效抵抗外部的暴力攻击。 -
差分攻击是破解加密图像的另一种常用手段。差分攻击是外界对原待加密图像的数据信息做微小的变动,然后利用加密算法对改变后的数字图像和原待加密图像分别进行加密,然后把两幅加密后的密文图像进行对比,找出原图像数据与加密图像数据之间的内在联系,利用二者之间的联系来进行破解加密图像。为了应对差分攻击,加密算法应该对密钥足够敏感。即当密钥发生一点变化,产生的加密结果应该是与原加密结果完全不同的。像素改变率(NPCR)和统一平均变化强度(UACI)是检验加密算法的密钥敏感性的两个重要指标,分别定义为:
式中,
$ {P_1} $ 和$ {P_2} $ 分别代表密钥改变前后生成的两幅加密图像。如果$ {P_1}(i,j) = {P_2}(i,j) $ ,$ {Q_1}(i,j) = 0 $ ,反之$ Q(i,j) = 1 $ ,稍微改变随机行走的一个参数,产生其对应的加密图像,然后计算两幅加密图像的NPCR和UACI,结果如表3所示。并将Lena图像的测试结果与文献[38]及文献[39]中的测试结果进行对比。测试结果表明,该加密算法具有良好的密钥敏感性。图像 NPCR UACI R G B 平均 R G B 平均 Plane 99.5956 99.6239 99.6170 99.6122 33.4952 33.4569 33.4764 33.4762 Boat 99.6010 99.6044 99.6124 99.6059 33.3959 33.5330 33.4504 33.4598 Milk 99.6239 99.6349 99.6029 99.6206 33.4419 33.3994 33.4167 33.4193 Lena 99.6017 99.6113 99.6334 99.6161 33.3692 33.5283 33.5256 33.4744 文献[38]中的实验Lena图像 99.58 33.38 文献[39]中的实验Lena图像 99.6299 31.8346