基于循环群的图像加密方法

图像加密使用序列生成由循环群

Shyamalendu Kandar a, ∗, Dhaibat Chaudhuri b, Apurbaa Bhattacharjee b,Bibhas Chandra Dhara b
a部门信息技术印度工程科学与技术学院,豪拉-711103,印度 b部门信息技术 J adavpur 大学, 盐 湖 校区, 加尔各答 70 0 098, 印度

摘要

基于置换的图像加密由于其高安全性、在合理的计算开销下具有较低的时间复杂度,正逐渐比高级加密标准、数据加密标准、RSA加密算法等通用加密方案更受欢迎。基于置换的技术主要利用混沌函数来定义序列,并根据该序列对图像的像素或比特进行置换。同时,研究人员也在探索使用非混沌技术来定义置换。本文提出了一种新颖的非混沌图像加密技术。所提方法以循环群的性质为基础,利用这些性质定义了一些序列/置换。这些置换用于像素的行/列级置换和比特级置换。通过对比特置换后的图像进行迭代像素加法操作,并结合位移以及“变换数组”来变换其像素值。实验结果表明,所提方案能够有效抵御统计和差分攻击,为数字图像加密提供了一种安全且高效的途径。
© 2018 Elsevier Ltd. 版权所有。

1. 引言

由于多媒体技术的进步和互联网的广泛发展,数字多媒体数据的普及变得越来越流行。许多应用,如机密军事图像、医学图像、付费电视、保密视频会议甚至个人照片的传输,都需要一个可靠且 robust 的安全系统。各种多媒体技术的可用性使得多媒体数据容易受到非法复制和分发的威胁。为应对保护图像的挑战,常见的解决方案是使用一些标准的数据加密算法,如高级加密标准、数据加密标准、国际数据加密算法、RSA加密算法等。但由于复杂的数学计算以及在大量多媒体数据上产生的巨大计算开销,这些标准数据加密算法在图像加密方面效率较低 [8]。

不同的非传统方法在图像加密中因其在速度、安全性和计算空间方面的良好结合而逐渐得到应用。这些方法能够轻松处理数字图像的特征,如尺寸、数据冗余性以及相邻像素间的强相关性等。改变像素的空间方向可以打破相邻像素之间的相关性,从而实现加密效果。图像信息[25]. 图像加密使用置换 主要采用这种机制。

早期,图像加密技术 [3,5] 包括数据压缩和加密。在某些技术中,通过四叉树实现数据压缩,并使用由私钥 [5,28] 生成的各种扫描序列来实现加密。Zou 等人 [63] 提出了一种基于斐波那契数的图像置乱方法,其中利用斐波那契变换生成均匀周期序列,以实现像素的空间置乱。雷弗里耶和哈维迪 [39] 提出了双随机相位编码技术,并应用了傅里叶变换。在输入平面和傅里叶平面上均应用随机相位编码以获得编码图像。在 [31], 中,作者提出了一种结合幅度置乱操作与双随机相位编码的图像加密技术。在 [32], 中,通过旋转操作对像素位置进行置乱,并通过分数阶傅里叶变换改变其值。在 [21,42,59] 中提出了多种采用分数阶傅里叶变换的图像加密方法。

在基于筛法的方法中,一个筛子被定义为一个密钥图像,并且一组像素 [19] 或比特 [20,22] 被划分为两个组,最终它们被合并或交叉合并以获得置乱图像。

在 1989 年,Robert Matthews 指出混沌系统可能适用于密码学用途 [34]。其特性如对初始条件的敏感性、周期性以及伪随机性,混沌理论使其成为传统密码算法的一种有前景的替代方案,特别是在图像加密方面。在基于混沌的图像加密方法中,首先利用某些混沌函数生成一个序列,然后借助该序列定义一种置换。该置换在像素/比特级上应用,以置乱/加密图像。已有大量研究涉及多种著名的混沌映射,如 Baker 映射 [13], Logistic 映射 [54], 混沌帐篷映射 [26], 延迟耦合映射 [18], 二维 Logistic‐Sine 耦合映射 [17], Arnold 猫映射 [55], Lorenz 混沌系统 [49] 等,开展了图像加密技术的研究。

在基于置换的图像加密系统中,主要有两个阶段:混淆和扩散。在混淆阶段,像素的位置被置乱;而在扩散阶段,像素的值被修改。朱等人 [62] 在其图像密码系统中分别使用了 Arnold 猫映射和 Logistic 映射进行混淆和扩散阶段。对于比特置换,原始图像被划分为 8 个比特平面,并对每个比特平面进行比特置换操作。类似的一种比特平面划分方法见于 [60],其中每个比特平面通过与来自另一幅图像的密钥比特平面图像进行异或操作来加密。这些加密后的比特平面利用混沌 Logistic 映射进行扰乱。在 [8], 中,文章强调了比特级图像密码系统的不可适用性,并提出了一种基于混沌的图像加密方案,该方案采用非线性像素间计算和基于交换的置换方法。一些最近的图像加密方案 [4,44] 采用了与边缘图进行异或操作的方法。在 [57], 中,秘密图像被分割为 8 × 8 个块,通过与一个随机矩阵相乘实现块级置换,最后使用块扩散进一步改变块统计特性。许多近期基于混沌的图像加密方案,采用混淆和扩散技术的研究在 [1,12,40] 中有所论述。

