system: [SYSTEM]

user: 4. 仿真实验和性能分析 本文采用MatlabR2016a对本文提出的图像加密算法进行仿真实验，分别对彩色图Lena，Tiffany，Mandrill用本文提出的算法用密钥key进行加密，它们的图像尺寸均为512 × 512，其实验结果如图5， 图4. R通道加密流程图 图5. (a)~(h)分别对应Lena (a)，Tiffany (d)，Mandrill (g)的明文、密文图像和解密图像 从解密与加密图可以看出，所有密文呈现杂乱无章且无明显纹理，直观上说明我们的算法加密效果可行。 Key = [ x 0 = 1.751231 ; y 0 = 1.53262871 ; z 0 = 13.18344121 ; w 0 = 1.627362 ; L = 2000 ] 4.1. 统计分析 本节将通过直方图、相邻像素之间的相关性和信息熵这几个方面来评估算法抵抗统计攻击的能力。 4.1.1. 直方图分析 图像的直方图反映了一副图像像素值的分布情况，为了对抗统计分析的强力攻击，图像的直方图最好是接近完全一致分布的，且与原图的直方图相比具有显著差异，对一幅数字彩色图像，则可以将其红、绿、蓝三个通道各看作一幅特殊的灰度图像，用灰度图像的一维直方图方法去分析加密算法的性能，图6显示了 明文和密文的红、绿、蓝三个颜色通道的一维直方图。直观上可以看出，加密图像的直方图是接近完全一致分布的，且与原图具有显著差异，所以这个算法足够对抗统计分析的强力攻击。 4.1.2. 像素间的相关性分析 一般地，数字图像具有异于文本的一些固有特性如数据的高度冗余、相邻像素的相关性非常强等，攻击者往往利用这些特性对密文图像进行攻击，一个理想的图像加密算法应该产生在水平、垂直、正对角方向上的相邻像素点间相关性都比较弱的密文图像 [ 24 ] 。 设从需要考察的图像中任取N对相邻的像素点，记它们的灰度值 ( u i ， v i ) ， i = 1 ， 2 ， ⋯ ， N ，则向量 u = { u i } 和 v = { v i } 间的相邻系数计算公式如下： r x y = cov ( u ， v ) D ( u ) D ( v ) (5) 图6. (a)~(f)分别为Lena明文图像及其密文的红、绿、蓝颜色通道的直方图 cov ( u ， v ) = 1 N ∑ i = 1 N ( x i − E ( u ) ) ( y i − E ( v ) ) (6) D ( u ) = 1 N ∑ i = 1 N ( u i − E ( u ) ) 2 (7) E ( u ) = 1 N ∑ i = 1 N u i (8) 在实验分析中，我们将从明文Lena及其密图中分别随机选取5000对像素，如图7所示，明文在水平、垂直、对角方向上的相邻像素点对密集在y = x直线上，说明明文图像在各个方向上具有颇强的相关性，而密文图像在各个方向上的像素点对在整个平面中均匀散布着，说明密文图像在各个方向上相关性很弱。同时我们计算了Lena，Mandrill，Tiffany的相关性系数，结果显示在表1。两个独立不相关的序列的相关系系数理论值为0，实验结果表明明文图像相邻像素点的相关性比较高，而密文图像相邻像素点的相关性接近于0，近似无相关性。 4.1.3. 图像信息熵分析 信息熵是反映一个信息源的随机性和不可预测性的数学概念。对于数字图像来说，信息熵反映了图像信息的不确定性。假设一副图像有L种灰度值 m i ( i = 0 ， 1 ， 2 ， ⋯ ， L − 1 ) ，且各灰度值出现的概率分别为 p ( m i ) ( i = 0 ， 1 ， 2 ， ⋯ ， L − 1 ) ， 则根据Shannon定理，图像的信息量为： Table 1 The correlation coefficient between Plain image and its cipher-text in horizontal， vertical and diagonal directions， respectively 水平 垂直 对角 Lena 明文 0.9886 0.9780 0.9698 密文 −0.0150 −0.0077 −0.0118 Mandrill 明文 0.8493 0.9089 0.8278 密文 −0.0039 0.0086 −0.0127 Tiffany 明文 0.9741 0.9469 0.9324 密文 −0.0344 −0.0064 −0.0053 表1. 明文与其密文分别在水平、垂直和对角方向上的相关系数 图7. (a)，(b)，(c)分别为明文和密文在水平、垂直和对角方向像素的分布 H ( m ) = ∑ i = 0 L − 1 p ( m i ) log 2 p ( m i ) ，     ∑ i = 0 L − 1 p ( m i ) = 1 (9) 称H为图像的信息熵，当图像中各灰度值出现的概率相等时，图像的信息熵最大，信息熵表示一副图像所包含信息的多少，它可以度量灰度值的分布，对于理想的随机图像，其信息熵等于8 [ 14 ] ，本文分别计算了Lena，Mandrill，Tiffany的及其相应密文的信息熵，实验结果如表2，同时将数字彩色图像的红、绿、蓝三个颜色通道图像矩阵看作为灰度图像矩阵，分别计算Lena，Mandrill，Tiffany明文图像和密文图像每个颜色通道的信息熵值，如表3所示，由表2，表3数据所示，各个密文图像和其每个通道的信息熵均接近于理论值8，由此表明本文提出的加密系统的效果非常好。 4.2. 密钥空间 密钥空间是指所有合法密钥构成的集合，图像密码系统的密钥空间应该足够大，从而可以有效地对抗穷举攻击，特别是加密解密速度非常快的密码系统，密码长度至少应该为128b [ 14 ] ，本文所提出的加密系统有5个密钥： x 0 ， y 0 ， z 0 ， w 0 ， L ，设计算机精度为10 −16 ，图像大小为512 × 512， ，则整个密 钥空间至少约为: L = log 2 ( 10 16 ) 4 ≈ 213 b ，这个值远远大于128b，这意味着我们的算法能够经受得住暴力破解。 4.3. 密钥敏感性 为了保证系统的安全性，一个优良的加密系统必须对密钥极端敏感，即当使用不同的密钥对密码图像进行解密时，将得不到明文。在实验中，我们将用密钥key去加密Lena，得到密图，而用几个与key差别极其微小的密钥去解密密图，如果系统足够敏感的话，是无法得到明文的，图8展示了密钥敏感性测试，同时，表4展示了用key1~key5解密图与用key加密的密图之间的NPCR和UACI。 key = [ x 0 = 1.751231 ; y 0 = 1.53262871 ; z 0 = 13.18344121 ; w 0 = 1.627362 ; L = 2000 ] key1 = [ x 0 = 1.75123100000001 ; y 0 = 1.53262871 ; z 0 = 13.18344121 ; w 0 = 1.627362 ; L = 2000 ] key2 = [ x 0 = 1.751231 ; y 0 = 1.53262871000001 ; z 0 = 13.18344121 ; w 0 = 1.627362 ; L = 2000 ] key3 = [ x 0 = 1.751231 ; y 0 = 1.53262871 ; z 0 = 13.18344121000001 ; w 0 = 1.627362 ; L = 2000 ] key4 = [ x 0 = 1.751231 ; y 0 = 1.53262871 ; z 0 = 13.18344121 ; w 0 = 1.62736200000001 ; L = 2000 ] Table 2 The results of information entrop Lena Mandrill Tiffany 明文图像 7.7502 7.7624 6.4165 密文图像 7.9998 7.9997 7.9998 表2. 信息熵实验结果 Table 3 The information entropy of each color channel of different plain-texts and cipher-tex 红色通道 绿色通道 蓝色通道 明文Lena 7.2531 7.5940 6.9684 本文算法 7.9993 7.9994 7.9994 明文Tiffany 4.3372 6.6643 6.4288 本文算法 7.9993 7.9992 7.9993 明文Mandrill 7.7067 7.4744 7.7522 本文算法 7.9994 7.9993 7.9993 表3. 不同明文图像和分别对应本文算法得到密文图像的各颜色通道信息熵 图8. 加密敏感性测试：(a)~(f)分别为用key和key1~key 5去解密key所产生密文的明文 Table 4 The NPCR and UACI for decrypted image using different keys (Lena) (% key1 key2 key3 key4 key5 NPCR 99.5988 99.6180 99.6213 99.6105 99.6156 UACI 33.4960 33.4326 33.4761 33.4776 33.5060 表4. 用极小差别密钥解密的图片与密文的NPCR和UACI (%) key5 = [ x 0 = 1.751231 ; y 0 = 1.53262871 ; z 0 = 13.18344121 ; w 0 = 1.627362 ; L = 2001 ] 4.4. 差分分析 在图像加密系统中，差分分析指探究在相同加密密钥的条件下，密文图像会在多大程度上受明文图像的影响，攻击者通常通过选择明文分析或选择密文分析来实现差分攻击，为了测试加密系统对明文的极端敏感性，采用两个常用的度量：不同密文图像之间的像素改变率(number of pixels change rate， NPCR)和不同密文图像之间的一致改变强度(unified average changing intensity， UACI)，NPCR是用来比较两幅图像相应位置的像素点的值，记录不同的像素点个数占全部像素点的比例，而UACI则是比较两幅图像相应位置的像素点的值，记录它们的差值，然后计算全部相应位置像素点的差值与最大差值(即255)的比值的平均值。在数学上，它们定义如下： NPCR = 1 W × H ∑ i = 0 H ∑ j = 0 W D ( i ， j ) × 100 % (10) UACI = 1 W × H ∑ i = 0 H ∑ j = 0 W | c 1 ( i ， j ) − c 2 ( i ， j ) | 255 (11) D ( i ， j ) = { 0     if   c 1 ( i ， j ) = c 2 ( i ， j ) 1       if   c 1 ( i ， j ) ≠ c 2 ( i ， j ) (12) W ， H 分别是图像的行数和列数， c 1 ( i ， j ) ， c 2 ( i ， j ) 分别是对应需要被衡量的两幅图像，本文指用同一个密钥加密仅改变一个明文像素值的两幅密图。理论上来说两幅随机图像的NPCR，UACI理论期望值分别约为99.6094%，33.4635%，本文将用彩色图像Lena和Mandrill来完成差分实验，对于每一个实验图片，将随机选取1000个像素点，每次改变一个像素值，得到一个新的图像，然后用同样的密钥去加密两个相差仅一个像素的原密钥加密仅改变一个明文像素值的两幅密图。理论上来说两幅随机图像的NPCR，UACI理论期望值分别约为99.6094%，33.4635%，本文将用彩色图像Lena和Mandrill来完成差分实验，对于每一个实验图片，将随机选取1000个像素点，每次改变一个像素值，得到一个新的图像，然后用同样的密钥去加密两个相差仅一个像素的原图，实验数据结果呈现在表5，表6以及NPCR，UACI的曲线变化图如图9所示。期望值分别约为99.6094%，33.4635%，本文将用彩色图像Lena和Mandrill来完成差分实验，同时对于明文Lena图像的每个颜色通道，随机地选取的100个像素值，对每个灰度值仅随机改变1个像素值，然后用本文提出加密算法去加密改变前后的明文图像Lena，得到对应每个颜色通道的100个NPCR，UACI曲线变化图如图10所示，实验数据结果呈现在表7。实验结果表明，本文提出的算 Table 5 The NPCR results for different image (% 明文 最小值 最大值 平均值 Lena 99.5852 99.6283 99.6094 Mandrill 99.5883 99.6304 99.6098 表5. 不同明文的NPCR (%) Table 6 The UACI results for different image (% 明文 最小值 最大值 平均值 Lena 33.3672 33.5258 33.4606 Mandrill 33.3909 33.5423 33.4698 表6. 不同明文的UACI (%) Table 7 The maximum， minimum， and average values of the NPCR and UACI sequences between the corresponding cipher-texts before and after the Lena image changes (% 红色通道 绿色通道 蓝色通道 NPCR最大值 99.6349 99.6471 99.6429 NPCR最小值 99.5815 99.5853 99.5689 UACI最大值 33.5456 33.5912 33.5318 UACI最小值 33.3560 33.3750 33.3440 NPCR平均值 99.6091 99.6097 99.6103 UACI平均值 33.4612 33.4743 33.4406 表7. Lena图像改变前后对应密文之间的NPCR和UACI序列的最大值、最小值和平均值(%) 图9. 只改变一个像素值的1000张图片的NPCR和UICA，(a) NPCR，(b) UACI 图10. (a)~(c)和(d)~(f)分别是明文图像改变前后得到的密文之间的NPCR和UACI变化曲线 法所得的NPCR，UACI值极其地接近期望值，这表明本文算法达到一个优良的扩散性能，它对原文非常敏感。所以它能够抵抗差分攻击。