本文提出一种基于改进标准映射的图像加密算法。首先,针对标准映射用于图像置乱加密时的密钥空间小等不足,通过引进变量的非线性项和含参量的线性组合对标准映射进行改进。改进标准映射的相位空间图、Lyapunov指数、时间序列测试均表明了改进标准映射具有良好的随机性能。同时,利用改进标准映射设计了一种新的灰度图像加密算法,在置换阶段,采用改进的标准映射实现置乱得到较好的置乱效果;在扩散阶段,采用动态反馈方式的机制使得扩散过程有很好的扩散加密效果。最后,本文还提出了与本文灰度图像加密算法相关的性能分析,包括密钥空间分析、密钥敏感性分析、统计分析等,所有的仿真实验均表明,本文提出的加密算法对各种已知攻击具有非常强的鲁棒性,并且具有密钥空间大、密钥敏感性强、可抵抗统计分析攻击、蛮力攻击、差分攻击、已知明文和选择明文攻击等优良特性。 This paper proposes an image encryption algorithm based on improved standard mapping. The standard mapping is improved by introducing the nonlinear term of the variables and the linear combination of the parameters. The phase space diagram, Lyapunov exponent and time series tests of the improved standard mapping show that improved standard mapping has good random performance. A new gray image encryption algorithm is then designed using the improved standard mapping. In the permutation stage, the improved standard map is applied to disorder the pixels positions to achieve good scrambling effect. In the diffusion stage, the mechanism of dynamic feedback is used to make the diffusion process have fair diffusion and encryption effect. Finally, the performance analysis is carried out, including key space analysis, key sensitivity analysis, statistical analysis, etc. Simulation experiments show that the encryption algorithm proposed has a large key space, strong key sensitivity, strong robustness against statistical analysis attack, brute force attack, differential analysis attack, and chosen\known plaintext attacks, etc.
陈裕城,叶瑞松
汕头大学数学系,广东 汕头
收稿日期:2017年7月24日;录用日期:2017年8月6日;发布日期:2017年8月14日
本文提出一种基于改进标准映射的图像加密算法。首先,针对标准映射用于图像置乱加密时的密钥空间小等不足,通过引进变量的非线性项和含参量的线性组合对标准映射进行改进。改进标准映射的相位空间图、Lyapunov指数、时间序列测试均表明了改进标准映射具有良好的随机性能。同时,利用改进标准映射设计了一种新的灰度图像加密算法,在置换阶段,采用改进的标准映射实现置乱得到较好的置乱效果;在扩散阶段,采用动态反馈方式的机制使得扩散过程有很好的扩散加密效果。最后,本文还提出了与本文灰度图像加密算法相关的性能分析,包括密钥空间分析、密钥敏感性分析、统计分析等,所有的仿真实验均表明,本文提出的加密算法对各种已知攻击具有非常强的鲁棒性,并且具有密钥空间大、密钥敏感性强、可抵抗统计分析攻击、蛮力攻击、差分攻击、已知明文和选择明文攻击等优良特性。
关键词 :标准映射,混沌,图像加密
Copyright © 2017 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
进入21世纪以来,随着网络通信技术和多媒体技术的快速发展,人们的生活方式发生了天翻地覆的变化,从古时候只能通过书信来交流各种各样的重要信息到现在只需按下发送键就可以轻松地与他人交流。知乎等新兴社交媒体的出现,更是极大地丰富了我们学习知识和交流思想的方式。与此同时,也隐含了许许多多的信息安全隐患,一些不法分子通过恶意攻击等手段获取我们的个人敏感信息来做违法的事情。近几年来,无论国际还是国内报道的有关信息泄漏或被非法窃取的事件是多如牛毛,比如美国‘棱镜门’事件 [
混沌,大自然中具有确定性规律的伪随机状态的描述,是指发生在确定性系统中貌似随机的不规则运动 [
自从1989年英国学者Matthews将混沌理论引入图像加密的研究中 [
文献 [
本文的结构如下,在第1节我们简单地介绍标准映射及其改进,首先,通过标准映射的空间相位图等探讨一些动力学性质,然后对标准映射进行改进并分析其动力学性质,最后比较标准映射和改进标准映射在图像置乱的效果;第2节提出基于改进标准映射的灰度图像加密算法;提出加密算法的仿真实验和加密性能分析放在第3节,最后在第4节给出本文总结。
在混沌动力学理论中,有一类映射称为标准映射,又称Chirikov标准映射,它是一种从边长为
这里
标准映射是对称的并且退化能产生某些特殊的特性,如当参数
为了使用标准映射对图像进行置乱加密,文献 [
这里
由式子(2)易知,若我们把离散化的标准映射(2)应用到明文图像像素的位置置乱,依据混沌加密的特点,通常我们把初值和参数设为加密系统的密钥,但在这里只有一个参数
这里
图1. (a)~(d)分别为标准映射取参数k = 0.6, 0.971635, 1, 5的相位空间图
下面就改进标准映射(3)的相位空间图、Lyapunov指数谱曲线、时间序列测试和图像置乱效果来说明本文提出改进方法的有效性。
一个系统的空间相位图直观地显示了其动力学行为演化的过程,在图2,我们比较了标准映射和改进标准映射的相图,图2(a)是标准映射参数取
指数是指在相位空间中相互靠近的两条轨道随着时间的推移,轨道之间按指数分离或聚合的平均变化率。在实际应用中,混沌系统的最大Lyapunov指数具有重要的意义,而且其计算容易在计算机上实现。在图3我们分别画出了标准映射(0Std, Original Standard Mapping)和改进标准映射(IStd, Improved Standard Mapping)的Lyapunov指数谱曲线图,即取定初值和其中一个参数,控制另外一个参数变化得到相应的Lyapunov指数。从曲线图我们看到,标准映射和改进标准映射的Lyapunov指数均有一个大于0,另一个小于0,并且随着参数的不断增大,两者Lyapunov指数的绝对值也越来越大。我们选取
图2. (a), (b)分别为标准映射和改进标准映射在相同初值条件下的相位空间图
图3. (a)~(c)分别为标准映射和改进标准映射不同参数的Lyapunov指数曲线图
相同的初值,不同的1000个参数值对应有1000个不同的Lyapunov指数值,求得标准映射和改进标准映射的最大Lyapunov指数平均值分别为:
时间序列分析是对时间序列进行统计分析,即对某件事件大量的已有的时间序列数据,用数学的方法进行研究分析,寻找其变化规律,从而可以对未来的情况进行预测、决策和控制。在本论文中,为了更进一步说明改进的标准映射具有较好的随机性质,我们测试了改进标准映射产生时间序列的相关性,其中自相关性系数和互相关系数是两个主要的度量指标。对于两个随机时间序列
这里
类似于标准映射(1)的离散方式,我们可以对改进标准映射(3)进行离散化,其离散化的数学公式表达式如下:
图4. (a), (b)分别是改进标准映射的x, y时间序列
图5. (a)~(c)分别为改进标准映射产生时间序列的自相关性和互相关性测试结果
这里
图6,图7分别显示了离散化的标准映射(2)与离散化的改进标准映射(7)对大小为
图6. (a)~(d)分别对应明文和用标准映射置乱1, 2, 3轮的置乱图像
图7. (a)~(d)分别对应明文和用改进标准映射置乱1, 2, 3轮的置乱图像
基于以上的结果和分析,我们在这一节设计一种基于改进标准映射的灰度图像加密算法。这个算法采用传统的置乱–扩散结构。在置乱阶段,利用离散化的改进标准映射(7)对明文图像进行像素位置的置乱,我们提出的算法只需置乱3次就可达到杂乱无章且没有纹理的置乱图;在像素扩散阶段,采用动态反馈的扩散方式,利用已经加密的密文和由改进标准映射产生密钥去加密置乱后的图像像素灰度值,进而使加密效果更优。在这个算法中,我们选取明文图像像素的SHA256哈希函数值作为加密系统密钥的一部分,如果明文的像素改变很微小甚至1比特值,均会引起完全不同的明文SHA256哈希值,这也就说明了我们的密钥对明文是极端敏感的,同时也使得我们的加密算法能够很好的抵御明文攻击和差分攻击。不失一般性,我们不妨记明文图像为I,且其大小为
Step 1. 读入明文,输入密钥。读入明文图像I,并记
Step 2. 计算防止出现
Step 3. 利用离散化改进标准映射(7)对明文灰度图像像素的位置进行置乱iter次,置乱后的图像矩阵记为I1。
Step 4. 利用公式(10), (11)计算改进标准映射(3)式的初值
Step 5. 计算改进标准映射的两个新参数
Step 6. 以
Step 7. 利用Step 6生成的两个随机序列产生3个密钥流,记为key 1, key 2, key 3。其计算公式如下(15), (16), (17)式:
Step 8. 将置乱后的图像矩阵I1重新排成一个一维向量I2。依据以下(18)式从上到下,从左到右的顺序排成一行,同时利用(19)式计算除了I2第一项以外的所有元素的和,记为
Step 9. 计算用来加密置乱后I2的第1个元素的密钥
Step 10. 加密置乱后图像I2的第1个元素。即是对向量I2的第1个元素进行扩散产生最后的密文I3的第1项。扩散公式(22)如下:
Step 11. 设置
Step 12. 采用Step 11产生的
Step 13. 对置乱后图像I2的最后一个像素加密。首先利用式(26)计算类似Step 12的指数,然后用式(27)对I2的最后一个像素进行加密。然后把I3拉成一个新的2维矩阵I4,即为我们的最终加密密文。
以上加密过程中
图8. 基于改进标准映射的加密算法流程图
图9. 基于改进标准映射的解密算法流程图
在这一部分,我们采用MATLABR2014a软件对本文提出的基于改进标准映射的灰度图像加密算法进行仿真实验。所有的实验均在同一台个人电脑上实现与执行,电脑的主要硬件环境如下:处理器:Intel(R)Core(TM) i7-5500CPU@2.40 GHz 2.39 GHz,安装内存:4.00 GB;运行系统:Windows 8.1中文版。另外,本文所有的实验图像均来自文献 [
一个加密算法鲁棒性强弱的一个重要度量是加密系统抵抗攻击者从密文图像中获取任何有关于明文图像信息的能力大小。一个鲁棒性强的算法还应该能够抵抗绝大多数的已知攻击,比如已知明文或选择明文攻击、选择密文攻击和各种蛮力攻击等。为了检验本文提出算法的鲁棒性强弱,对于图像加密算法的重要安全分析如密钥空间分析、统计分析和密钥敏感性分析等,均在这一小节讨论。
一个图像加解密算法的密钥空间是指能够用在加解密算法过程中密钥的所有可能取值的总和。如果一个算法的密钥空间足够大,很多非法攻击如暴力攻击等将会变得不可实现,从今天的计算机的计算精度来看,对于普通加密的实际应用中,大于128 bit的密钥空间一般被认为是安全的 [
图10. (a)~(i)分别对应图像Lena (a), Elaine (d), Man (g)的明文、密文和解密图像
时,那么
一幅图像的灰度直方图是表示一幅图像灰度分布的统计图表 [
一维灰度直方图采用灰度级出现次数统计的均匀性来评价图像加密的效果,有时会难以看清具体的像素分布,因为在一维直方图中,失去了图像本身具有像素空间位置信息,即二维特征,一幅图像对应一个直方图,但一个直方图并不一定只对应一幅图像。所以,引入像素与其相邻像素所对联合空间统计量,即共生直方图,来更好的对图像加密算法的分析,在图12分别画出了明文图像Lena与其对应本文
图11. (a)~(b)分别对应Lena图像和密文的直方图
图12. (a)~(b)分别对应 图像和密文的共生直方图
算法得到的密文图像的共生直方图。从图中我们可以观察到,密文图像的共生直方图分布显得更均匀,攻击者不能够从密文的共生直方图得到任何有关明文图像的信息,而明文图像则明显波动起伏大,这更说明了本文提出算法有非常好的的鲁棒性。
在1949年,Shannon [
这里
对于一幅有有限视觉内容的自然图像,每个像素无论是在水平方向、垂直方向还是在对角方向都与其相邻的像素高度相关。一个理想的图像加密算法应该产生在各个方向上的相邻像素相关性都很弱的密文图像。为了量化和比较在明文和密文像素在水平、垂直与对角方向的相关性,我们从明文Lena和其对应应用本文提出算法加密的密文中随机地分别选取三个不同方向5000对像素,我们通过式(29)来计算随机选取的两个像素序列的相关性,表2列举出了不同方向像素相关系数的计算结果,在图13画出了从明文和密文选取的像素点分布。我们从表2可以看到,明文图像无论在水平方向、垂直方向还是在对角方向明文图像的相关系数都接近于理想值1,而经过本文提出算法加密后的密文则显得其相关性系数很小,几乎为0。另一方面,我们观察图13易知,明文的像素点呈现线性分布,而明文图像像素点则显得杂乱
Lena | Elaine | Man | |
---|---|---|---|
明文图像 | 7.5683 | 7.5060 | 7.5237 |
密文图像 | 7.9967 | 7.9994 | 7.9998 |
文献 [ | 7.9972 | 7.9992 | 7.9998 |
表1. 不同明文图像和对应不同加密算法密文图像的信息熵
水平方向 | 垂直方向 | 对角方向 | |
---|---|---|---|
明文图像 | 0.9364 | 0.9697 | 0.9147 |
密文图像 | −0.0028 | −0.0066 | 0.0245 |
表2. Lena与其密文分别在水平、垂直和对角方向上的相关系数
图13. (a)~(c), (d)~(f)分别为Lena和密文在水平、垂直和对角方向像素的分布
无章的无序状态,所以本文提出的算法成功地消除了明文相邻像素相关性,从而本文算法对于统计分析是强鲁棒的。
这里
对于一个有效的图像加密算法,密文图像与明文图像应该有很大的不同,而且密文应该是对明文图像的较低矫正,在这里,我们通过计算二维相关系数来分析明文A和密文B的之间的关系,二维相关系数的数学计算公式如(30)示,我们计算了不同大小的明文(Lena, Elaine, Man)和它们对应的用本文提出算法加密密文的二维相关系数,结果如表3所示,从表3易知,不同明文图像与对应密文图像的相关性很小,几乎等于0,这就说明的密文是与明文彼此的相关性非常的弱,存在很大的差别,呈现随机性分布,从而反映本文提出加密算法的有效性。
图像 | Lena | Elaine | Man |
---|---|---|---|
相关系数 | 0.0019 | 2.7437e−04 | 5.7784e−05 |
表3. 明文与密文的相关性系数
在这里
在某种程度上使一个加密算法抵抗蛮力攻击的一个重要保证是加密系统对密钥极端敏感。一个加密系统的密钥敏感性一般通过两方面来考察,一方面,由提出加密算法加密的密文图像应该极端敏感于密钥,就是说,如果我们用两个差别很微小的密钥加密同一明文,那么相应密钥产生的密文应该完全不依赖于明文或者是他们之间的相关性可以忽略,即他们之间的差别应该非常大。另一方面,尽管在加密和解密过程的密钥相差非常的微小,但不能够用解密算法来解得加密明文。在我们提出的算法中,密钥组成为
图像加密算法的差分加密分析是研究在相同加密密钥的条件下明文图像的改变会在多大程度上能够影响密文图像,攻击者通常通过选择明文分析或选择密文分析来实现。对于一个图像加密系统来说,实现差分分析的一般做法是仅改变明文图像像素的微小变化(通常是1 bit或1个单位像素值),然后比较在同一密钥条件下分别对明文图像和改变的明文图像进行加密得到两个密文图像,如果在明文图像和密文图像之间我们能够找到一些有利于确定加密密钥的信息,那么这样的分析就说明加密算法的鲁棒性很弱,反之,如果我们仅改变明文图像1 bit的变化,加密算法就能够产生有意义、随机且不可预测的密文
图14. 加密敏感性测试: (a), (c), (e), (g), (i)分别为Key 1~Key 5应用本文提出算法加密结果; (b), (d), (f), (h), (j)分别为(a), (c), (e), (g), (i)与密钥Key产生的密文之间的差别
Key 1 | Key 2 | Key 3 | Key 4 | Key 5 | |
---|---|---|---|---|---|
Key | −0.0016 | 0.0076 | 0.0043 | −0.0037 | 0.0026 |
表4. 不同密钥产生的不同密文之间的相关性系数
注:表中Key表示用密钥Key应用本文提出算法得到的密文图像,其余类似。
Key 1 | Key 2 | Key 3 | Key 4 | Key 5 | |
---|---|---|---|---|---|
Key | 9.7960e−04 | −0.0266 | 0.0036 | 0.0031 | −0.0024 |
表5. 不同密钥解密生成的明文之间的相关性系数
注:表中Key表示用密钥Key应用本文提出算法得到的解密图像,其余类似。
图15. (a)~(f)分别为用Key和Key 1~Key 5去解密Key所产生密文的明文
图像变化,这样的加密算法会使得差分分析不能够获取任何有关明文或密钥的信息,即差分分析无效。为了测试提出的图像加密算法抵抗差分分析的鲁棒性强弱,采用两个常用的度量:不同密文图像之间的像素改变率(number of piexls change rate, NPCR)和不同密文图像之间的一致改变强度(unified average changing intensity, UACI),它们的数学公式定义如下:
这里
对于一个灰度图像来说,我们容易计算得到NPCR, UACI的理想估计值分别为99.6094%, 33.4636%。在本文提出的图像加密算法中,我们随机的选取明文图像的500个像素值,对每个灰度值仅随机改变1 bit像素值,然后我们用本文提出加密算法去加密改变前后的明文图像Lena,得到500个NPCR, UACI值,
图16. (a)~(b)分别为NPCR和UACI曲线图
它们的曲线变化图如图16所示,我们可以观察到NPCR, UACI值均在理想值上下波动,这500个NPCR,UACI的均值99.6195%, 33.4567%,很明显,这些值是非常接近理想估计值的,于是,我们提出的算法对差分分析是强鲁棒性的。
本文提出了基于改进标准映射的灰度图像加密算法。首先,对运用以往标准映射进行加密的图像加密算法比较发现,标准映射的参数空间很小和计算复杂性相对简单,于是对标准映射进行改进,增加了变量的非线性项和含参数的线性组合,以增加映射的参数空间,我们对改进标准映射进行了相位空间图、Lyapunov指数、时间序列的分析,分析结果表明,改进标准映射具有较好的混沌特性,即伪随机性、遍历性等。然后利用改进的标准映射设计了一种对灰度图像进行加密的算法,在加密的扩散阶段采用了动态反馈模式机制。最后我们对本文提出的灰度图像加密算法进行了各种各样的性能分析,包括密钥分析、密钥敏感性分析、统计分析等,所有的性能分析显示,本文提出的灰度图像加密算法具有较强的鲁棒性,非常适合实时数字图像加密。
陈裕城,叶瑞松. 基于改进标准映射的图像加密算法 A Novel Image Encryption Algorithm Based on Improved Standard Mapping[J]. 计算机科学与应用, 2017, 07(08): 753-773. http://dx.doi.org/10.12677/CSA.2017.78087