基于混沌的技术已证明其在抵御各种统计和差分攻击方面的安全性和鲁棒性。但研究人员分析后发现,其中一些方法仍易受到不同攻击的影响。Fridrich [13] 使用二维标准 Baker 映射展示了对称分组加密技术。Solak 等人 [43] 指出了 Fridrich 方法在面对选择密文攻击时存在的一些弱点。Solak 等人 [43] 的不足之处在 [53] 中被指出。在 [61], 中,作者声称他们的方法对密钥值高度敏感,且所提出的方法是一种强健的方法,但 [56] 中发表的文章否定了这些主张。Yen 等人 [54] 提出了一种使用混沌 Logistic 映射的图像加密方案,并给出了其 VLSI 架构。随后,Li 等人 [24] 证明了 Yen 等人 [54] 的方案无法抵御已知/选择明文攻击。Zhu 等人 [61] 提出了一种基于混沌图像密码的一轮修改后置换â扩散(ICMPD)架构,而该 ICMPD 架构在 [30] 中通过应用分而治之策略被攻破。文献 [33] 提出了一种基于超混沌的图像加密方案,该方法采用了无限维混沌系统。然而,在 [27] 中已证明原始方案易受选择明文攻击。Boriga 等人 [2] 提出了一种使用超混沌二维映射的图像加密方法,并证明了其在抵御多种攻击方面的安全性。但在后续研究 [51] 中证明,该方法 [2] 易受到差分攻击。Zhang 等人 [55] 在三维(3D)空间(由 w × h × bit depth 指定)中进行比特置换,且该置换由 Chen 系统 [6] 定义。最近提出的密码分析研究 [52] 指出了 Zhang 等人 [55] 方法的一些缺陷。

混沌映射与其他技术相结合,用于解决一些近期的图像加密方案。基于哈希密钥的 [15,50], 线性反馈移位寄存器基于 [47], 替换盒(S‐Box)[18], 遗传算法(GA) 基于 [14,23,35], DNA 序列和编码技术 [9,16,29,45] 是一些已引起研究者们关注的技术。

彩色图像的加密也是一个重要问题,因为每个彩色图像都包含红、绿、蓝三个颜色平面。在 [11], 中,作者提出了一种基于哈希值的彩色图像加密方法。张等人 [58] 采用耦合逻辑映射、自适应置乱和 S‐Box 提出了一种彩色图像加密方案。一些近期的彩色图像加密方案在 [36,37,46] 中被提出。

在文献中,一些标准指标和统计测试 [60,62] 被用于衡量图像加密方法的安全性和鲁棒性。最近一篇文章 [38] 对将常用的度量指标和统计测试视为图像加密安全性评估标准提出了质疑,理由是这些测试“缺乏明确的(统计)通过判定准则”。为此,作者指出,一些不安全的加密系统在常用的度量指标和统计测试中同样表现出良好性能。然而,该文章并未提供任何合适的度量指标或测试方法来评判图像加密方案。

基于混沌的图像加密技术已被研究界广泛接受。混沌映射的一个重要问题是混沌迭代中的浮点运算,这被认为是一个缺点 [7]。研究人员还提出了使用置乱‐扩散阶段的图像加密系统,其中置乱由一些非混沌方法定义。多种图像密码系统已采用非混沌技术,如基于格雷码的置换方法 [7],、块重排后接螺旋波扫描模式 [41],、利用非相干点扩散函数(PSF)的偏振编码 [48],、圆的性质 [10] 等。这些非混沌技术 [7,41,48] 产生了良好的结果,甚至在与一些著名的基于混沌的图像加密技术比较时表现更优。

受非混沌图像加密系统的启发,本文提出了一种新颖的图像加密方案。该方案利用循环群的性质生成伪随机序列,并进一步将其构造成置换。所提出的加密技术包含混淆和扩散阶段。在混淆阶段,像素被重新定位,从而降低像素之间的相关性。但是,直方图仍与原始图像相同,因此仍有可能通过直方图推测出原始图像。在扩散阶段,通过比特级置换和比特级变换增强了安全性。该阶段还确保原始图像的微小修改会导致生成完全不同的加密图像。这些比特级操作是借助循环群生成的置换来设计的。在一些标准图像上的实验结果相当令人满意。本文采用了标准指标和测试方法来评估所提出方法的安全性和鲁棒性。在大多数情况下,与现有的一些技术相比,所提出的方法取得了更好的结果。

本文其余部分组织如下。第 2 节给出了循环群的概述。所提出的方法在第 3 节中介绍。实验结果及对所提出方法的分析分别在第 4 节和第 5.1 节中讨论。最后,第 6 节得出结论。

2. 循环群的概述

设 G = { x₁, x₂, ···, xₙ } 是一个包含 n 个元素的集合,‘•’ 是定义在 G 上的二元算子。若 G 在运算 ‘•’ 下满足以下条件,则称 G 构成一个群,记作 (G, •):

i) ∀ xi, xj ∈ G, xi• xj ∈ G(封闭性)。
ii) ∀ xi, xj, xk ∈ G, (xi•xj) •xk = xi•(xj• xk)(结合性)。

示意图0

iii) ∃一个元素 e ∈ G,使得 e • xj = xj • e = xj ∀ xj ∈ G,e 是单位元;
iv) ∀ xi ∈ G,∃ xj ∈ G,使得 xi • xj = xj • xi = e,xj 是 xi 的逆元,反之亦然。

