A Survey of Image Encryption Algorithms
A Survey of Image Encryption Algorithms
图像加密算法综述
文章信息
博客内容仅用于学习。
Manju Kumari . Shailender Gupta . Pranshul Sardana
Received: 19 August 2017 / Revised: 10 October 2017 / Accepted: 30 October 2017
ᾤ 3D Research Center, Kwangwoon University and Springer-Verlag GmbH Germany, part of Springer Nature 2017
M. Kumari S. Gupta (&) P. SardanaYMCA University of Science and Technology, Faridabad,
India
e-mail: manju_mrce027@yahoo.com
S. Gupta
e-mail: shailender81@gmail.com
P. Sardana
e-mail: pranshulsardana@rediffmail.com
0.摘要
数据/图像的安全是巨大的和仍在不断扩大的数字传输领域的关键方面之一。图像加密是在可靠的不受限制的公共媒体上保护图像机密性的众所周知的机制之一。这种媒体容易受到攻击,因此有效的加密算法是安全数据传输的必要条件。迄今为止,文献中已经提出了各种技术,每种技术都有优势,以满足日益增长的安全需求。本文旨在比较基于各种性能指标(如差分、统计和定量攻击分析)的最流行的技术。在MATLAB-2015中,所有的现代成熟技术都被应用于测试。结果表明,所采用的混沌方案能够提供具有均匀直方图分布的高置乱加密图像。此外,加密图像在水平、垂直和对角线方向上提供的相关系数值程度非常小,证明了其对统计攻击的抵抗力。此外,这些方案能够抵抗差分攻击,因为它们对初始条件(即像素和键值)具有较高的敏感性。最后,该方案提供了较大的密钥间距,因此可以抵抗暴力破解攻击,并且与文献中其他方案相比,为图像加解密提供了非常少的计算时间。
关键词:混沌函数,密码学,差分攻击,加解密,统计攻击,s盒
1.引言
过去二十年的技术进步为世界提供了能够通过通用公共网络高效传输大量数据(如图像)的系统。这些公共路由虽然是可靠的路径,但容易被未经身份验证的用户访问,通过它们传输的数据可以被未经验证的用户(如勒索软件)访问和更改。图1显示了自2004年以来每年大约有多少勒索软件家庭的数据,预计2017年会增加[1]。从图中可以明显看出,通过公共域传输的数据很容易受到攻击。因此,应在传输时使用加密将数据转换为安全格式。图像加密增强了数字图像的安全性,是视频会议、遥测医学成像系统和军事图像传输等各种应用中的重要组成部分。
世界范围内提出了各种图像加密技术[2–6],但其中许多技术易受攻击,包括差分和统计攻击[7,8]。高级加密标准、Blowfish和国际数据加密算法等传统加密机制适用于文本加密,但这些技术在用于图像加密应用时无效[9-12]。这是由于图像的固有特性,如强相关性、高冗余和高计算开销。
因此,研究人员集中[6-15]设计了一种具有以下特征的图像加密机制:
•低相关性原始图像和加密图像之间的相关性应尽可能低。理想情况下应该为零。
•大密钥空间由于密钥空间越大,暴力搜索时间越长,因此密钥大小应该越大。
•密钥敏感度算法应具有较高的密钥敏感度,或者换言之,密钥值的轻微变化应显著改变加密图像。
•熵是随机性的度量。在理想情况下,熵应该是8。
•低时间复杂度具有高计算时间的算法不适用于实际应用。因此,图像加密算法应该具有低的时间复杂度。
本文试图基于各种性能参数(如时间复杂度、密钥敏感度和熵值),将众多经典密码算法与现代密码算法进行比较。此外,还分析了所有这些算法在统计、微分和定性攻击下的性能。
本文的其余部分组织如下:第二节回顾了研究中使用的所有15种技术。还提供了所有技术的框图表示,以便于理解流程的流程。第三部分总结了仿真设置参数,其中包含所使用的设置参数和性能指标。
性能指标基于视觉评估、统计分析、差分攻击分析、关键空间分析、关键敏感度分析、定量分析和时间复杂性。第四部分根据性能指标比较了通过应用研究中使用的加密方案获得的结果。最后,第五部分通过比较和总结所获得的所有结果来总结本研究。
2.文献综述
在密码学领域,人们探索了各种经典和现代算法,各有优缺点。研究中计算的15个方案的解释如下。
2.1维格纳密码
Vigene`re密码是一种多字母密码,由一系列不同的恺撒密码组成,用于加密[16]。它使用一系列表格形式的元素,也被称为Vigene`re表。在这个表中,第一行由n个不同的元素组成,其余的表有n-1个类似的行,每个行都是由前一行的元素的左循环移位形成的。解密可以通过在与关键元素对应的行中查找被加密的元素来完成,然后该列将代表解密的输出,即原始字母。传统上,Vigene`re密码是通过使用Vigene`re表来加密字母文本的,但最近的许多研究都将Vigene`re密码的概念用于图像加密。这些技术同时使用了基于混沌和非混沌的加密方案。图2显示了Vigene're密码的框图。它使用Vigene're表和密钥对输入的图像进行加密。密钥值被重复使用,直到所有的图像像素被加密。
2.2数据加密标准(DES)
数据加密标准 (DES) 是 IBM 于 1970 年代开发的最早的块密码之一,后来被国家标准局采用 [17, 18]。它采用 64 位输入块(一次 8 个像素)并对其应用初始排列 (IP)。然后将置换后的数据分成两个子块 (Li, Ri)。这些子块经过16轮使用不同密钥(48位)的运算后,最终进行置换,得到最终的密文。 DES 中显示的功能块是扩展置换(32-48 位)、异或运算后代换(48-32 位)和最终直接置换框的组合。初始密钥长度为 64 位,其中 8 位保留用于奇偶校验。在剩余的 64 位中,使用 PC1 提取了 56 位。
现在将这个 56 位数据分成两半并旋转多次以获得 16 个子密钥(56 位密钥)。从这些 56 位子密钥中,使用 PC2 提取 48 位密钥(16 个密钥用于循环操作)。
解密遵循与加密类似的循环机制,但子密钥的顺序是相反的。尽管加密和解密过程在很多轮次中进行,但 DES 安全机制可以通过多种方式破解。
蛮力攻击和已知明文攻击是最常见的方法 [19]。图 3 显示了 DES 的框图。它显示了如何生成不同的子密钥以及加密/解密机制。
2.3 国际数据加密算法(IDEA)
国际数据加密算法 (IDEA),也称为改进提议加密标准 (IPES),是一种对称密钥分组密码,是提议加密标准 (PES) [20] 的后继者。它使用 128 位的固定密钥大小和 64 位的输入块大小。然后该块被细分为四个子块(A、B、C、D)。加密和解密结构相似,使用八个完整轮加上一个额外的半轮,总共 8.5 轮。每轮中包含的各种组件是按位异或 (EX-OR)、加法器和乘法器(见图 4)。每轮总共使用六个密钥,而半轮使用四个密钥进行加密和解密过程。因此,IDEA 总共使用了 52 个子密钥,这些子密钥直接从初始密钥中获取。 128 位密钥分为 8 个子密钥。每轮将密钥左旋 25 位后,得到新的子密钥,如图 4 所示。二次簇中的加密子密钥(S[i]),如 S[0] 到 S[3] ],以相反的顺序被替换,这里是S[51]到S[48]。而配对的子密钥,如 S[4] 和 S[5],是直接替换的,这里是 S[46] 到 S[47]。 IDEA 容易受到各种类型的攻击,如 narrow-bicliques 攻击和中间人攻击。
2.4 河豚
Blowfish 是一种对称密钥分组密码算法。
它的主要组成部分是一个 Feistel 网络,迭代 16 次 [21]。使用的块大小与 DES 算法相同(64 位)。但是,与 DES 不同的是,它使用 32–448 位的可变密钥长度。方框图显示 64 位数据(8 像素)被分成两半。这些子块使用 Feistel 结构的 S 盒、加法器和按位 Exor 函数进行 16 轮运算,如图 5 所示。每一轮的输出都是下一轮的输入。最后,将左右子块与密钥值(P ARRAY GENERATOR 17 和 18)进行异或拼接得到最终的密文。
Blowfish 使用一个相对较大的密钥:一个包含 18 个密钥(32 位)数字和四个 S 框的 P 数组,每个框有 256 个初始化为随机值的条目。下一步是将 P 数组与密钥位进行 XOR,例如,P1 XOR(密钥的前 32 位),P2 XOR(密钥的第二个 32 位)。通过这种方式,所有零字符串都被加密。这个结果输出现在是 P1 和 P2。
这个P1和P2不用修改后的子密钥加密得到P3和P4。重复该过程以获得所有密钥。尽管有一个复杂的初始化,但有一个有效的数据加密。
由于受专利法保护,许多 Blowfish 算法仍然未被破解,但 Blowfish 也有其自身的局限性。它的使用仅限于应用程序,例如通信链接,其中密钥很少更改。此外,由于 Blowfish 的块大小较小,因此不建议加密大于 4 Gb 的文件。
2.5 视觉密码学
视觉密码学是一种著名的隐藏秘密消息的技术,例如以多种共享格式 [22] 的图像、对象或文本。视觉密码学的最初研究是基于两种共享方案,仅由黑色 (B) 和白色 (W) 组件构成。近年来,研究人员也探索了灰度和彩色图像的视觉密码学。与此同时,股票数量也增加到超过两股。它是比其他图像加密方案更有前途的替代方案,因为它没有使用复杂的算法来保护数据,而是使用视觉感知,从而增加了额外的安全层。对于两部分黑白 (B/W) 图像加密过程,两部分具有顺序为 BW(加密部分 1)或 WB(加密部分 2)的像素对,它们重叠以生成结果图像。这个重叠过程是简单的 Ex-XOR 函数,如图 6 所示。重要的是要注意她,除非黑客没有两个共享,否则图像解密是不可能的。
图 6 显示了视觉密码的框图。
2.6 RC4
RC4 是一种非常快速和简单的对称密钥,流密码 [18]。它于 1987 年首次设计,最初作为商业机密,但在几年后的 1994 年被泄露。该算法使用的密钥长度从 1 到 256 字节不等(通常在 5 到 16 字节之间)。密钥值重复得到一个长度为256字节的密钥。使用这个密钥、置换函数和随机数组,生成一个伪随机字节来加密明文(按位异或)。
解密过程遵循类似的机制(见图 7)。尽管其简单、快速和易于实现,但由于存在多个漏洞,其应用受到限制。例如,不变性弱点,它使用大量部分明文恢复攻击来窃取信用卡号、密码等数据。为了使 RC4 能够抵抗这种和其他类型的攻击,已经开发了各种变体,如 RC4A、Spritz。
2.7 RC5
RC5 是 RC4 的后继者,是一种对称密钥分组密码 [23]。与 RC4 一样,此密码使用简单的逻辑。
RC5 也是由 Ron Rivest 于 1994 年在前身开发七年后开发的。加密和解密过程在实现上是相似的。该算法可以使用 0 到 2040 位的密钥大小(推荐大小为 128 位),并且密钥表比之前的更复杂。 RC5 加密包括两个主要步骤:
密钥生成:密钥扩展算法使用两个字大小的二进制常量 Pw 和 Qw 它们为任意字 w 定义如下:
Pw = odd((e-2)2w)
Qw = odd((φ-2)2w)
e 是自然对数的底,而 φ是黄金比例。
从这些单词中,一个随机流(S)被初始化为 t 个单词 [24]。使用这个随机的字流、加法器、移位和键值(转换为 c 字),生成子键的伪随机流。该密钥用于循环过程中的加密和解密。
加密/解密 密码使用可变块大小,可以是 32、64 或 128 位,轮数也从 0 到 255 轮不等。建议使用 18-20 轮以实现快速和安全的实施。该块分为两半(A 和 B)。最后,每个块使用加法器、左移和异或运算进行循环。一轮的输出作为下一轮的输入。
在接收端进行逆向处理,得到明文数据。使用 244 个选定明文的差分攻击可以破解 12 轮、64 位块 RC5 版本(见图 8)。
2.8 RC6
RC6 [25] 是一种对称密钥分组密码,是 RC4 和 RC5 算法的继承者。它由 Ron Rivest 与其他人于 1998 年开发,是高级加密标准 (AES) 挑战赛的亚军。该算法使用 128、192 或 256 位的密钥大小,并使用 128 位的块大小。它使用一个Feistel 网络,具有类似于RC5 的结构。
这两种算法都有相似的密钥扩展,因为它们使用 t 个字的密钥作为子密钥,这是从初始密钥生成的。但是,RC6 使用四个 w 位字寄存器而不是两个。它还包括二次方程和整数乘法 (F) 等元素作为转换的一部分。以前的算法和 RC5 的 AES 评估建立的广泛基础有助于设计一个非常好的加密算法,并且没有可以破坏 RC6 的实际攻击是合理的时间。图 9 显示了 RC6 的框图。
2.9 三重数据加密标准(TDES)
三重数据加密标准 (TDES),也称为三重数据加密算法 (TDEA),是一种对称密钥块密码。顾名思义,该算法在加密、解密和密钥生成过程中三次使用了DES算法。 TDES 使用三个 56 位密钥进行加密和解密过程 [26]。选择这些键的过程称为键控选项。
TDES 过程提供了三个键控选项,如下所示:
1. 关键选项1:所有三个键都是相互独立的。它是最可靠的键控选项,不易受到任何已知的实际攻击。
2. 关键选项2:K1和K2是独立的,而K3与K1相同。它可以抵抗中间相遇攻击,但容易受到选择明文等攻击。它也称为 2DES
3. 关键选项 3:所有三个密钥都相同。它是最弱的键控选项
无论密钥选项如何,TDES 的加密过程都使用 K1 加密,K2 解密,K3 再次加密数据。同样,解密过程使用相应的密钥来解密、加密和解密数据。图 10 显示了 TDES 的框图。
2.10 高级加密标准(AES)
AES 是属于 Rijndeal 密码家族的对称密钥算法。具体来说,该家族的三个不同成员被美国国家标准技术研究院采用为 AES。
它们具有相同的 128 位块大小,但具有 128、192 和 256 位的不同密钥大小,这表明安全强度随着位数的增加而增加 [27]。
这种强度的增加是由于使用了更高位的 AES 而增加了重复周期数(轮次)的结果。重复循环次数分别为10、12和14。AES采用置换置换网络结构,而以前广泛使用的DES是基于Fiestel网络。
不同的加密和解密过程使用相似的字节替换、移位行、混合列(第10轮除外)和添加轮密钥步骤。所有三个接受的 AES 版本都有非常相似的密钥表并使用大量子密钥,例如 128 位版本使用 11 个子密钥。大多数版本的 AES 使用 4 9 4 矩阵工作,这使密码具有非线性效应,因此有助于提高强度。完全暴力攻击是最快的记录攻击,因此 AES 算法相对安全。图 11 显示了 AES 的框图。
2.11 基于混沌映射的方案
Sam 等人 [28] 提出了一种与使用交织混沌映射的转换逻辑映射非常相似的技术。与前面讨论的算法类似,该技术也可用于灰度和彩色图像。该算法总共使用了九个密钥(六个随机密钥和三个用于排列的混沌密钥)、异或和信道混合操作。
图 12 显示了基于交织混沌映射的方案框图。
普通图像存储在 {Ri,j, Gi,j, Bi,j} 像素的二维数组中。其中,1 ≤ i ≤ H 和 1 ≤ j ≤ W,其中 H 和 W 表示普通图像的高度和宽度(以像素为单位)。
使用以下数学表达式生成密钥,其中初始值 X1,1、Y1,1 和 Z1,1 是用户输入的随机秘密浮点值。
l 值在 3.567 和 3.999 之间以实现混沌行为,并且使用三个浮点数(乘数 k1、k2、k3)来增加键值的随机性和均匀分布。
此过程生成用于加密过程的混沌值矩阵。初始排列用于引入混淆效应。 Scheme 排列图像中的像素,而不改变其值。其中 Xi,j 是第一个混沌键,R[i, j], G[i, j], B[i, j] 表示 plainimage 中的红、绿、蓝通道,CRi,j, CGi,j, CBi,j 表示置换图像的第 (i, j) 个像素。该方法使用 p1、p2、p3、p4、p5、p6 作为奇数随机值对图像进行置乱。
为了得到可逆排列,必须选择p1、p3、p5,使其与H互质,类似地,p2、p4、p6与W互质。需要注意的是,当图像的高度和宽度为偶数时,值 p1、p2、p3、p4、p5、p6 必须为奇数。
在字节替换中,状态的每个单独 RGB 像素字节通过使用 AES(高级加密标准)的 S-box 替换为新字节,用 LR、RR、LG、RG、LB、RB 表示。对于红色通道,执行字节替换,将 LR 视为行号,将 RR 视为 S-box 的列号。类似地,完成其他通道替换。结果值与第二个混沌密钥进行异或运算。
非线性扩散是通过 5 个最低有效位 (LSB) 循环移位方法获得的。使用流程图中描述的数学公式,结果值再次与所有红色、绿色和蓝色通道的第一个混沌密钥进行异或运算,其中 Xi,j 是第一个混沌密钥,CRi,j CGi,j, CBi,j 表示循环移位运算的结果值和 CSRi,j, CSGi,j, CSBi,j de 表示异或运算的非线性扩散图像。
下一步是次对角线扩散,它是在次对角线异或与第三个混沌密钥的帮助下获得的。过程如流程图所示,其中max为图像的最大尺寸,inR和outR为图像的输入和输出,IvR、IvG、IvB为每个通道的初始向量,也可以看作是一个8位的密钥。 Zi,j 是第三个混沌密钥。通过使用混沌密钥对第一和第二个像素进行异或来修改像素,通过使用密钥对修改后的第二个和第三个像素进行异或来修改第三个像素,并且该过程一直持续到图像结束。类似的过程适用于其他通道。该算法在关键空间分析、差异分析和统计分析等分析参数方面也表现出良好的一致性。
2.12 基于混沌函数的线性同余方案
François 等人 [29] 提出了一种对称密钥图像加密算法,旨在获得大密钥空间。开发该算法以针对相邻像素之间存在的相关性。
密钥间隔算法包括三轮变量R1、R2和R3。通过取三个中的最大值获得最大安全加密/解密过程的轮数。该算法利用基于线性同余的混沌函数进行加密和解密过程。
在加密过程中,图像最初被转换为二进制一维向量 I0 b(见流程图)。 {1,…,L} 中的伪随机种子 g 启动由以下混沌方程给出的递归关系。这个二进制向量用于找到初始二进制向量 (I0 b [i]) 的分量,其中 i 是向量 I0 b 中的当前位置,并在新的混沌位置 j = i 中构造第二个向量分量 I0 b [j] ? 1?Xi?1 使用下面的混沌方程。向量 I0 b 的元素被转换为 I0 b [i] = Z3 和 I0 b [j] = Z1
每个 3 × 8 的包收集矢量 I0 b 的位以形成密码图像 I1。这构成了使用种子 g 的密码算法的一轮步骤。一个完整的加密方案会产生一个密码图像 IR,其中 R 是用于加密纯图像 I0 的总轮数。
使用的混沌方程:Xn+1 = [ [ [ xn2] mod S ] x Xn + Xg] mod S 初始位置 X0 = g 和 Xg = g2,种子 g in(1,…,L) 和 L 是二进制大小图像 I0(例如,对于 256 级灰度图像,其二进制大小为 L = 8 × N × M,对于 RGB 彩色图像,L = 3 × 8 × N × M)。
解密算法的工作原理类似。该算法被证明对暴力攻击等攻击具有很强的抵抗力。图 13 显示了基于使用线性同余的混沌函数的方案框图。
2.13 基于混合变换Logistic映射的方案
Sam 等人 [30] 提出了一种基于变换逻辑映射的密码系统,可用于彩色像素的加密。该算法一共使用了9个密钥,其中6个记为奇秘钥,其余3个为混沌密钥,分别记为第一、第二和第三混沌映射。这些映射用于通过分别执行非线性扩散、异或和之字形过程来减少对已知/选择明文攻击的脆弱性。流程图的工作原理如下:
原图存储在一个二维数组中,{Ri,j, Gi,j, Bi,j}像素1 ≤ i ≤ H和1 ≤ j ≤ W,H和W分别代表原图的高和宽。
使用以下数学表达式生成密钥。 X1,1、Y1,1 和 Z1,1 是用户输入的随机秘密浮点值。 l 值在 3.567 和 3.999 之间以实现混沌行为,并使用三个浮点数(乘数 k1、k2、k3)增加键值的随机性和均匀分布。
这会生成一个用于加密过程的混沌值矩阵。
初始排列用于引入混淆效应。 Scheme 排列图像中的像素,而不改变其值。加密过程使用 128 位长的密钥。有六个随机奇数整数密钥(位于 0 到 256 之间)从密钥中获得。然后,使用流程图中指定的操作排列像素。
RGB 扩散是通过 4 位循环移位方法完成的,然后在移位值和第一个混沌键之间进行加法运算。结果值与第二个混沌密钥异或。 4 位循环移位、密钥加法和异或运算的组合使加密操作非线性,因此系统对已知/选择的明文攻击变得强大。流程图中规定了非线性扩散的过程,Xi,j 和 Yi,j 是第一和第二混沌密钥。
最后一步是 Zig-Zag 扩散。扩散是借助之字形异或与第三混沌密钥异或获得的。
通过引入在排列阶段获得的混淆效应和在像素值扩散阶段获得的扩散效应来增强密码安全性。该算法在包括键空间分析、差分分析和统计分析在内的各种分析中表现出良好的一致性。图 14 显示了基于混合变换逻辑映射的方案框图。
2.14 基于Peter De Jong混沌映射和RC4流密码的方案
Hanchinamani 和 Kulkarni [31] 提出了一种基于 Peter De Jong 混沌映射和 RC4 流密码的技术。这种加密基于三个步骤:置换、像素旋转和扩散。排列步骤打乱了行和列,然后是它们的交替循环。这是通过利用混沌地图实现的。在下一步中,使用M x N个伪随机数对所有像素值进行循环旋转。最后,对像素旋转图像应用前向和后向扩散。
六个值(X0;Y0;a;b;c;d)的键集被输入 Peter De Jong Chaotic map 以生成混沌序列,这些序列将用于排列、像素旋转和扩散步骤。开始时,生成的混沌值用作 RC4 生成伪随机数的密钥。在第一阶段,执行排列,其中行和列的位置被打乱,同时根据排序形式的混沌值(基于 PM0 和 PN0 序列)的位置在行和列的交替方向上引入圆形旋转是建议的。在第二阶段,每个单独的像素都使用伪随机数进行循环旋转。在最后一个阶段,进行两次扩散,其中以两种不同的方式扫描图像:首先,在交替方向上按行扫描,然后应用前向和后向扩散,然后以相同的方式在交替方向上按列扫描,然后向前扫描并应用反向扩散。该算法非常有效,只需使用两轮加密和解密过程即可获得高级别的安全性。它对暴力攻击、差分等攻击具有弹性。图15显示了基于混合变换逻辑映射的方案的加密和解密。
2.15 基于混沌映射的方案和Vigene`re方案
Bansal 等人 [32] 提出了一种密码系统,其中加密算法利用混沌映射和 Vigene`re 方案的组合。这种加密算法由扩散和混淆两个阶段组成。进一步地,扩散阶段包括三个步骤:前向扩散、匹配过程和后向扩散。为了增加加密的安全性,匹配过程基于Vigene`re方案。接下来,在混淆阶段,通过位置置换过程交换像素位置。该过程用于 RGB 图像的加密,其中图像的红色、绿色和蓝色分量在隔离通道中进行类似处理。
与其他混沌方案相比,该算法提供了非常低的时间复杂度,同时提供了 PSNR 和统一平均变化强度 (UACI) 等参数的可比值。
图 16 给出了基于混沌映射和 Vigene`re 方案的加密方案。现流程图说明如下:
密钥生成步骤涉及使用混沌函数生成混沌序列。这些序列将用于加密过程的后续步骤。在 Vigene`re Scheme 中,混沌序列用于生成用于扩散步骤的 Vigene`re 矩阵。在扩散步骤中,输入纯图像使用前向扩散、Vigene`re 和反向扩散进行扩散。现在,在此步骤之后,获得的扩散图像通过混淆步骤生成加密图像。
混沌映射使用键集(k1 到 k7)生成充当键的序列。使用Sine map生成两个序列,K1为初始值:sin_c,sin_d。在混淆过程中使用sin_c,在创建Vigene`re表和扩散过程中使用sin_d,都是1-d Vector。在sin_c中,取值范围在0到M-1之间,包含M个元素,sin_d取值范围在0-255之间,包含N个元素(图像大小:M 9 N 9 3)。 xlog_d用于红色扩散和Vigene`re表创建,而xlog_c用于红色混淆,对于绿色,ylog_d将以与xlog_d相同的方式执行,ylog_c与xlog_c相同,类似zlog_d和zlog_c在情况下蓝色的。 xlog_d& alike 的范围是 0–255,并且包含 M + N 个元素,xlog_c 和类似序列的 & 范围是 0 - (N - 1),包含 N 个元素。使用 Intertwining Logistic 图生成的所有序列都是 1-day Vector。
3. 仿真设置参数
3.1 设置参数
个人计算机被用来进行当前工作的模拟。图像、机器和初始参数规格在表 1 中提供。
3.2 使用的性能指标
3.2.1 视觉评估
对这三种类型的图像进行了视觉分析,以确定是否可以通过查看加密图像来提取任何信息。
3.2.2 统计分析
通过每个算法获得的加密图像分析像素之间存在的任何关系 [33]。这是通过如下所述计算直方图和相关性来完成的。
1. 直方图分析
图像的直方图是数字图像中像素强度值频率分布的图形表示。理想情况下,加密图像的直方图应该均匀分布,并且与原始图像的直方图没有相似性。需要适当的直方图分布,因为包括 AES 在内的许多技术都存在使用直方图进行密码分析的风险 [34、35]。
2. 相关性分析
加密后的图像相邻像素之间应该没有相关性。未经授权的用户可以使用存在的任何相关性来重新创建图像的一部分,或者更糟的是完整的原始图像本身。相关系数介于 - 1 和 + 1,其中极值分别显示出完美的负或正线性关系。系数值为零表示相邻像素值之间没有线性关系。在图像中,相邻像素之间的水平、垂直和对角线相关系数可以给出如下:cov(α,β)是原始图像和加密图像之间的协方差。 D(α) 是图像的方差。 E(α) 是图像像素值的平均值
3.2.3 差分攻击分析
差分攻击分析是在提供原始图像的像素或密钥值的微小变化(通常是单个位)后,为确定加密图像的变化而执行的测试。为了进行这种分析,原始图像和修改后的图像都使用相同的加密技术进行了加密。
一个重要参数是使用净像素变化率 (NPCR) 和统一平均强度变化 (UACI) 的加密技术的稳健性。
NPCR表示比较原始和像素修改后的纯图像时加密图像像素数的变化率。令 C1 和 C2 为原始图像和像素修改后的纯图像的密码图像。 NPCR 给出如下:
其中 H 和 W 是图像的高度和宽度。
D 是一个双极阵列,其大小等于图像 C1 和 C2。它只有 0 或 1 作为组件。 D(i, j) 为:
UACI 是普通图像和加密图像之间平均强度的差异。它被给出为:
其中 L 是表示相应红色、绿色和蓝色通道的位数。
3.2.4 键空间分析
密钥空间分析是定义加密方案抵御暴力攻击的可行性的重要参数 [24, 36]。为了做到这一点,密码应该有一个大的键间距组合。
3.2.5 关键灵敏度分析
密钥敏感性分析处理加密算法中使用的密钥的微小变化对加密图像的影响。分析是通过对两个加密图像进行逐像素比较来完成的,并由 NPCR 观察密钥值的微小变化(一位变化)。基于两个条件,加密方案将被认为是有效的:第一个条件指出,如果两个密钥在加密中独立使用以生成两个 37 Page 22 of 35 3D Res (2017) 8:37 单独的加密图像,则两个加密图像应该完全不同。第二个条件是,如果两个密钥独立地用于解密同一个加密图像,那么仅从原始密钥解密应该提供原始图像,而另一个不应该提供任何相关结果。
3.2.6 定量分析:图像增强
定量分析是对方案的图像增强进行比较。更高的图像增强将产生更小的失真。 PSNR 和熵指标用于本研究,定义如下:
1. 峰值信噪比(PSNR)分析
它是信号的最大功率分量与其中存在的噪声之间的比率。
对于它的计算,假设纯图像是信号,而加密图像被认为是噪声。通常,对数分贝刻度用于描述 PSNR,因为这种类型的刻度可用于广泛信号的紧凑表示。它在数学上给出为:
其中 MSE 是均方误差,是一个风险函数,即误差平方的平均值。 MSE 为:
其中 I 和 K 表示原始图像和加密图像的像素值,(i, j) 表示像素位置。 W 和 H 是图像的尺寸。
2.信息熵分析
信息熵表示给定数据中的随机性。它直接关系到图像的失真。在数学上,它被定义为
其中 n 表示符号总数,Si 是像素值,P(Si) 表示 Si 出现的概率。如果源提供总共 28 个符号,其中每个 S = (S1, S2, S3, …, S255) 具有相等的概率,则熵 H(S) = 8。
3.2.7 时间复杂度分析
时间复杂度是执行一组指令所花费的时间。它的手动近似可以通过使用集合中存在的全部基本可执行操作来完成,因为基本操作具有与之关联的固定时间量。这里,这个时间表示图像加密和解密的时间,由内置操作计算。时间复杂度取决于各种因素,例如系统配置和使用的图像。因此,表 1 中提到的参数在此过程中保持不变。
4. 结果
4.1 视觉评估
表 2 显示了在应用所研究的算法后对加密图像的视觉评估。可以看出,基于混沌的技术在加密图像中提供了对原始图像像素的高度置乱,并且无法从加密图像中直观地提取有关原始图像的信息。此外,通过应用传统技术获得的加密图像提供了显着变化的加扰量。可以观察到,随着原始图像尺寸的增加,加密图像中的失真量也会增加。因此,与较小尺寸的图像相比,传统技术的加密对于较大尺寸的图像在视觉上更可靠。
一些技术在这里也显示出变化。就像,在视觉密码技术中,加密图像是随机生成的共享,因此无论图像大小如何,视觉上都显得高度失真。另一方面,通过 Vigene`re 方案获得的加密图像揭示了有关原始图像的大量信息,因此在视觉评估方面不能被认为是有效的。
最后,所有方案都提供了与原始图像相似的解密图像,在保证安全性的情况下保证了解密图像的可靠性。
4.2 统计分析
1.直方图分析
表 2 还显示了原始图像、加密图像和解密图像的直方图。基于混沌方案加密的图像直方图分布均匀,与原始图像的直方图没有统计相似性。因此,这些技术对统计攻击提供了强大的抵抗力。与视觉分析类似,采用常规技术得到的加密图像的直方图虽然与原始图像的直方图没有相似之处,但其中一些具有尖峰并且分布不均匀。
这降低了它们对统计攻击的抵抗力。直方图在某些方案(如 RC4 和视觉)中分布更均匀,但对于许多其他方案,较大加密图像的直方图分布更均匀。
2.相关性分析
分析是利用普通图像和加密图像中的 10,000 个随机像素对进行的。
每个像素对包含一个随机选择的像素和一个与其相邻的像素。表 3 显示了所用原始图像的水平、垂直和对角线相关系数。
图 17、18 和 19 显示了原始图像的水平、垂直和对角线相关系数,以及应用各种研究算法后获得的加密图像。
可以看出,所有基于混沌的方案和一些传统技术(如 RC4 和视觉)为所有三个测试图像提供了非常低的相关系数值。它反映了这些方案对统计攻击的高抵抗力。
对于剩下的传统加密方案,大多数都显示出较高的水平或垂直相关值。这表示他们对统计攻击的抵抗力降低了。但是这些值仍然比原来的相关系数要小一些,从而在一定程度上保证了对统计攻击的安全性。随着图像尺寸的增加,也可以看到相关性较低的总体趋势,这支持了直方图观察到的均匀分布随尺寸增加的情况。这些表明随着图像大小的增加,对统计攻击的抵抗力也在增加。
表 4 提供了原始图像和加密图像的相关图。可以看出,原始图像的相关图分布高度不均匀。这些图集中在角落,有时也集中在中心线上,但在图表的其他区域则较少。这是测试图像在水平、垂直和对角线方向上的原始相关分布。
从所有使用的加密方案来看,Vigene`re 方案为加密图像提供了最大的相关性。这些图像的相关图仍然显示沿中心线的密度明显更高。这些图还包含与原始相关图没有直接关系的高密度补丁,但这些补丁结果表明相互关联并且不符合抵抗统计攻击所需的理想相关图的均匀分布特性。
对于其余的传统加密方案,加密图像的相关图被适当地分散并且分布更均匀。
有时,这些图中的水平相关性会出现高浓度的中心线,这表明与原始图像有轻微的相似性。因此,这些技术有一定的统计攻击风险。对于混沌加密方案,相关图分布高度均匀,不存在高密度区域,显示出对统计攻击的高抵抗力。
4.3 差分攻击分析
通过分别观察像素变化和密钥变化后得到的NPCR和UACI进行分析。表 5 和表 6 显示了针对不同图像获得的 NPCR 和 UACI 值,这些图像分别针对所研究的不同算法的像素和关键值的一位变化。可以看出,对于混沌方案中的单个像素变化,所有三个测试图像的 NPCR 和 UACI 值分别超过 99.4 和 33.2%。这些值非常高,这是因为这些算法中存在扩散阶段。即使原始图像中的单个像素发生变化,扩散阶段也可确保加密图像发生较大变化,即
扩散阶段使该过程对初始像素配置高度敏感。这使得混沌方案对差分攻击具有很强的抵抗力。
对于传统密码方案中的单个像素变化,获得了显着较小的 NPCR 和 UACI 值。在所使用的方案中,像 Vigene`re、Visual 和 RC4 这样的方案提供了最少的 NPCR 和 UACI 值。这显示了它们对差分攻击的脆弱性。另一方面,RC6 和 AES 等方案在传统方案中显示出最高的 NPCR 和 UACI 值。对于这些方案,NPCR 和 UACI 值都更高,其中 UACI 值比前面提到的方案增加了 1000 多倍。即使那样,这些值也明显小于混沌方案获得的值。它清楚地表明这些传统方案对差分攻击不是很有效。此外,随着图像大小的增加,可以观察到值的减少表明漏洞随着大小的增加而增加。
NPCR 和 UACI 的高值是最重要的安全标准之一。许多研究人员利用算法的漏洞为密码分析提供这些参数的较低值 [37、38]。
4.4 键空间分析
表 7 提供了正在研究的算法的密钥空间。可以清楚地看到,所有基于混沌的方案都具有足够大的密钥空间来抵抗暴力攻击。由于一些传统方案的密钥空间较小,因此它们容易受到这种最基本类型的攻击。像 Blowfish 这样的方案可以使用可变密钥大小,并且可以通过使用更大大小的密钥来增加比表中提到的更多的密钥空间。
4.5 键灵敏度分析
表 6 显示了一位密钥更改后的 NPCR 和 UACI 值,它表示所提供算法的密钥灵敏度。它表明,基于混沌的方案提供了非常高的 NPCR 值和 UACI 值,分别约为 99.6% 和 33.4%。高值表示它们的高键灵敏度。由于生成复杂而高效的密钥是传统密码方案创建者的主要关注点之一,因此在大多数这些方案中都可以看到非常高的 NPCR 和 UACI 值。这些值分别超过 99% 和 33%,对于像 Blowfish 这样的案例,可以观察到这些值分别高达 99.7% 和 33.9%。
很明显可以理解,由于visual的密钥生成是加密共享的形式,一般依赖于随机函数,因此该方案的密钥敏感性会很差。同样对于 Vigene`re,很明显密钥灵敏度响应较差,因为该方案中生成的密钥具有重复性,这是该方案的主要缺点之一。最后应该观察到,与像素灵敏度不同,密钥灵敏度分析取决于密钥生成而不依赖于输入图像,因此 NPCR 和 UACI 值不会随着纯图像的变化而剧烈变化。
4.6 定量分析
1. 峰值信噪比(PSNR)分析
图 20 显示了为三个测试图像获得的 PSNR 值。对于相同的测试图像,所有使用的方案都具有几乎相似的 PSNR 值。 128 9 128 测试图像的 PSNR 值是最高的,因此如其他性能参数所示,对于未经授权的用户来说,数据提取相对容易。
2.信息熵分析
图 21 显示了为普通图像和加密图像获得的熵值。可以看出,对于所有三个测试图像,几乎所有方案都提供了非常接近理想值 8 的熵值。该值代表了算法对熵攻击的抵抗力。虽然 128 9 128 测试图像用 Vigene`re 方案加密时该值要小得多,但该值明显高于 plain-test-image 的熵。
4.7 时间复杂度分析
图 22 显示了研究中使用的方案的时间复杂度。从图中可以看出,一些方案如TDES、RC6和方案11的时间复杂度相对较高,因此在手机处理器等处理能力受限的应用中与个人电脑或分布式计算处理器相比失去了优势。
5. 结论
当前的研究调查了十种常规和五种基于混沌的加密技术,以根据各种性能指标加密三个不同大小的测试图像。表 8 根据指标获得的结果总结了研究中使用的方案。它总结说,混沌加密方案提供了具有均匀直方图的非常高的视觉扰乱加密图像。此外,这些方案在所有三个方向上都提供了非常小的相关系数值。这些参数表明它们对统计攻击具有很高的抵抗力。
混沌方案对差分攻击也有很强的抵抗力。这是因为这些方案显示出高像素变化和关键变化敏感性。没有一个传统方案是专门为图像设计的,因此它们都不依赖于初始图像。因此,这些方案显示出较差的像素变化敏感性,因此当这些方案用于图像加密时,它们对差分攻击的抵抗力较低。
研究中使用的所有方案都显示出高信息熵值,因此确保没有明显的信息泄漏。同样,除 Vigene`re 外,所有加密方案都显示出相似的 PSNR 值。最后,时间复杂度是评估加密方案性能的最重要标准之一。像 AES 和 RC4 这样的传统方案以及像方案 15 这样的基于混沌的方案提供了非常低的时间复杂度,因此在计算能力或时间有限的情况下可能是有效的。