(论文) 第 11 页
11
密的且密码系统的安全
性完全依赖于密钥的保密性,这就是所谓的 Kerchhoff 原则,是现代密码体制设计的一个基本要求。 2.2 图像加密算法安全性分析指标
图像加密首先要保证攻击者在肉眼直接观察加密后的图像时,感官上觉得其就是一副类似伪随机的毫无意义的图像,提取不到任何有关明文的信息;其次攻击者利用各种密码分析方法进行攻击时仍难以得到任何有效的信息。下面介绍几个定量的指标,标志着图像加密系统的安全性能。 2.2.1 密钥空间和密钥敏感性分析
密钥空间分析要求密钥的空间应该足够大,能够有效地抵抗暴力攻击。密钥敏感性就是指若改变密钥的任一位可以引起密文几乎所有数据位的变化。其主要表现为以下两个方面:
① 取一系列十分相近的密钥对同一副图像加密,将加密后的图像相同位置的像素点的灰度值进行比较,任意两个加密图像之间的数据变化率平均达到 99.6%以上。
② 取一个与实际密钥很接近的密钥对用实际密钥加密后的图像进行解密,无法恢复出明文图像。 2.2.2 密文图像的直方图
按照随机过程理论,图像最重要的统计特征就是灰度密度函数,其与像素所在的位置有关,假设 p(z;x,y)是图像在点(x,y)处的灰度分布密度函数,公式 2.1 给出了图像的灰度密度函数:
(2.1)
其中 D 是图像的定义域,S 是区域 D 的面积。一般情况下,要精确地得到图像的灰度密度函数还是比较困难的,但图像的直方图作为图像灰度的统计特征,可以认为是图像灰度密度函数的近似。灰度直方图所表示的是数字图像所有像素值中每一灰度值的出现的次数,由于加密效果的评价标准之一就是要使密文图像的灰度直方图分布均匀,可以用公式 2.2 中
(论文) 第 12 页
12
得到地信息熵定量的表示:
(2.2)
其中 L 是图像的灰度级,p(mi)是第 i 的灰度级或者 mi的出现概率,假设一副图像的像素点总数为 N,具有第 i 灰度级的灰度值 mi在图像中出现次数 ni,则p(mi)的计算如公式 2.3:
(2.3)
根据定量公式计算得到的熵值越接近理论值 8,表明加密的效果越好。 2.2.3 相邻像素的相关性
相邻像素的相关性就是指图像相邻位置像素灰度值的相关程度,通常一副有意义图像的相邻像素具有很高的相关性,而加密后图像不同方向相邻像素对间的相关性在极大程度上被破坏,相关系数也都大大降低。所以加密后的类随机图像像素的相关性越小说明像素的置乱效果越好,越能抵抗统计分析攻击。为了分别测试两个在垂直方向,水平方向和对角方向相邻的像素的相关性,通常从被测试密文图像中随机选取 1000 组相邻的像素对,然后根据公式 2.4 计算每对的相关性特征。
(2.4)
其中x,y代表图像中两个相邻像素的灰度值,rxy代表两个相邻像素的相关系数。
(论文) 第 13 页
13
2.2.4 明文敏感性
一般情况下,攻击者可能对待加密图像做些轻微的变化(例如,只修改一个像素的灰度值),然后观察对应密文图像的变化。通过此方法也许能够找出明文图像和密文图像之间的某种有意义的关系。至于密码学中的扩散与混淆就是说,如果明文图像中一个小变化就会导致密文图像巨大的改变,那么差分攻击就会变得非常低效和无能为力了。
为了检测算法中明文的一个像素对整个密文图像所产生的影响,通常采用两种方法:像素个数改变的比率(NPCR)和像素灰度值的平均改变强度(UACI)。首先给出只有一个像素灰度值改变的明文图像所对应的两个不同密文图像 C1和 C2,位置(i,j)所对应的像素灰度值分别记为 C1(i,j)和 C2(i,j)。然后定义一个二值数组 D,数组大小由图像 C1或 C2决定,如果 C1(i,j)=C2(i,j),那么 D(i,j)=0;否则 D(i,j)=1。如公式 2.5 定义 NPCR 为:
(2.5)
其中 W 和 H 是密文图像 C1或 C2的宽度和高度,NPCR 记录的是两幅密文图像不同像素个数的百分比,另外,如公式 2.6 定义 UACI 为:
(2.6)
UACI 记录的是两幅图像差别的平均强度。在理想情况下计算的 UPCR 和UACI 应分别在 0.996 和 0.334 附近波动。
2.3 现有图像保密加密技术分析由于图像很多独特的特点使其与文本不同,如果直接采用传统的为文本加密设计的加密方法来对图像加密,并不能保证图像的安全性。特别加密那些冗余度比较高的图像,加密后仍然可以看出原始图像的主要轮廓如图 2.1:
(论文) 第 14 页
14
2.1
近年来很多针对图像特点提出的图像保密加密技术大多是对图像的像素点进行位置置乱,像素替换或者两者的结合。
① 位置置乱主要就是利用某种扫描技术、矩阵变换和混沌映射改变图像中像素点的位置,但这种操作并没有改变图像的灰度统计特性,最后明文图像和密文图像具有完全相同的灰度直方图,这样就难以抵御基于统计信息的攻击。
② 像素替换主要是将混沌序列作为密钥和图像每个像素执行逐位的异或操作,但单纯地只进行像素异或很难抵御已知或选择明文攻击,常用的技术就是将图像中前一个像素密文与当前的像素明文结合产生当前像素的密文。
③ 两者结合进行加密设计时如果两个操作过程联系紧密,耦合性高,则使攻击者很难分离出单个操作过程进行攻击,保证系统安全性和技术结合的有效性。但若置乱和替换两个操作过程只存在时间上的先后关系,那么攻击者就可以将两个过程分开进行攻击,下面将对常用的加密技术进行分析。
2.3.1 矩阵变换分析
矩阵变换是一种运用比较广泛的图像加密技术,其基本思想就是通过有限次数的矩阵变换尽可能地打乱图像像素点的位置,使图像变得无法辨认从而达到图像加密的目的,如 Arnold 变换、Baker 变换、幻方变换等,下面主要针对 Arnold变换分析矩阵变换存在的缺陷。Arnold 变换是 Arnold 在研究遍历理论是提出的一种非线性变换,因常用一张猫脸图
(论文) 第 15 页
15
像做仿真实验而得名猫映射。由图 2.2 可以看出,Arnold 变换可以看作是拉伸、压缩、折叠及拼接的操作过程,这样可以将图像矩阵中的像素点位置进行重新排列。
2.2
Arnold 猫映射最初的形式如公式 2.7 为:
(2.7)
该映射是一个 2-D 保面积的可逆混沌映射,将 Anorld 映射用于图像加密,需要将其离散化并引入两个控制参数 a,b,如公式 2.8 所示:
(2.8)
由于图像的像素点数是个有限集,在反复进行 Arnold 变换的开始阶段,可以使图像的像素点排列出现相当程度的混乱。但动力系统其特有的庞加莱恢复特性,使得在变换进行到一定的轮数后会重现原始图像,呈现周期性,从而使加密算法的安全性受到威胁。同样地,其他矩阵变换也有类似的缺点,对此研究学者讨论了平面上 Arnold 变换的周期性并把 2-DArnold 变换推广到 3-D 空间并离散化,即分别固定 x,y,z 依次在