基于行列异或的Arnold双置乱图像加密方法

2024-02-20 03:04洪炎王艺杭苏静明温言
科学技术与工程 2024年2期
关键词:信息熵像素点灰度

洪炎, 王艺杭, 苏静明, 温言

(安徽理工大学电气与信息工程学院, 淮南 232001)

随着数字时代的到来,图像和视频已经成为人类生活中必不可少的载体,图像、视频等多媒体信息也随着互联网的发展可以广泛传播[1-2],但随之而来的信息安全问题更应该引起广泛关注。因此,越来越多的学者开始研究图像加密技术[3-6]。

图像置乱技术则是图像加密的一种,是通过相关的变换公式进行编码,从空域改变图像内部信息的排列分布或者从频域彻底改变图像信息内容的一种信息加密技术,主要应用在对数字图像加密的前期预处理和后续解密当中。置乱技术可以很好地隐藏图像信息,减小信息间的相关性,并在传输过程中增强鲁棒性[7-9]。

目前常见的置乱技术有Arnold变换[10-14]、幻方变换[15-16]、Baker变换[17-19]、Logistic 变换[20-21]等,其中Arnold变换因为其较好的置乱效果以及简单的变换公式为学者们广泛使用。文献[13]将Arnold变换与Gray码结合起来,使图像达到灰度空间和位置空间双置乱的效果,但仍具有安全性不高等局限性;文献[12] 提出一种 基于动态L形置乱和组合混沌映射扩散的混沌图像加密方案,图像最初被动态L形加扰混淆,然后利用Arnold变换进一步混淆图像,最后,在扩散阶段使用非线性操作,具有良好加密效果;Mansouri等[10]提出一种基于改进Arnold的图像加密方案,通过增加分割和旋转操作和像素洗牌等操作,使其在短时间内获得良好的加密效果,但该方法并未具备良好的鲁棒性;Wang等[11]应用Arnold变换置乱图像,为改变其具有周期性这个弊端,引入逻辑-正弦自嵌入(logistic-sine self-embedding,LSSE)混沌系统来生成变换公式参数,从而使其不具备周期性并增大密钥空间,但其仍不能加密不等长图像。

因此,为改变其变换公式简单易破解,且难以应用于不等长图像,使得图像在传输过程中容易收到攻击,导致信息损失,安全性能也无法得到保障的缺陷,现针对传统Arnold变换置乱方式存在的不足进行算法改进,使其能够对任意类型图像进行加密操作,通过加入行列按位异或操作、引入改进henon混沌映射系统,使Arnold双置乱的进一步加强,有效削弱加密图像的信息相关性,提升图像在传输时的抗攻击能力。

1 Arnold双置乱

在图像加密领域,Arnold变换一直被当作置乱方法的一种,由于其并不能改变图像像素坐标值,所以在图像加密领域常常需要与其他算法相结合,文献[13]提出一种基于Arnold的双置乱方法,不仅让图像的像素位置坐标发生改变,还会改变图像像素值,从而实现图像位置空间和灰度空间的双置乱。

1.1 基于位置空间的Arnold变换

首先是位置空间的置乱,众所周知,广义二维Arnold变换过程为

(1)

式(1)中:x′、y′为变换后的像素坐标;x、y为未发生变换的像素坐标;a、b为任意整数;N为图像的长和宽;mod为模运算,即取余操作,从而保证图像像素坐标进行置乱后仍然保持在原来图像坐标范围内。

相对应的,经过Arnold变换后的图像可以经过逆变换公式还原达到解密的效果,其逆变换公式为

(2)

一次广义Arnold变换并没有完全达到置乱图像的效果,所以在实际应用中,多采用多次迭代变换的结果,但是,上述变换要求图像的长和宽必须一致,并不适用于不等长图像,因此该变换具有很多局限性。因此,本文研究做出以下改变,即

(3)

改变Arnold变换形式,使其能够对不等长图像进行置乱,引入x′2,从而提升置乱效果。和二维广义Arnold变换一样,改进的二维不等长Arnold变换也可以通过逆变换公式将图像进行复原,其逆变换公式为

