基于Frobenius标准形的Arnold变换图像加密算法
2022-09-20杜思克张爱华
杜思克,张爱华
(南京邮电大学理学院,江苏 南京 210023)
在如今以计算机技术为基础的信息化社会,快速兴起的信息网络导致信息内容大量增加,随之而来,用户的数据安全问题受到极大挑战,因此如何保护用户的隐私成为一个关键问题[1]。图像作为重要的信息传输渠道备受关注,置乱算法以其使用的灵活性及加解密的高效性,在图像加密中得到重要应用,其中Arnold变换、幻方置乱及面包师变换等是比较常用的图像置乱算法[2]。此外,混沌系统,如Logistic映射等,以其极强的初始参数敏感性,亦在图像加密中得到广泛应用[3-4]。
近年来,研究者们提出了大量图像加密的方法,文献[5]提出了基于对合矩阵、矩阵分解和信息隐藏的复合加密算法,利用对合矩阵对原始图像进行加密,将加密图像分解成若干低像素值的图像后分别隐藏到公开的信息中,但直接使用一次对合阵加密的效果不够理想,如要取得较好的加密效果,其计算过程较为繁琐。文献[6]提出将Arnold变换结合到骑士巡游算法中,提高了安全性,然而时间复杂度较高且没有进行相关的抗干扰性测试。文献[7]提出了基于矩阵分解的图像加密算法,采用了独立成分分析(ICA)和非负矩阵分解(NMF)两种分解技术,获得了较低的相关性且计算复杂度不高,但该算法并未改变像素矩阵的像素值,像素分布特征未得到隐藏。文献[8]引入量子混沌,设计了一种利用量子混沌实现比特置乱的方案,具有较好的抗攻击性,但由于比特置乱算法本身较大的计算量,导致效率不高。文献[9]将Arnold变换与混沌现象结合,利用混沌伪随机序列动态选取Arnold变换的参数,使其能利用多种Arnold变换矩阵,具有良好的加密性能,但多种变换矩阵的使用也一定程度上使加密过程复杂化。综上所述,本文提出了一种基于Frobenius标准形的Arnold变换图像加密算法。
1 相关知识背景
1.1 Frobenius标准形
矩阵相似特别是相似对角化在矩阵论中有着重要的作用,但对角化的要求较高,导致实际应用中的矩阵很难满足条件,因此具有一定的局限性。而一些准对角阵形式上虽然不如对角形式简洁,但条件要求较弱,在实际中有更大的应用前景,如Frobenius标准形。
1.2 Arnold变换
Arnold变换又称猫脸变换,是一种常用的图像置乱技术,其特点是置乱可逆,具有周期性[11]。Arnold变换要求图像为正方形以保证其周期性:经过一定次数的变换后能还原原始图像。Arnold变换分为狭义变换和广义变换,其区别是狭义变换不设置初始参数,变换形式固定,不灵活,因此图像置乱常使用广义Arnold变换
式中: (x,y)、(x′,y′) 分别为置乱前后的像素点坐标,(a,b)为初始参数,N为正方形图像的边长。还原图像利用其逆变换即式(6)变换相同次数即可。
2 Frobenius标准形加密结合Arnold变换
分别对每一个二阶方阵进行式(9)的变换
即完成了Frobenius标准形对像素矩阵加密的预处理,其次利用Arnold变换设置初始参数(a,b)对其进行置乱。
关于解密过程,Arnold变换解密即其逆运算,在此不再赘述。Frobenius标准形的解密形式,以加密后矩阵的一个二阶方阵为例,有
最后对分块后的所有二阶方阵重复上述过程即完成解密。
3 实验与分析
为分析和验证本文算法的有效性,选取了Lena、Aerial和Peppers三副图像进行实验,实验环境为Windows8系统,Core i5-3320M,4 GB内存,用MATLAB进行仿真。
3.1 直观加密效果
视觉效果是评价图像加密算法好坏的直观方法。图1、图2和图3分别是3副图像经本文算法加密的效果。算法中使用的Arnold变换初始参数设置为a=3,b=3,置乱次数设置为100次。
图1 Lena加解密视觉效果
图2 Aerial加解密视觉效果
图3 Peppers加解密视觉效果
可以看出3副图像的视觉加密效果均良好。
3.2 相关系数计算结果
相邻像素间的相关系数可以反映图像像素的相关程度,相关性越小表明加密效果越好,一个好的图像加密算法应使加密图像各个方向上的相关系数均接近于0[12]。相关系数的计算公式为
阿诺德变换的置乱次数均设置为100次,初始参数取两次:a=1,b=2和a=500,b=1000,结果分别如表1和表2所示。
表1 a=1,b=2的相关系数计算结果
表2 a=500,b=1 000的相关系数计算结果
表1、表2的结果表明Arnold变换的加密图像相关系数结果较不理想,大部分均在0.1以上,而本文算法显著降低了加密图像的相关性。与此同时,纵向对比初始参数大小差异较大的Arnold变换,计算结果表明选取较大的初始参数可以一定程度缓解Arnold变换相关系数不理想的问题。
此外,表3是本文算法与一些其他常见图像加密算法以及文献[13]、文献[14]算法的相关性计算结果对比,结果表明本文加密图像的相关性更低,对加密图像的相关性破坏更大。
表3 相关系数结果对比
3.3 计算效率分析
加密过程的复杂化能提升加密效果,然而可能会以牺牲计算效率为代价,表4、表5是本文算法与原算法计算效率的对比结果。以Lena图像为例,取3次计时数据及其平均值,其次选取大小差异较大的两组Arnold变换初始参数,验证初始参数大小对计算效率的影响。
表4 加解密所需时间对比(a=1,b=2) s
表5 加解密所需时间对比(a=500,b=1 000) s
可以看到,本文算法在取得了较原算法更好加密效果的同时,几乎没有增加计算时间。其次,纵向对比表4、表5的计算时间,可以发现较大的初始参数会明显增加计算时间,其所需计算时间会成倍增加。
上述分析表明,Arnold变换能通过选取较大的初始参数来降低加密图像的相关性,然而降低效果不明显且会显著增加计算时间。与之不同,本文算法在初始参数较小时即能取得良好的加密效果。
3.4 抗干扰性分析
为测试加密图像的抗干扰性,对加密图像进行剪切攻击,并与文献[15]进行对比,剪切大小依照文献[15]的操作定量对比,分别为左上角16×16、32×32及右上角 64×64,图 4是文献[15]的测试结果,图5是本文算法测试结果。
图4、图5测试结果表明,文献[15]算法具有一定的抗干扰能力,然而在增大剪切面积后效果不够理想,本文算法在剪切面积增加后,虽然图像上有噪点,然而整幅图像人物依然清晰可见,表明本文算法具有更强的抗干扰能力。
图4 文献[15]抗干扰测试结果
图5 本文算法抗干扰测试结果
3.5 像素分布直方图
直方图可以很好地反映图像的像素值分布特征。如图6所示,Arnold变换的像素点置乱并未改变像素值,因此不能隐藏像素值分布特征[16]。而本文算法使原算法在像素分布特征上亦得到了一定程度的隐藏。
图6 像素分布直方图
图6结果表明,Arnold变换的加密图像像素分布直方图与原图像没有区别,像素分布特征无法隐藏,而本文算法像素值分布比较均匀。
4 结束语
本文从Frobenius标准形出发,首先推导以二阶方阵为单位进行分块的Frobenius图像加密算法。与此同时,针对Arnold变换相关系数不理想的问题,通过Frobenius标准形对像素矩阵进行加密预处理,然后利用Arnold变换进行像素点置乱。实验结果表明,本文算法直观加密效果良好,与Arnold变换相比显著降低了加密图像的相关系数;同时对比了改进算法与原算法的计算效率,结果表明本文算法在几乎没有牺牲计算效率的前提下,获得了更好的加密效果;此外将加密图像进行剪切,仍能解密出较清晰的图像,表明本文算法具有良好的抗干扰性;最后分析了像素分布直方图,结果表明本文算法一定程度上隐藏了像素值分布特征。未来将进一步优化拓展Frobenius标准形的应用空间,如与其他图像加密算法如幻方变换、骑士巡游等结合使用。此外,还将考虑与彩色图像灰度化等方法结合以探究该算法加密彩色图像的可能性[17]。