这里,我们关注具有有限元素的群,群 G 中元素的个数称为 G 的阶,记作 |G|。元素 x ∈ G 的阶是指使得 x^m = e 成立的最小正整数 m。如果不存在这样的 m,则称 x 具有无限阶。对于任意元素 x ∈ G,x• x 记为 x²,单独的 x 表示为 x¹,且 x⁰ = e。同样地,对于任意 r,0 ≤ r < n,x^r = x • x • ··· • x ︸ ︷︷ ︸ 。如果或‐x occurs r times 若元素 x 的阶为 |G|,则 G 的所有元素均可由 x 自身生成,此时称 G 为循环群,其中 x 为生成元,记作 G = 。本文中对图像进行行/列置换和比特置换,即仅改变位置。因此,G 中的元素为非负数,且算子为乘法‘×’。由于采用乘法算子,‘0’被排除在 G 之外,故 G = Z ₙ,其中 Z ₙ 表示模 n 非零剩余集合。

循环群具有某些有趣的性质。以下列出了一些与本研究相关的性质。

i) (Z ₙ, ×) 是循环群,如果 n 是素数。
ii) If (Z
ₙ, ×) 是一个循环 lic 群,t hnum b
iii) 当 x 是 (Z*ₙ, ×) 的生成元时,则 xᵏ 也是生成元,如果最大公约数 GCD(k, n − 1) = 1。

3. 提出的方法

所提出的方法的框图如图 1 所示。所提出的方法包括两个阶段:i) 混淆阶段用于改变像素位置,以及 ii) 扩散阶段,在该阶段中像素值被修改。此处,置换用于混淆和扩散阶段。混淆阶段执行位置级别的置换,从而实现像素位置的交换。在扩散阶段,像素

Table 1 以 7 为生成元的 Z*₁₁ 的置换。

7¹ mod 11 = 7 7² mod 11 = 5 7³ mod 11 = 2 7⁴ mod 11 = 3 7⁵ mod 11 = 10
7⁶ mod 11 = 4 7⁷ mod 11 = 6 7⁸ mod 11 = 9 7⁹ mod 11 = 8 7¹⁰ mod 11 = 1

使用比特级置换(BLP)和比特级变换(BLT)来改变值。首先定义基于循环群的置换生成过程,然后讨论混淆和扩散过程。

3.1. 使用循环群生成置换