(4)

1.2 灰度空间的Arnold置乱

灰度空间的置乱,首先将任意灰度图像像素值h从原本的十进制数表示成两个十六进制数,即h=(h1,h2)H,然后,基于每个像素点的灰度空间置乱可表示为

(5)

式(5)中:h′=(h′1,h′2)H,h′即为变换后的图像像素值,其置乱还原可表示为

(6)

通过位置空间和灰度空间的双重置乱后,图像的置乱效果要比原先只进行Arnold变换好得多,同时抗干扰能力也大大增强。

2 按位异或

2.1 改进的henon映射

改进的henon混沌映射[22]是一个离散的时间序列,其表达式为

(7)

式(7)中:a、c为系统调节参数,该系统的分岔图如图1所示,当a∈(4.3,5],c∈(0,0.3]时,该系统处于混沌状态。

图1 改进的henon映射分岔图Fig.1 Bifurcation diagram for improved henon mapping

2.2 行列按位异或

在Arnold置乱中,不论是传统的变换公式,还是改进后的变换公式,都有一个致命的缺点,就是其在受到剪切攻击时,恢复的图像会丢失大量信息。为此,本研究在Arnold双置乱变换中引入了按位异或运算,具体步骤如下。

首先对使用改进的henon混沌映射迭代n+2MN次,为消除暂态响应,舍弃前n项,得到长度为2MN的混沌序列x(i),根据式(6)对序列处理得到序列A和B,将用于后续行列异或操作,来增强图像传输过程中的抗差分攻击能力。

(8)

(1)行按位异或:假设图像为M行N列,从第1行开始,先将A和B序列转换成二维矩阵,将第1行的第2列像素点值与第1列像素点值进行按位异或,再与矩阵A的第1行第1列值进行按位异或,即将像素点的像素值分为8位二进制数进行每一位的异或操作再转化成十进制数并将值赋予第1行第1列的像素点;然后将第1行第3列像素点值与第2列像素点值进行按位异或,再与矩阵A的第1行第2列值进行按位异或,将值赋予第1行第2列的像素点;以此类推,一直到第1行第N-1列像素赋值完毕,第1行第N列像素点值则与255以及矩阵A的第1行第N列值进行按位异或并赋值;第2行到第M行则重复第1行的操作,最终完成整个图像的行按位异或。

(2)列按位异或:同行按位异或类似,从第1列开始,将第1列的第2行像素点值与第1行像素点值进行按位异或,再与矩阵B的第1列第1行值进行按位异或,并将值赋予第1列第1行的像素点;然后将第1列第3行像素点值与第2行像素点值进行按位异或,再与矩阵B的第1列第2行值进行按位异或,将值赋予给第1列第2行的像素点;以此类推,一直到第1列第M-1行像素赋值完毕,第1列第M行像素点值则与255以及矩阵B的第1列第N行值进行按位异或并赋值;第2列到第N列则重复第1列的操作,最终完成整个图像的列按位异或。

如图2和图3所示,以5×5的像素块为例,展示了行按位异或和列按位异或的示意图。

图2 行按位异或示意图Fig.2 Bitwise XOR operation of rows

图3 列按位异或示意图Fig.3 Bitwise XOR operation of columns

对于行按位异或以及列按位异或都是可逆的变换,其逆变换则为再次按位异或即可,因为其本质就是异或,异或的还原就是再进行一次异或。

3 具体算法步骤

输入大小为M×N的明文图像。

输出大小为M×N的密文图像。

步骤1对于输入的明文图像S,先根据基于改进的Arnold变换公式进行灰度空间置乱,得到置乱图像S1。

步骤2将置乱图像S1基于改进的Arnold变换公式进行位置空间置乱,变换次数为T,得到置乱图像S2。

步骤3将置乱图像S2进行行按位异或得到置乱图像S3。

步骤4将置乱图像S3再根据改进的Arnold变换公式进行T次位置空间置乱,得到置乱图像S4。

