基于矩阵变换的图像加密方法
2021-09-29王晓辉
王晓辉
(河南中医药大学 信息技术学院, 河南 郑州 450046)
0 引言
随着互联网络技术的快速发展,网络已经成为传输信息的一个重要途径,相对于其他载体,图像不仅可以获得更优的视觉效果,而且包含的信息量大,由于网络的开放性,一些非法分子通过一定的工具对网络上传输的图像信息进行窃取,因此图像信息的保护引起了人们的高度重视[1-3]。当前图像信息保护技术很多,最常用的为图像加密技术[4],其在图像传输之前对图像进行加密,使非法分子不能有效获得图像的原始信息,无法恢复出原始图像,因此设计性能优异的图像加密方法一直是人们追求的目标,成为信息安全领域的一个重要研究课题[5]。
图像加密技术是密码学中一个重要的分支,由于图像的信息量大、信息之间冗余度比较高,极易被一些密码分析方法攻击,同时图像像素之间的相关程度比较高,因此传统文本加密方法不适合于图像加密研究[6]。为了保证图像信息的安全,国内外一些学者对图像加密问题进行了深入的研究,当前存在许多图像加密方法,可以将其大致划分为两类:空间域的图像加密方法和变换域的图像加密方法。空间域的图像加密方法直接对图像的像素进行处理,易破坏图像的原始信息,目前处于一种淘汰状态[7-8]。变换域的图像加密方法主要有:傅里叶变换的图像加密方法、分数随机变换的图像加密方法、小波变换的图像加密方法等[9-11],在实际应用中,这些图像加密方法均存在各自的不足,如抗攻击性能差、密钥空间小、无法保证加密后图像的完整性等[12]。
为了获得更优的图像加密效果,提出了基于矩阵变换的图像加密方法,该方法采用矩阵变换对加密图像进行预处理,并采用Amold变换对图像进行迭代变换,最后采用图像加密仿真实验验证了本文图像加密方法的有效性和优越性。
1 基于矩阵变换的图像加密方法
图像加密从本质上讲,是将图像中的一些重要信息隐藏起来,无法从表面上找到原始信息,从而达到保护重要信息的目的,图像解密是图像加密的逆过程。
1.1 矩阵变换对图像进行预处理
一幅图像从行和列的方向观察,可以看作二维向量,因此可以将其转换成为一个矩阵。首先对图像每一个像素的灰度值进行变换,本文采用Logistic序列实现该步骤。Logistic数列为式(1)。
xk+1=f(xk)=μ0xk(1-xk)
(1)
式中,0<μ0<4,0 根据加密图像的大小得到一个Logistic序列,采用该序列图像的像素灰度值进行变换,如式(2)。 yk=(xk×1 000)(modN) (2) 式中,N表示图像像素的灰度值级别。 对加密图像的像素位置进行置乱处理,根据矩阵的数学性质,对矩阵的行和列进行变换,这样就构造一个置换矩阵。该置换矩阵采用Hybrid混沌映射得到。Hybrid序列定义为式(3)。 (3) 式中,0<μ1<4,0 对于序列xk,Hybrid对应的置换群为式(4)。 (4) 式中,nk为xk根据升序排列后的序列号。 (5) 矩阵变换对图像进行预处理的思虑为采用Logistic序列对图像的像素灰度值进行变换,产生一个二维矩阵,然后采用Hybrid序列产生一个置换群,采用置换群对图像像素灰度值二维矩阵的位置进行异或操作,实现图像像素灰度值的置乱处理,打乱图像像素的位置关系,为后续图像加密打下基础。 Amold变换又称猫脸变换,设图像变换前的像素为(x,y),那么Amold变换定义为式(6)。 (6) Amold变换的广义形式为式(7)。 (7) 其中,A可以表示为式(8)。 (8) 式中,a和b表示控制参数,a=b=1,那么式(7)变为式(6)。 实际上,Amold变换是一种像素点的位置的移动,随着迭代次数的増加,图像越来越混乱,从而可以实现图像信息加密的效果,但是达到了一定的步数,变换后的图像可以还原为原始图像,可以利用该特性实现图像解密。Amold逆变换可以表示为式(9)。 (9) 基于矩阵变换的图像加密是指收集待加密图像,采用矩阵变换对其进行预处理,打乱待加密图像的像素原始关系,然后通过Amold变换对待加密图像进行迭代变换操作,使加密图像像素位置空间发生变化,从而实现图像加密,本文采用的加密方法和解密的流程图如图1所示。 图1 本文方法的图像加密和解密流程 为了测试基于矩阵变换的图像加密方法的性能,选择当前经典加密图像—Lena图像作为测试对象,具体如图2(a)所示。采用矩阵变换对其进行预处理,打乱Lena图像的像素原始关系,结果如图2(b)所示。 (a) Lena图像 (b) 预处理结果图2 原始图像和预处理的图像 从图2可以看出,Lena图像经过处理后,发生了较大的改变,无法得到任何有用的信息,为后续的图像加密打好了基础。 采用本文方法对预处理后的Lena图像进行加密,得到的结果如图3所示。 图3 本文方法加密后的图像 对原始待加密图像和加密后的图像进行对比后发现,无法从加密后的图像得到原始加密图像的任何信息,已完全不能辨认出来原始加密图像,本文加密方法具有较高的保密性,获得了理想的图像加密效果,验证了本文图像加密方法的有效性。 为了进一步评价加密方法的效果,采用灰度直方图描述加密前后图像的差别,结果如图4所示。 (a) 原始图像 (b) 加密后图像图4 图像的灰度直方图比较 对图4的加密前后图像的灰度直方图进行对比可以知道,原始图像的像素灰度值分布很不均匀,而加密后图像的像素灰度值分布十分均匀,很好地掩盖了原始图像的分布规律。 对加密后的图像进行解密,得到的结果如图5所示。 (a) 解密后图像 (b) 灰度直方图图5 解密后图像和对应的灰度直方图 从图5可以看出,解密后的图像与原始图像没有什么差别,同时比较原始图像和解密图像的灰度直方图,它们相差不大,这表明本文加密方法能够很容易地恢复原始图像,获得很好的加密效果。 为了测试图像加密方法的抗攻击性效果,选择剪切攻击和噪声攻击两种,具体如图6所示。 (a) 剪切攻击 (b) 噪声攻击图6 两种攻击方式 针对剪切攻击和噪声攻击,本文方法对图像进行解密,得到的解密结果如图7所示。 (a) 剪切攻击 (b) 噪声攻击图7 两种攻击下的图像解密效果 从图7可以看出,解密后视觉效果略有所降低,但是仍然能够恢复出原始图像,这表明本文方法可以有效抵抗剪切攻击和噪声攻击,具有较强的抗攻击鲁棒性,增加了恶意攻击者的破译难度。 为了测试基于矩阵变换的图像加密方法的优越性,选择文献[11]、文献[12]的图像加密方法进行对比测试,相邻像素对进行相关系数作为评价指标,相关系数的计算式,如式(10)、式(11)。 (10) (11) 式中,x和y分别表为相邻像素点的值。 3种方法对Lena图像进行加密,统计加密后图像相邻像素之间的相关系数,结果如表1所示。 表1 与其他加密方法的性能对比 从表1可以看出,相对于文献[11]、文献[12]的图像加密方法,本文方法的相邻像素之间的相关系数变小,这表明本文方法对图像进行加密后,降低了图像像素之间的相关性,获得了更优的图像加密效果,具有明显的优势。 相对于文本信息,图像包含有更加丰富的信息,因此图像加密是当前信息安全中一个研究热点,由于传统图像加密方法无法适合现代图像信息变化的特点,还存在许多不足,为此本文提出了基于矩阵变换的图像加密方法,并与当前经典图像加密方法进行了对比测试。结果表明,本文方法是一种图像加密和解密效果方法,而且具有较强的抵抗攻击的鲁棒性,具有十分广泛的应用前景。1.2 Amold变换的图像加密
1.3 基于矩阵变换的图像加密和解密流程
2 图像加密效果的测试与分析
2.1 测试对象
2.2 图像加密效果
2.3 图像加密方法的解密效果
2.4 图像加密方法的抗攻击性效果
2.5 与其他方法的性能对比测试
3 总结