在本研究中,我们考虑了群 (Z ₚ, ×),其中 p 是一个素数,因此 Z ₚ = {1, 2, ···, p − 1}。设 是 Z ₚ 的一个生成元,则任意 i ∈ Z ₚ 可表示为 i = xʲ mod p(对某个 j)。因此,(Z*ₚ 的元素相对于生成元 x 构成一个序列,也可视为一个置换 σ = (1 2 … p−1 i₁ i₂ … iₚ₋₁),其中 iⱼ = xʲ mod p(j = 1, 2, …, p)。为简便起见,该置换表示为 σ = (i₁, i₂, …, iₚ₋₁)。在此描述中,“序列”或“置换”一词表示序列(或置换)σ。根据上下文,本文使用术语“序列”或“置换”。生成该序列的过程如下例所示。

示例 1. 设 p = 11,则 Z ₁₁ = {1, 2, 3, …, 10} 且 7 是 (Z ₁₁, ×) 的一个生成元,因为 Z*₁₁ 的所有元素均可由 7 生成,如表 1 所示。因此,由该生成元定义的置换/序列是 σ = (7, 5, 2, 3, 10, 4, 6, 9, 8, 1)。

根据第 2 节中讨论的循环群的第 3 个性质,共有 ϕ(ϕ(11)) = 4 个生成元。当 p = 11;最大公约数 (10, k) = 1,其中 k = 3, 7 和 9。因此,其他生成元为 Z*₁₁,即 2 ≡ 7³ mod 11,6 ≡ 7⁷ mod 11 和 8 ≡ 7⁹ mod 11。

Table 2 由 (Z*₁₁, ×) 的生成元生成的置换

生成元 置换 (σ)
2 (2, 4, 8, 5, 10, 9, 7, 3, 6, 1)
6 (6, 3, 7, 9, 10, 5, 8, 4, 2, 1)
7 (7, 5, 2, 3, 10, 4, 6, 9, 8, 1)
8 (8, 9, 6, 4, 10, 3, 2, 5, 7, 1)

由 (Z*₁₁, ×) 的生成元生成的置换如表 2 所示。从表 2 可以看出,生成的置换依赖于生成元。在当前工作中,生成元 g 被用作一个密钥。

为了置换 ‘n’ 个元素,我们选择一个素数 p,使得 p ≥ n + 1,然后生成序列 σ = (i₁, i₂, ···, iₚ₋₁) 中包含一些大于 n 的数。在这种情况下,通过简单地删除大于 n 的数,将 σ 简化为 σ′。继续前面的例子,如果 n = 8,则序列变为 σ′ = {7, 5, 2, 3, 4, 6, 8, 1},因此置换为 (1 2 3 4 5 6 7 8 7 5 2 3 4 6 8 1),并表示为 (7, 5, 2, 3, 4, 6, 8, 1)。

因此,在序列/排列生成过程中,素数 p 也被视为私钥。置换生成技术 PSNRSEQ() 在算法 1 中进行了描述。

算法 1:SNRSEQ(n,p,g)。

输入: 要置换的元素数量 n, 素数 p(> n), 生成元 g
输出:置换 σ。

1: seq = φ, i = 1
2:对于 j = 1 到 (p − 1)
si = gʲ mod p
如果 (si ≤ n) seq = seq || si
i = i + 1;
3:返回置换 σ 自 seq。

3.2. 加密过程

本方法包含混淆和扩散阶段(见图 1)。在混淆阶段对行和列进行置换,以打乱像素的位置;而在扩散阶段使用 BLP 和 BLT 改变像素的值。

3.2.1. 混淆阶段

在一幅图像中,相邻像素之间存在很高的相关性。混淆阶段的基本目标是降低相邻像素之间的相关性。这可通过行和列置换来实现。

行列置换 :行和列置换会改变图像中行和列的位置,从而改变像素的邻域,进而降低相关性。为了减少相关性,以交错方式多次迭代行/列置换。行和列置换的‘rowcol‐permute’过程在算法 2 中描述。

算法 2:行列置换(I, itr, p1, p2, g1, g2)。

输入:原始图像 I w×h,迭代次数 ‘itr’,p1, p2, g1, g2
输出:行和列置换后的图像。

1: σ1 = PSNRSEQ(h, p1, g1)
2: σ2 = PSNRSEQ(w, p2, g2)
3:for i = 1 到 itr
I′ = 置换行的 I 使用 σ1
I′′ = 置换列的 I′ 使用 σ2
I = I′′
4:返回 I。

3.2.2. 扩散阶段

混淆阶段对图像进行了显著改变,使得难以辨认。但是,两幅图像具有相同的内容,图像都有相同直方图中可能泄露原始图像的信息。扩散阶段使用 BLP 和 BLT 来改变像素的值。这些操作具有更强的鲁棒性和更高的安全性能。

位级置换(BLP) :BLP 置换像素块中的比特,从而改变该块中像素的强度值。如果该过程应用于单个像素,则变化将非常有限,因为在灰度图像中,一个像素仅有 8 比特。BLP 依赖于块的大小。此处,BLP 根据算法 1 生成的置换来置换各个块。图像的分块位级置换在算法 3 中描述。

算法 3:BLP(I, w1, h1, p, g)。

输入:图像 I w×h, 块大小 w1×h1, 素数 p > (w1 × h1 × 8).
输出:比特级置换图像。

1:将 I 划分为块 B,每个大小为 w1 × h1。
2: σ = PSNRSEQ(w1 × h1 × 8, p, g).
3:对于每个块 Bi
3.1. 从 Bi 生成二进制字符串 bi。
3.2. 使用 σ 将 bi 置换为 b′i。
3.3. 根据 b′i 重构 B′i
4:从 B′i 重构 I′。
5:返回 I′。

比特级变换(BLT) :在完成 BLP 后,得到一幅类噪声图像。为了进一步提高安全性,我们在扩散阶段采用了 BLT。在此变换中,通过算法 1 生成一个长度为 t 的一维数组,称为“变换数组”(T(1....t))。将位级置换图像转换为一个一维数组 A(1....n),其中 n = w × h。A(i) 的值通过 B{i}(、T{i}(以及 A(i) 自身递归地定义为 B(i)。为了使该方法对原始图像中的任何变化敏感,BLT 必须至少执行两次。BLT 过程在算法 4 中进行了描述。

算法 4:BLT(I,n,p,g)。

输入:图像 I w×h, n, p, g
输出:位级变换后的图像 I_enc

1: B_w×h = φ
T = PSNRSEQ(n, p, g)
2: 将 I_w×h 转换为 1D 数组 A。
3:
3.1. B(1) = [A(1) + A(w × h)] mod 256
3.2. B(1) = 位移(B(1), 1, T(1))
3.3. for i = 2 到 w × h
3.3.1. B(i) = [A(i) + B(i − 1)] mod 256
3.3.2. B(i) = 位移(B(i), i, T(i mod n))
4: 从 B 重构 I_enc。
5: 返回 I_enc。

位移(D, i, j)
如果 (i 是偶数 && j 是偶数)
D ⇐ 循环移位(D, 2)
else 如果 (i 是偶数 && j 是奇数)
D ⇐ 循环移位(D, 4)
elseif (i 是奇数 && j 是奇数)
D ⇐ 循环移位(D, 6)
return D

ψ: 循环移位(x,y) 表示二进制表示的 x 向左循环移位,左移位数为 y

4. 实验结果

为了执行所提出的方法,选取了十二幅大小为 512 × 512 的 8 位灰度图像作为明文图像。本节展示了其中四幅图像的结果,分别是“Lena”、“狒狒”、“摄像师”和“Peppers”(见图 2 (a))。我们报告了与我们的数据集共通的图像的结果。此处,原始图像首先进行行置换,然后进行列置换,该计算执行“itr1”次数。对于行置换和列置换,分别采用密钥 (p1, g1) 和 (p2, g2)。因此,密钥集为

示意图1 原始 c)最终加密 b)混淆)

混淆阶段的密钥 conf 为 = (p1, g1, p2, g2, itr1)。在扩散阶段,为了定义 BLP,在算法 3:BLP() 中将素数 p3、生成元 g3 和块大小作为输入。对于 BLT,“变换数组”由通过素数 p4 和生成元 g4 生成的长度为 n1 的序列定义。因此,扩散阶段的密钥集 key_dif 为 = (p3, g3, p4, g4, w1, h1, n1, itr2)。为了实现明文图像任何变化的影响,扩散阶段至少需要迭代两次,即 itr2 > 1。