步骤5将置乱图像S4进行一次列按位异或,最终得到密文图像S5。

若为彩色图像,则将其R、G、B三通道分开,分别进行步骤1~步骤5,最后将通道合并,完成图像加密。在提出的算法中,改进的Arnold位置空间变换、灰度空间变换、行按位异或以及列按位异或都是可逆的,所以其加密图像是可恢复的,且恢复过程与加密过程相反,在此不做赘述。图4给出了整个算法加密和解密的流程图。

图4 加解密流程图Fig.4 Encryption and decryption flow chart

4 实验结果与分析

本文研究进行了多组仿真实验来证明改进算法的有效性、抗干扰性以及图像安全性。实验运行环境:微软 Windows 11(64 位)操作系统,锐龙 R9-5900HX CPU 3.2 GHz,内存 16 GB,实验平台为 MATLAB 2018a。仿真实验所用图像为标准的USC-SIPI图像数据库中图像以及MATLAB 图像处理标准图像库中的“Dragon”(360×477)和“Football”(320×256)图像。

4.1 密钥空间

密钥空间是衡量一个算法能否抵挡暴力攻击的重要指标,一般以比特为单位,当密钥空间大于2100时,则认为该算法可以抵御暴力攻击。本文的密钥空间是由二维不等长Arnold变换参数b、r、q以及混沌系统控制参数a、c和初值x0、y0共同构成,即约为2192,符合抵御暴力攻击的要求,对加密方案的安全性提供了保障。

4.2 置乱图像结果

由于对于传统Arnold变换公式的改进,本文的置乱算法可实现对于不等长图像的置乱,设位置空间置乱次数为T=10,灰度空间置乱次数、行按位异或以及列按位异或次数均为1,图5和图6显示了图像经过置乱和恢复的结果。

图5 不等长图像的加解密结果Fig.5 Encryption and decryption results for images of unequal length

图6 等长图像的加解密结果Fig.6 Encryption and decryption results for equal length images

由图5和图6可知,经过改进,本文算法不仅可以对任意类型图像进行置乱,而且置乱后的图像都只出现了随机噪声点,完全看不出原图像的任何信息,可以很好地隐藏原始图像的信息,并且最终恢复出来的图像也与原图像保持一致,由此可见,本文算法具有良好的加密和恢复效果。

4.3 直方图分析

直方图分析可以直观地反映像素分布特征,如果密文图像不能掩盖图像的统计特征,攻击者就会通过密文图像推断出明文图像信息从而破解图像加密算法。图7是明文图像5.2.10和“Football”及其加密后的图像直方图。可以看出,加密后的直方图都能均匀分布,可以有效抵抗统计攻击。

图7 直方图测试Fig.7 Histogram test

4.4 信息熵分析

信息熵的概念是由香农从热力学中借用而来,他用这一概念来描述信源的不确定度,在图像处理中,信息熵则可以反映一幅图像的随机信,熵值越大,图像的灰度值分布的就越均匀,随机性也就越强[23]。一般来说,信息熵越接近于8表示图像包含更多信息量,可以用来衡量图像的置乱效果。

灰度图像信息熵的计算公式为

I(i)=-pilog2pi

(9)

式(9)中:i为第i级灰度级;pi为第i级灰度出现的概率。

分别使用5种算法对5.2.10和Football进行置乱后的图像信息熵计算,可以通过表1数据得到,本文算法加密后的信息熵都接近于8,不仅高于其他算法,且只有本文算法可以实现任意类型的图像加密,结果表明本文算法加密后的图像具有更强的随机性,也就可以更好地抵御外来攻击。

表1 信息熵分析Table 1 Information entropy analysis

4.5 相关性分析

通常来说,一幅图像相邻像素在其水平、垂直以及对角方向具有高度相关性,这使得攻击者可以通过这一特征性来分析图像的加密算法,从而去破解图像[24]。因此相邻像素间的相关性分析也可以用来衡量某一加密算法的安全性,好的加密算法应当能消除像素间的相关性。

相关性的计算公式为

(10)

(11)

(12)

