基于混沌的部分图像加密方案性能评估
摘要
传统图像加密方案采用全层加密,在具有高数据速率但带宽有限的情况下似乎并不理想。全层图像加密方案首先打乱图像(以破坏相邻像素间的高相关性),然后再进行加密,导致较高的计算开销。近年来,部分或选择性加密方案正变得越来越流行,尤其是在移动通信等计算能力有限、通信资源受限的场景中。本文针对一组评估标准,对一种基于混沌的部分图像加密方案的性能进行了评价。通过详尽的实验仿真分析了该加密方案的有效性。
关键词 :部分图像加密 ⋅ 可调性 ⋅ 视觉退化 ⋅ 峰值信噪比(PSNR) ⋅ 均方误差(MSE) ⋅ 结构相似性(SSIM)指数
1 引言
正如香农所指出的 [1],图像的特定属性,如高传输速率和有限带宽、高冗余和相关性,使得标准密码技术的应用显得不足。因此,许多图像加密算法被提出,主要通过混淆(置乱)来扰乱相邻像素之间的高相关性,随后实现扩散(加密)。这类方案被称为全层式或全部图像加密方案,在仅有有限资源(如高清传输、低内存、低功耗)的情况下似乎并不适用。
近年来,一种称为部分图像加密的新方法被探索,该方法选择全部图像数据的一个子集(静态或动态选择)进行加密,在安全性和计算时间之间实现权衡。在本文稿中,我们评估了一种基于混沌帐篷映射的双平面式部分加密方案的性能,该方案在[2]中提出。
本文的结构如下:第2节简要讨论了用于性能评估的部分图像加密方案。第3节基于选定的图像数据库和既定的评估标准,展示了该方案的性能。结论在第4节中给出。
2 加密方案概述
在本节中,我们将简要概述[2]中描述的算法,并在此后将其称为“该算法”。
该算法处理一幅大小为 $2^n \times 2^n, n \in \mathbb{N}$、每个像素8比特的灰度图像 $I_{\text{original}} = (a_{ij})$,其中 $a_{ij}$ 表示位于第 $(i,j)$ 个位置像素的强度。整个算法包含三个顺序任务:位平面分解、设定阈值以确定重要位平面,最后通过基于混沌的伪噪声(PN)序列发生器对重要位平面进行加密,从而生成密文图像。
2.1 位平面分解
像素值 $a_{ij}$ 被转换为8位二进制值,因此图像 $I_{\text{original}}$ 根据位位置被转换为8个二值图像,称为位平面图像。在图1中,展示了 popular ‘Lena’ 图像的8个位平面图像,其中(a)表示最低有效位平面,(h)表示最高有效位平面。
2.2 确定显著位平面的阈值分配
为了确定位平面的重要性,使用了基于自相关的阈值。该判定过程总结如下:
步骤一 :将原始图像 $I_{\text{original}}$ 分解为8个位平面。第 $k$ 个位平面图像表示为 $I_k(i,j), k = 0, 1, 2,…, 7$。
步骤二 :每个位平面被划分为四个大小为 $2^{n−1} \times 2^{n−1}$ 的相等且互不重叠的块。每个块按行优先顺序表示为 $B_m, m= 1,2,3,4$。
步骤三 :对于一个块 $B_m$,通过将其各列堆叠成单行生成一个向量 $b_{m,\text{vec}}$,使其长度为 $2^{n−1} \times 2^{n−1}$。考虑 $b_{m,\text{vec}}$ 的自相关函数(ACF)以确定位平面的重要性。设 $b_{m,\text{vec}}$ 的元素用 $z_i, i= 1,…, 2^{n−1} \times 2^{n−1}$ 表示,其均值为 $\bar{z}$。则根据 [3],滞后 $\tau$ 的 ACF 系数由下式给出:
$$
r_\tau = \frac{c_\tau}{c_0} \quad (1)
$$
其中,
$$
c_\tau = \frac{1}{N} \sum_{i=1}^{N-\tau} (z_i - \bar{z})(z_{i+\tau} - \bar{z})
$$
步骤四 :选择一个如下定义的检验统计量 $t$,以确定第 $k$ 个 ($k=0, 1, 2,…7$) 位平面是否显著。
$$
t = \max(r_\tau), \quad \tau = -(L_B -1),…,−1, 1, 2, 3,…,(L_B -1) \quad (2)
$$
$r_\tau$ 是长度为 $L_B$ 的向量 $B$ 在滞后 $\tau$ 时的自相关。在5%显著性水平下,阈值取为0.05。如果某个块的 $t \geq 0.05$,则该块是显著的,其余块需对位平面进行检验。如果 $t < 0.05$,则该块不显著,且当所有四个块都被识别后,该位平面被视为不显著。
2.3 重要位平面的加密
一种基于混沌的PN序列生成器,如[4]所提出的,用于生成长度为 $2^n \times 2^n$ 的比特序列。通过比较式(3)中给出的混沌映射输出,生成的比特序列如式(4)所示。
$$
x_{n+1} =
\begin{cases}
\mu x_n & \text{if } x_n < \frac{1}{2} \
\mu (1 - x_n) & \text{if } \frac{1}{2} \geq x_n
\end{cases}
\quad
y_{n+1} =
\begin{cases}
\mu y_n & \text{if } y_n < \frac{1}{2} \
\mu (1 - y_n) & \text{if } \frac{1}{2} \geq y_n
\end{cases}
\quad (3)
$$
$$
g(x_{n+1}, y_{n+1}) =
\begin{cases}
1 & \text{if } x_{n+1} \geq y_{n+1} \
0 & \text{if } x_{n+1} < y_{n+1}
\end{cases}
\quad (4)
$$
第 $k$ 个位平面 $I_k$ 被确定为显著的,与生成的PN序列进行逐位异或,通过将加密的位平面与未加密的位平面连接起来生成密文图像 $I_{\text{cipher}}$。
在图2中,显示了‘Lena’的加密和未加密位平面图像。
3 性能评估
一组评估标准——可调性、视觉退化、加密安全性、加密比率、压缩友好性、格式兼容性、错误容忍度,如 [5] 中所提出的,通常被用于评估部分图像加密方案的有效性。第2节中总结的加密方案将基于这些评估标准进行评估。为此,除了不同的统计测试外,该算法还针对一些常见的图像处理攻击进行了分析。
已使用由南加州大学和格拉纳达大学分别提供和维护的 USC-SIPI [6] 和 CVG [7] 图像数据库对算法进行了广泛研究,这些数据库是数字化图像的集合。用于性能评估的算法在配备 Intel Core i5 处理器和 4 GB DDR3 内存、运行 Windows 7 (32位) 操作系统的计算机上,通过 MATLAB 7.10.0.4(R2010a) 实现。
3.1 可调性
部分加密方案必须动态地选择加密的目标部分和加密参数。阈值的静态定义严重限制了该算法在有限应用集中的可用性。基于自相关的阈值确定显著位平面,然后通过基于交叉耦合混沌帐篷映射的比特生成器产生的密钥流序列对这些位平面进行加密。研究发现,为了设计用于确定显著位平面的阈值,选择5%显著性水平可以在计算时间和安全性方面提供一种权衡。在表1中显示了USC-SIPI图像数据库和CVG图像数据库中图像的显著位平面平均数量。
可以观察到,显著位平面的平均数量不少于五个,最多可达近七个。
灰度图像在显著位平面对数上的计算时间节省情况如表2所示。需要注意的是,该表中存在多个空白条目,这表明某些数据库中不存在显著位平面数较低(例如1个)或较高(即超过6个)的图像。另一个显著的观察结果是,CVG数据库中具有8个显著位平面的图像比具有6个显著位平面的图像在时间节省上更多。这是因为,对于具有8个显著位平面的图像,仅需根据第一个块的基于自相关的阈值即可确定位平面为显著,而其余三个块无需处理;而对于部分位平面显著的图像,非显著位平面则需要对全部四个块计算阈值来确定。
| 图像数据库 | 航拍 | 纹理 | 序列 | 杂项 |
|---|---|---|---|---|
| 显著位平面平均数量 | 5.00 | 5.08 | 6.67 | 6.32 |
表1 每个图像数据库的显著位平面平均数量
| 图像数据库 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 平均值 |
|---|---|---|---|---|---|---|---|---|---|
| 航拍 | – | 59.24 | 54.33 | 47.55 | 41.54 | – | – | – | 50.66 |
| 纹理 | 59.35 | 58.95 | 54.54 | 46.34 | 45.34 | – | – | 32.56 | 49.51 |
| 杂项 | – | – | 58.95 | 49.33 | 43.03 | 21.16 | 45.20 | 35.83 | 42.25 |
| CVG | 59.54 | 58.35 | 55.40 | 45.87 | 41.80 | 23.60 | 38.90 | 33.97 | 44.68 |
表2 每个图像数据库显著位平面百分比(%)时间节省数量(平均值)
3.2 视觉退化
视觉退化提供了密文图像相对于原始图像的感知失真度量。某些应用需要较高的视觉退化,而其他应用可能恰恰相反。基于静态阈值的部分加密方案无法提供这种可变程度的视觉退化。作为一种可调节的部分加密方案,所评估的算法使用峰值信噪比(PSNR)作为度量,可在10 dB至12 dB范围内提供不同程度的视觉退化;使用结构相似性指数(SSIM)作为度量时,可在 0.009至0.01范围内提供不同程度的视觉退化。结果如表3所示。
| 图像数据库 | 航拍 | 纹理 | 序列 | 杂项 |
|---|---|---|---|---|
| SSIM | 0.0108 | 0.0093 | 0.0129 | 0.0094 |
| PSNR (dB) | 12.0453 | 11.0567 | 10.1212 | 10.12312 |
表3 视觉退化:每个图像数据库的平均PSNR和SSIM
3.3 密码学安全性
部分图像加密的基本目标之一是减少计算时间,同时提供相当程度的安全性。如[5]所述,密码学安全性取决于加密密钥以及加密部分的不可预测性。为了验证该算法在安全性方面的有效性,已进行了三类测试,即基于图像统计、密钥敏感性和密钥空间以及抗攻击性能的测试。
3.3.1 基于图像统计的测试
-
相关系数分析
一种安全的部分图像加密技术必须破坏图像内相邻像素之间的高相关性,同时原始图像和密文图像之间的相关性也必须可以忽略不计。用于测量相关性的指标是式(5)中所述的皮尔逊积矩相关系数。
$$
r_{xy} = \frac{\text{cov}(x, y)}{\sigma_x \sigma_y}; \quad \sigma_x \ne 0 \text{ and } \sigma_y \ne 0 \quad (5)
$$
在表4中,列出了原始图像及其密文图像的水平和垂直方向的相邻像素之间的相关性平均值。表4还给出了数据库中原始图像和密文图像之间相关性的平均值。与原始图像相比,密文图像中的相关性数值显著降低,这一点值得注意。
| 图像数据库 | 水平相邻像素(原始) | 水平相邻像素(密码) | 垂直相邻像素(原始) | 垂直相邻像素(密码) | 原始图像和密文图像之间 |
|---|---|---|---|---|---|
| 航拍 | 0.9798 | 0.0023 | 0.9844 | 0.0022 | 0.00018 |
| 纹理 | 0.8898 | −0.0003 | 0.8946 | −0.0042 | 0.00183 |
| 序列 | 0.9498 | 0.0043 | 0.9743 | 0.0012 | −0.00115 |
| 杂项 | 0.9744 | −0.0008 | 0.9632 | −0.0004 | −0.00053 |
| CVG | 0.9655 | 0.0012 | 0.9645 | 0.0042 | 0.00027 |
表4 相关系数分析
-
同质性检验:直方图分析与 χ²检验
一个安全的密文图像必须表现出像素分布的均匀性,这意味着图像直方图接近均匀。图3展示了“Lena”及其对应密文图像的直方图,从中可以推断出原始图像的直方图显示出明显的模式,而密文图像的直方图则呈均匀分布。选定的数据库中所有图像的直方图均表现出类似的行为。
按照 [8] 中提出的方法进行卡方检验,以分析评估加密后 $M \times N$ 图像像素分布的均匀程度,该均匀性在直方图分析中已通过图表形式展示,如下所示:
$$
\chi^2 = \sum_{k=1}^{256} \frac{(v_k - \omega)^2}{256} \quad (6)
$$
其中 $k$ 为灰度级数 (256),$v_k$ 是每个灰度级的观测出现频率 (0–255),且 $\omega = \frac{M \times N}{256}$。在计算列表值时考虑了显著性水平。若 $\chi^2$ 计算值 < ($\chi^2_{256, 0.05} = 293$),则接受零假设(H₀):加密图像的直方图分布是均匀的,拒绝备择假设,即加密图像的直方图分布是非均匀的。在表5中,平均值显示的值证明零假设被接受,意味着密文图像中像素的均匀性。
| 图像名称 | χ² 计算值 | χ² 查表值 |
|---|---|---|
| 航拍 | 244.2565 | 293 |
| 纹理 | 231.6457 | 293 |
| 序列 | 253.4343 | 293 |
| 杂项 | 256.2378 | 293 |
| CVG | 255.5544 | 293 |
表5 图像的卡方值
| 图像数据库 | 原始图像 均值 | 密码图像 均值 | 原始图像 中位数 | 密码图像 中位数 | 原始图像 标准差 | 密码图像 标准差 |
|---|---|---|---|---|---|---|
| 航拍 | 127.0 | 128.1 | 129.0 | 128.3 | 49.2 | 75.0 |
| 纹理 | 140.0 | 128.5 | 137.6 | 127.8 | 59.6 | 74.3 |
| 序列 | 112.0 | 127.9 | 114.0 | 128.4 | 52.4 | 74.8 |
| 杂项 | 108.2 | 128.6 | 111.0 | 128.9 | 47.7 | 75.7 |
| CVG | 167.2 | 127.9 | 173.0 | 127.5 | 59.2 | 76.1 |
表6 同质性度量:原始图像和密文图像的均值、中位数和标准差
-
集中趋势与离散度量
对于一个安全的密码系统,密文符号的同质性是高度期望的。作为同质性的度量,采用均值和中位数来衡量集中趋势,标准差来衡量离散度。同质性检验的结果如表6所示。可以推断,密文图像在图像数据库上的度量平均值是均匀的,即无论原始图像的值是否非均匀,密文图像在均值、中位数和标准差上都具有均匀性。 -
信息熵测试
一个源信号 $s$ 的熵 $H(s)$,其中 $P(S_i)$ 表示符号 $S_i$ 的概率,定义为
$$
H(s) = \sum_{i=0}^{2^N - 1} p(S_i) \cdot \log_2 \frac{1}{p(S_i)} \quad (7)
$$
假设信号 $s$ 以相等的概率发出 $2^8$ 符号,则熵 $H(S) = 8$ 对应于一个真正随机源 $s$。密文图像的熵理想情况下应为8。熵越小,安全威胁的可能性越大。在表7中列出了原始图像及其密文图像的熵值的平均值。与原始图像相比,所有密文图像的熵值均接近理论期望值8。
| 图像名称 | 原始图像 熵 | 密文图像 熵 |
|---|---|---|
| 航拍 | 6.7326 | 7.9925 |
| 纹理 | 6.6728 | 7.9900 |
| 序列 | 6.8401 | 7.8312 |
| 杂项 | 5.9189 | 7.9948 |
| CVG | 6.2343 | 7.9896 |
表7 加密熵的测量
3.3.2 密钥敏感性分析
一个好的加密方案应对加密密钥的微小变化具有敏感性。由于混沌映射具有对初始条件敏感等内在特性,它们正成为设计部分图像加密方案的流行选择。为了测试该算法的密钥敏感性,对密钥三元组 $(x_0, y_0, \mu)$ 施加一个微小变化 $\Delta = 10^{-15}$。
图4a 显示了‘Lena’的原始图像,其中图4b 表示使用密钥 $(x_0 = 0.101562, y_0 = 0.101570, \mu = 1.97)$ 加密后的密文图像。图4c–e 表示在每次仅对一个密钥进行微小改变而其余密钥保持不变的情况下生成的密文图像。由此产生的密文图像与使用实际密钥生成的密文图像之间的平均相关性为0.0002。
3.3.3 抗攻击性能:差分攻击
如前所述,图像的一个理想特性是敏感性,即应对密钥具有足够的敏感性。通过改变原始图像中的一个像素来验证此特性。由此生成的密文图像必须存在显著差异。如果原始图像中的微小变化导致密文图像发生显著变化,则差分攻击将变得无效。通常采用两种度量方法来测试一个像素变化对整个图像的影响——像素变化率(NPCR)和平均强度变化统一值(UACI)。
两个仅有一个像素差异、大小为 $M \times N$ 的密文图像 $C_1$ 和 $C_2$ 的 NPCR 定义为
$$
\text{NPCR} = \frac{\sum_{i,j} D(i,j)}{M \times N}, \quad D(i,j) =
\begin{cases}
0 & \text{if } C_1(i,j) = C_2(i,j) \
1 & \text{if } C_1(i,j) \ne C_2(i,j)
\end{cases} \quad (8)
$$
而 UACI 这一度量定义为
$$
\text{UACI} = \frac{1}{M \times N} \sum_{i,j} \frac{|C_1(i,j) - C_2(i,j)|}{255} \times 100\% \quad (9)
$$
对于一个高效的图像加密方案,以百分比表示的 NPCR 值必须接近100,UACI 值必须接近33% [9, 10]。在所有数据库图像上的 NPCR 平均值为 98.56%,UACI 平均值为31%。与全层加密方案相比,部分图像加密方案的结果更接近理想值。
3.4 加密比率
加密部分与全部数据之间的比率称为加密比率。部分图像加密方案的目标是最小化加密比率,从而减少加密时间,使其成为发射端具有有限资源的高速实时安全通信的可行解决方案。根据[11],图像可以分为三类——仅一个位平面包含全部信息,部分位平面包含图像信息而其他位平面不包含,以及所有位平面都包含图像信息。此处讨论的部分图像加密方案仅限于前两类。因此,加密比率始终是一个真分数($0 <$ 加密比率 $< 1$),相应地,被加密的数据量始终小于100%。加密比率越高,加密时间越长。在表8中列出了在所有图像数据库中执行的加密百分比的平均值。可以看出,平均有62–79%的图像数据被加密,从而节省了45%到50%的平均时间,如表2所示。
| 图像数据库 | 航拍 | 纹理 | 序列 | 杂项 | CVG |
|---|---|---|---|---|---|
| 百分比加密 | 62.5 | 63.5 | 83.38 | 79.0 | 67.5 |
表8 加密比率:在图像数据库中执行的加密百分比的平均值
的解密图像,c质量因子20的经JPEG压缩的密文图像,d(c)的解密图像)
3.5 压缩友好性
如果部分图像加密方案对数据压缩没有影响或影响可忽略,则认为该方案具有压缩友好性。在图5中,(a)和(c)分别显示了质量因子为90和20时压缩后的‘Lena’密文图像,(b)和(d)分别为其对应的解密图像。解密图像与对应明文图像之间的PSNR和SSIM值(平均)分别为:QF 90时是32.7865和0.8756,QF 20时是29.0834和0.8452。可以推断,即使在低至QF 20的情况下,经过JPEG压缩的密文图像解密后仍可识别。
3.6 格式兼容性
加密图像必须符合压缩器的要求,即任何标准解码器都应能够在不解密的情况下解码加密数据。该特性未被满足。
3.7 错误容忍度
部分图像加密方案必须具有足够的鲁棒性,以抵御噪声攻击。密文图像通过公共信道传输,因此容易受到噪声攻击。为了评估该算法的鲁棒性,已验证其对抗两种常见噪声攻击(即椒盐噪声和高斯噪声)的性能。在图6中,展示了‘Lena’的加密图像在密度为0.005和0.05的椒盐噪声攻击下的结果(分别如(a)和(c)所示),以及相应的解密图像(分别如(b)和(d)所示)。
、(b)的解密图像d)
的解密图像,d(c)的解密图像)
在图7中,展示了‘Lena’的加密图像在均值为0、方差分别为0.005和0.5的加性高斯白噪声(AWGN)攻击下的结果(分别如(a)和(c)所示),以及相应的解密图像(分别如(b)和(d)所示)。显然,随着噪声水平的增加,正确解密受噪声攻击的密文图像变得越来越困难。
4 结论
对一种简单而高效的基于混沌的部分图像加密方案的性能进行了评估。图像可以被视为相关数据和不相关数据的组合,其中大部分信息存在于相关部分而非不相关部分。因此,为了加快整体过程并节省计算时间,仅加密相关位平面而非整个图像就已足够。通过基于每个位平面的不相交块的自相关性设定的阈值,来确定图像的重要位平面。由于图像中的大部分信息位于相关部分,因此只需加密该相关部分,而不对不显著部分进行加密。重要位平面使用由混沌映射生成的PN序列进行加密。已经注意到5%水平的选择基于显著性阈值使该方案具有可调节性,能够提供不同程度的视觉退化,这是一个理想特性。该方案在时间上节省约45%,同时提供高安全性。

被折叠的 条评论
为什么被折叠?