由于实验中采用的是方形图像,因此在混淆阶段的序列生成中考虑了 p1 = p2 和 g1 = g2,在扩散阶段为相同目的考虑了 p3 = p4 和 g3 = g4。在本实现中,混淆密钥设为 (8209, 8123, 1),扩散密钥取为 (9973, 9929, 512, 1, 4096, 2)。原始图像、混淆图像和加密图像分别如图 2 (a)–(c) 所示。

从图 2 可以看出,加密图像看起来像噪声,从这些噪声图像中无法获取有关明文图像的任何信息,因此除非知道混淆密钥和扩散密钥,否则无法恢复原始图像。因此,所提出的方法的结果是可接受的。

为了验证所提出的方法的效率和有效性,将所提出的方法的结果与一些图像加密方法(如朱等人 [62], 、Zhou 等人 [60] 以及张等人 [55] 方案)进行了比较。这三种方案的结果均来自 [55]。以下简要描述这些现有方案。

在朱等人 [62], 中,明文图像被分解为比特平面,重要比特平面(高位比特平面,例如 8 比特图像的四个平面)在 Arnold 猫映射的帮助下独立进行置换,其中猫映射的参数通过 Logistic 映射计算得到。其余比特平面(即低位四个平面)作为一个整体进行置换。最后,通过 Logistic 映射生成的序列来修改像素值,从而获得加密图像。

周等人 [60] 已将明文图像分解为比特平面,并将这些比特平面与来自另一幅图像的‘密钥比特平面’进行异或。由置乱后的比特平面生成的二进制字符串,在 Logistic 映射的帮助下进行置乱,然后得到加密图像。

张等人 [55] 采用了双随机位置映射(DRPM)来加密图像。DRPM 利用了排序和基于混沌序列的置换方法。在此,图像被巧妙地表示为三维二进制矩阵,并结合 Chen 系统 [6] 和三维 Cat 映射对比特值进行置换。

在接下来的部分中,将对所提出方法的性能与上述讨论的方法进行比较和分析。

5. 安全性分析

任何加密技术都必须具备一定程度的鲁棒性,以使攻击者难以获取有关明文的信息。在文献中,通常使用一些标准统计测试和标准指标来评估图像加密方法的安全性和鲁棒性。在 [38], 中表明,这些测试和度量指标并非充分条件,而仅仅是必要条件。目前文献中尚无其他方法可用于评判任何图像加密方法。因此,在本研究工作中,我们针对常用的测试和度量指标对其性能进行了研究。

5.1. 密钥的空间

由上述讨论可知,所提方案的密钥空间由混淆密钥和扩散密钥定义。如上所述,密钥集分别为混淆密钥 = (p1, g1, p2, g2, itr1) 和扩散密钥 = (p3, g3, p4, g4, w1, h1, n1, itr2)。

示意图2

在本分析部分,考虑一幅大小为 2^s × 2^s 的图像。首先计算密钥 conf 的密钥空间。p1 和 p2 的大小至少为 s + 1 比特,而对于 g1 和 g2,我们也可以假设为 s + 1 比特,itr1 取适中大小,例如 5 位。因此,密钥 conf 的位需求至少为 4(s + 1) + 5 比特。

在扩散阶段,p3 和 g3 的值取决于块大小(w1 × h1),实验观察发现当块大小大于 512 像素时,性能相当令人满意。因此,扩散阶段的比特级置换至少处理 512 ∗ 8 = 4096 比特(= 2^12 比特)。因此,对于 p3 和 g3,位需求至少为 13 + 13 = 26 比特。此外,块大小由 s + s 比特表示(即 1 ≤ w1,h1 ≤ 2^s)。在‘BLT()’步骤中,‘变换数组’的大小为任意值 n1 ≤ w × h。因此,n1 由 s + s 比特表示,且为定义对应‘素数’和‘生成元’的位需求为‘2s + 2s’比特。与混淆步骤类似,对于 itr2 我们也考虑一个适中的大小,并假定位需求为 5 位。因此,对于密钥 dif,位需求至少为 26 + 2s + 2s + 4s + 5 位。

因此,对于一幅大小为 512 × 512 (s = 9) 的图像,所提出的图像加密方法的密钥空间至少为 45 + 103 = 148 比特,该值非常大,使得攻击者无法采用穷举攻击。

5.2. 信息熵分析

消息源 msg H(msg) 的熵可以计算为

H(msg) = 1/N ∑ᵢ₌₁ᴺ p(msgᵢ) log₂(1/p(msgᵢ))

其中,p(msgᵢ) 表示符号 msgᵢ 的概率,N 是符号的数量。在 8 位灰度图像中,当每个灰度值具有相等的概率时,N = 256 且达到最大熵 8。图像熵小于 8 表示存在一定程度的可预测性。测试图像的信息熵如表 3 所示。

Table 3 信息熵。

序号 图像 信息熵
原始 加密
1 Lena 7.4450614 7.9993607
2 狒狒 7.2925483 7.9992483
3 摄像师 7.0479552 7.9992871
4 辣椒 6.7624258 7.9993540
5 夫妇 7.0572081 7.9992977
6 房屋 5.7528715 7.9992797
7 喷气式飞机 6.7135181 7.9992644
8 Lake 7.4826401 7.9992301
9 客厅 7.2951741 7.9992550
10 海盗 7.2367078 7.9992965
11 芭芭拉 7.6321190 7.9993589
12 戈德希尔 7.4778197 7.9992391
平均值 7.0996707 7.9992892