式中:xi、yi为第i个像素点的像素值;N为样本数量;E(x)、D(x)为x的期望和方差。

本文研究分别选取5 000对像素对5.2.10进行相邻像素值相关性的计算,从水平、垂直和对角方向3个方向对比结果,如图8和图9所示,结果表明加密图像相邻相关性更小,安全性更高。同时选取USC-SIPI图像数据库中15张图像以及“Dragon”和“Football”进行相关性测试,结果如表2所示,可以看出图像相邻像素间相关性几乎为0,能够有效抵抗统计攻击。

表2 相邻像素相关性分析Table 2 Adjacent pixel correlation analysis

图9 加密图像相邻像素相关性Fig.9 Neighbourhood pixel correlation of encrypted images

4.6 鲁棒性分析

对于置乱后的图像,要求具有一定的抗攻击能力,以便有效防御加密后的图像被攻击破坏,从而导致恢复图像时难以修复。典型的攻击有添加噪声、剪切图像等攻击。

4.6.1 抗噪声攻击

为有效验证本方法对噪声攻击的防御能力,对5.2.10图像进行测试,分别选择不同的椒盐噪声0.05和0.1以及高斯噪声0.01和0.05对本方法进行测试,如图10所示。

图10 抗噪声攻击测试Fig.10 Noise resistance test

4.6.2 抗剪切攻击

为有效验证本方法对剪切攻击的防御能力,对5.2.10图像进行测试,分别选择不同的剪切方式即剪切方式对本方法进行测试,如图11所示。

图11 抗剪切攻击测试Fig.11 Clipping resistance test

由于图像像素经过灰度空间置乱、位置空间置乱以及行列按位异或,很好地打乱了图像的相邻像素点,达到置乱的要求,因此可以很好地抵御一些常见的攻击。由图10和图11可知,在给图像添加少量椒盐噪声时,虽然图像恢复后充满噪声点,但是仍然可以获得大部分图像信息;对图像进行剪切攻击时也是一样,图像恢复后虽然会有噪声点的出现,但是并不会因为少量剪切就丢失原本图像信息。

除了直观图像分析其抗攻击性能,算法鲁棒性还可以通过归一化相似度(normalized correlation, NC)和峰值信噪比(peak signal to noise ratio, PSNR)来进行评估。

4.6.3 归一化相似度及峰值信噪比分析

归一化相似度公式为

(13)

式(13)中:W(i,j)为有原图(i,j)位置处的像素值;W′(i,j)为恢复后图像在该位置的像素值,归一化相似度值可以用来判断图像经过加噪、剪切等处理后与原图像的相似度,越接近于1则说明恢复效果越好,置乱算法的性能也就越好。

峰值信噪比公式为

(14)

(15)

式中:MAX为图像像素值的最大值即255;MSE为均方误差,峰值信噪比和归一化相似度一致,也是用来衡量图像在受到攻击后重建的质量,越大说明图像恢复效果越好。

根据表3和表4实验结果数据分析可知,本文算法相较于其他算法而言,PSNR和NC值都大大提升,说明本文算法不论是在置乱效果上还是在抗攻击能力上都明显优于其他算法。

表3 噪声攻击结果Table 3 The results of noise attacks

5 结论

基于Arnold的双置乱提出了一种改进算法,将二维不等长Arnold变换叠加进行行列按位异或操作,从而实现不同大小和不同类型图像的灰度空间以及位置空间双重置乱效果。本文算法相较于同类型算法在置乱程度上有显著提升,充分地消除了相邻像素间相关性,增大了密钥空间,适用于任意图像,增加了算法的抗攻击性和鲁棒性,因此适用于各领域图像的加密。未来将针对加密时间做进一步的改进,提升加密效率,保障图像安全性。

猜你喜欢
信息熵像素点灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于信息熵可信度的测试点选择方法研究
基于灰度拉伸的图像水位识别方法研究
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于信息熵的实验教学量化研究
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
一种基于信息熵的雷达动态自适应选择跟踪方法
基于灰度线性建模的亚像素图像抖动量计算