从表 3 可以看出,加密图像的熵非常接近 8,这强烈表明所提出的加密方法在未知平台中具有更高的不确定性,因此可以获得安全的结果。

所提出的方法的性能与一些现有方法进行了比较,比较所用的测试图像包括 Lena、狒狒、辣椒和夫妇,这些图像在我们的数据集中是共通的,如 [55] 中所述。比较研究结果列于表 4。加密图像的信息熵图像由所提和现有方案获得的结果均接近‘8’,但所提方案的平均结果更优(接近理想值),因此其性能与最先进的方法相当,可接受。

Table 4 信息熵分析。

Sl. 测试图像 所提出的方法 朱方案 周方案 张方案
1 Lena 7.9993607 7.9992693 7.9992191 7.9992495
2 狒狒 7.9992483 7.9992361 7.9993311 7.9992635
3 辣椒 7.9993540 7.9993219 7.9993564 7.9993617
4 夫妇 7.9992977 7.9993553 7.9992576 7.9993400
平均 7.9993152 7.9992956 7.9992910 7.9993036

表格 5 密钥敏感性测试配置。

I 混淆密钥改变,扩散密钥相同
密钥 1 = (密钥 conf, 密钥 dif) → I_enc
比较 I_enc 和 I_enc1
密钥 2 = (密钥 conf1, 密钥 dif) → I_enc1
II 混淆密钥相同,在扩散密钥中,p 相同但 g 不同
密钥 1 = (密钥 conf, 密钥 dif) → I_enc
比较 I_enc 和 I_enc1
密钥 2 = (密钥 conf, 密钥 dif1) → I_enc1
III 混淆密钥相同,扩散密钥中 p 和 g 均不同
密钥 1 = (密钥 conf, 密钥 dif) → I_enc
比较 I_enc 和 I_enc1
密钥 2 = (密钥 conf, 密钥 dif1) → I_enc1
IV 使用了不同的解密密钥
密钥 1 = (密钥 conf, 密钥 dif) → I_enc
比较 I 和 I′
密钥 2 = (密钥 conf, 密钥 dif1) → I′

案例 1 。在此测试条件下,密钥 conf = (8209, 8123, 1),密钥 conf1 = (8219, 8171, 1) 和密钥 dif = (9973, 9929, 512, 1, 4096, 2)。此处考虑了加密图像之间的差异性。两个加密图像均产生大致均匀的直方图,如图 3.I(a) 和 (b) 中 Lena 图像所示。差值图像的直方图显示两个加密版本之间有 99.58534% 的像素不匹配(见图 3.I(c))。

案例 2 。此处,密钥 conf = (8209, 8123, 1),密钥 dif = (9973, 9929, 512, 1, 4096, 2) 且密钥 dif1 = (9973, 9687, 512, 1, 4096, 2)。在‘Lena’上的测试显示,有 99.59259% 的像素不同,如直方图所示(见图 3.II)。

案例 3 。在此测试用例中,密钥 conf = (8209, 8123, 1),密钥 dif = (9973, 9929, 512, 1, 4096, 2) 且密钥 dif = (10007, 9941, 512, 1, 4096, 2)。在此配置下的测试显示,‘Lena’图像中有 99.6002% 的像素不同。(见图 3.III)

案例 4 。在此测试情况下,密钥 conf = (8209, 8123, 1) 和密钥 dif = (9973, 9929, 512, 1, 4096, 2)。解密时使用了不同的扩散密钥(9973, 9687, 512, 1, 4096, 2),解密后的图像如图 3 IV(b) 所示,为类噪声图像,与“Lena”没有任何相似性。

从上文可以清楚地看出,所提出方法的输出在很大程度上依赖于给定的密钥值。

5.4. 统计分析

5.4.1. 直方图分析

直方图提供了图像强度的统计特征,可能由此暴露图像信息。与原始图像相比,理想的加密图像应具有均匀分布的直方图,从而无法从中推测出任何信息。混淆阶段不改变任何像素强度,因此混淆图像的直方图与原始图像保持相同。实际上,直方图(即像素强度)是由扩散阶段改变的。在扩散阶段,BLP 和 BLT 改变像素值。所提出的方法的结果及其对应的直方图如图 4 所示。

表 6 原始图像与加密图像的相关系数。

Sl. 图像 水平 垂直 对角线
1 Lena 原始 0.9746616 原始 0.9852744 原始 0.9642429
加密 0.0009466 加密 0.0008444 加密 0.0027413
2 狒狒 原始 0.8760692 原始 0.7749162 原始 0.7387362
加密 0.0012350 加密 0.0010377 加密 0.0020157
3 摄像师 原始 0.9860104 原始 0.9891684 原始 0.9780482
加密 −0.0009891 加密 −0.0012209 加密 0.0003708
4 辣椒 原始 0.9828109 原始 0.9834255 原始 0.9723597
加密 0.0013641 加密 −0.0005037 加密 −0.0028168
5 夫妇 原始 0.9498069 原始 0.9542268 原始 0.9160565
加密 0.0005264 加密 0.0014530 加密 −0.0016899
6 房屋 原始 0.9956255 原始 0.9946173 原始 0.9912108
加密 0.0012151 加密 0.0007444 加密 −0.0049489
7 喷气式飞机 原始 0.9763142 原始 0.9644006 原始 0.9514611
加密 0.0003275 加密 0.0027235 加密 −0.0004094
8 Lake 原始 0.9770306 原始 0.9805936 原始 0.9636192
加密 0.0023224 加密 0.00095376 加密 0.0001813
9 客厅 原始 0.9506294 原始 0.9610226 原始 0.9115535
加密 0.0023500 加密 0.0017793 加密 −0.0015810
10 海盗 原始 0.9610351 原始 0.9699820 原始 0.9488730
加密 −0.0015730 加密 0.0008912 加密 0.0016288
11 芭芭拉 原始 0.8989019 原始 0.9600365 原始 0.9021448
加密 0.0018536 加密 0.00097108 加密 −0.0015654
12 Goldhill 原始 0.9727320 原始 0.9753265 原始 0.9534668
加密 −0.0017824 加密 0.0012193 加密 0.0032069

从该图可以看出,在加密过程结束时,我们得到了一个均匀的直方图(见图 4)。

5.4.2. 相关系数分析

数字图像的相邻像素之间存在高度相关性。一种图像加密方案必须将相邻像素之间的相关性降低到足够低的程度。为了分析原始图像和加密图像在水平、垂直和对角线方向上的相关系数,我们为每幅图像在水平、垂直和对角线方向上随机选取了 2000 对相邻像素。相邻像素对的相关系数(r)计算如下。

rₓᵧ = cov(x, y) / (√D(x) √D(y))

cov(x, y) = 1/N ∑ᵢ₌₁ᴺ (xᵢ − E(x))(yᵢ − E(y))

D(x) = 1/N ∑ᵢ₌₁ᴺ (xᵢ − E(x))²

E(x) = 1/N ∑ᵢ₌₁ᴺ xᵢ

x 和 y 是所取图像中两个相邻像素的灰度强度值。N 是像素对的数量。表 6 列出了所选相邻像素的相关系数。需要注意的是,表中列出的结果是每种情况下 10 次试验的平均值。从表 6 可以看出,相关系数的

示意图3 混淆图像 和直方图 (b)加密图像 和直方图 图 4. 所提出加密方法的逐步结果及其直方图。)

加密图像接近于零,即无法根据相邻像素预测任何像素,这一点也在图 5 中给出的“Lena”、“狒狒”、“摄像师”和“辣椒”的散点图中得到体现。

在与现有方法进行表 7 中给出的结果相比,可以发现相关系数非常接近。严格来说,在大多数情况下,所提方案的性能更优。

从图 5 可以看出,原始图像散点图中的点沿对角线密集分布,反映了相邻像素之间的高度相关性。另一方面,加密图像的点在整个范围内均匀分布,表明相邻像素之间具有低相关性。这说明所提出的加密方案在相关系数方面表现出良好的性能。密文图像中相邻像素的相关性极小,证明了所提方案能够抵抗统计攻击。

5.5. 差分攻击

攻击者可能会对原始图像进行微小改动(可能仅为一位),然后对原始图像和修改后的图像分别运行图像加密算法,生成加密图像。接着,攻击者试图找出两幅加密图像之间的某种有意义的关系,并尝试推测加密过程中所用密钥的模式。这在密码学中被称为差分攻击。NPCR(像素变化率)和 UACI(归一化平均变化强度)是用于衡量两幅不同密文图像 I₁ 和 I₂ 的指标,以评估图像加密算法抵抗差分攻击的性能,如公式 (1) 所示。对于任何理想图像加密算法,NPCR 和 UACI 分别为 100% 和 33.33% [18]。

NPCR = (∑ᵢ₌₁ʷ ∑ⱼ₌₁ʰ D(i, j)) / (w × h) × 100

UACI = 1/(w × h) [∑ᵢ₌₁ʷ ∑ⱼ₌₁ʰ |I₁(i, j) − I₂(i, j)| / 255] × 100

D(i, j) = { 0, if I₁(i, j) = I₂(i, j); 1, if I₁(i, j) ≠ I₂(i, j) }

(1)

为了证明所提出的方法得到的结果接近理想值,我们随机选取明文图像中的一个像素并进行修改,然后计算上述指标。这里我们选择了 5 个不同的位置,在修改步骤中将最低有效位(LSB)取反。实验中我们采用“Lena”图像。结果如表 8 所示,可以看出所得结果接近理想值。

表 9 给出了所有测试图像在 (256,256) 位置像素的最低有效位(LSB)取反后的 NPCR 和 UACI 值。可以看出,这些值均接近理想值。

在现有方案中,朱 [62] 和张 [55] 方案在 NPCR 和 UACI 方面的结果较差,因此需要多次迭代加密过程。此处,加密过程的每一次迭代被视为该方法的一轮。第 i 轮的输出作为 (i+1) 轮的输入。从表 10 可以看出,所提出的方法在第一轮就已接近理想结果,因此无需进一步迭代。注意到张方法 [55] 从第二轮开始给出可接受的结果,而朱等人 [62] 从第三轮开始才给出满意的结果。所提出的方法的性能也优于周方案 [60]。因此,与其它方法相比,所提出的方法具有更强的抵抗差分攻击的能力。

示意图4 上的像素灰度值 0 50 100 150 200 250 pixel grey-scale value on grid(x, y+ 1) 水平相关系数 = 0.97466 0 50 100 150 200 250 网格(x,y)上的像素灰度值 0 50 100 150 200 250 pixel grey-scale value on grid(x+ 1, y) 垂直相关系数 = 0.98527 0 50 100 150 200 250 网格(x,y)上的像素灰度值 0 50 100 150 200 250 pixel grey-scale value on grid (x + 1, y+ 1) 对角相关系数 = 0.96424 0 50 100 150 200 250 300 网格(x,y)上的像素灰度值 0 50 100 150 200 250 300 pixel grey-scale value on grid (x,y + 1) 水平相关系数 = 0.00094661 0 50 100 150 200 250 300 网格(x,y)上的像素灰度值 0 50 100 150 200 250 300 pixel grey-scale value on grid (x + 1,y) 垂直相关系数 = ‐0.00084442 0 50 100 150 200 250 300 网格(x,y)上的像素灰度值 0 50 100 150 200 250 300 pixel grey-scale value on grid (x + 1,y + 1) 对角相关系数 = 0.0027413 Lena 0 50 100 150 200 250 网格(x,y)上的像素灰度值 0 50 100 150 200 250 pixel grey-scale value on grid (x, y + 1) 水平相关系数 = 0.87607 0 50 100 150 200 250 网格(x,y)上的像素灰度值 0 50 100 150 200 250 pixel grey-scale value on grid (x + 1, y) 垂直相关系数 = 0.77492 0 50 100 150 200 250 网格(x,y)上的像素灰度值 0 50 100 150 200 250 pixel grey-scale value on grid (x + 1, y + 1) 对角相关系数 = 0.73874 0 50 100 150 200 250 300 网格(x,y)上的像素灰度值 0 50 100 150 200 250 300 pixel grey-scale value on grid (x, y + 1) 水平相关系数 = 0.001235 0 50 100 150 200 250 300 网格(x,y)上的像素灰度值 0 50 100 150 200 250 300 pixel grey-scale value on grid (x + 1, y) 垂直相关系数 = 0.0010378 0 50 100 150 200 250 300 网格(x,y)上的像素灰度值 0 50 100 150 200 250 300 pixel grey-scale value on grid (x + 1, y + 1) 对角相关系数 = 0.0020157 狒狒 图 5. 水平、垂直和对角地选取的相邻像素对的散点图。)

Table 7 相关系数分析。

测试图像 方向 明文图像 加密图像 所提方案 朱方案 周方案 张方案
Lena 水平 0.974662 0.000946 −0.002384 −0.006944 −0.004223
垂直 0.985274 0.000844 0.000587 0.002741 0.000551
对角线 0.964243 0.002741 0.000642 −0.002924 −0.003665
狒狒 水平 0.876069 0.001235 0.000550 0.002560 0.002188
垂直 0.774916 0.001038 −0.001649 −0.001463 0.001276
对角线 0.738736 0.002016 −0.002563 0.002747 0.002372
辣椒 水平 0.982811 0.001364 −0.003113 0.001464 −0.001830
垂直 0.983426 −0.000504 0.006043 −0.004026 0.002380
对角线 0.9723600 −0.002817 −0.008047 0.003477 −0.003110
夫妇 水平 0.949807 0.000526 0.006959 −0.000914 −0.001835
垂直 0.954227 0.001453 −0.000549 −0.002012 0.001835
对角线 0.916057 −0.001690 −0.001285 −0.009711 0.005336
平均值(绝对值) 0.001018 0.003251 0.002970 0.002501
0.000959 0.003527 0.002560 0.001510
0.002316 0.004580 0.004394 0.002873

表 8 NPCR 和 UACI 值在五次试验中对 Lena 图像加密的结果。

试验 像素位置 原始 修改后 NPCR UACI
1 1,1 162 163 99.6868133 33.3492503
2 256,256 104 105 99.6944427 33.4162161
3 512,512 108 109 99.6208190 33.3182662
4 245,245 171 170 99.6330261 33.2892314
5 354,124 99 98 99.8645782 33.4028691
平均 99.6999358 33.3551666

表 9 NPCR 和 UACI 值补充 (256,256) 像素的最低有效位。

Sl. 图像 NPCR UACI
1 Lena 99.6944427 33.4162161
2 狒狒 99.695
内容概要:本文介绍了基于贝叶斯优化的CNN-LSTM混合神经网络在时间序列预测中的应用,并提供了完整的Matlab代码实现。该模型结合了卷积神经网络(CNN)在特征提取方面的优势与长短期记忆网络(LSTM)在处理时序依赖问题上的强大能力,形成一种高效的混合预测架构。通过贝叶斯优化算法自动调参,提升了模型的预测精度与泛化能力,适用于风电、光伏、负荷、交通流等多种复杂非线性系统的预测任务。文中还展示了模型训练流程、参数优化机制及实际预测效果分析,突出其在科研与工程应用中的实用性。; 适合人群:具备一定机器学习基基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)础和Matlab编程经验的高校研究生、科研人员及从事预测建模的工程技术人员,尤其适合关注深度学习与智能优化算法结合应用的研究者。; 使用场景及目标:①解决各类时间序列预测问题,如能源出力预测、电力负荷预测、环境数据预测等;②学习如何将CNN-LSTM模型与贝叶斯优化相结合,提升模型性能;③掌握Matlab环境下深度学习模型搭建与超参数自动优化的技术路线。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注贝叶斯优化模块与混合神经网络结构的设计逻辑,通过调整数据集和参数加深对模型工作机制的理解,同时可将其框架迁移至其他预测场景中验证效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值