基于可逆矩阵的多级混沌图像加密算法设计

2023-09-04 14:36郭文锋
计算机仿真 2023年7期
关键词:解密密钥灰度

杨 璐,郭文锋

(1. 晋中信息学院信息工程学院,山西 晋中030800;2. 山西农业大学基础部,山西 晋中030801)

1 引言

网络技术在当前信息社会中的应用越来越广泛,经由网络空间实现多媒体数字信息的传输量也随之不断提升,其中主要的信息类别即为图像信息[1,2]。由于图像信息能够涉及各部门、企业及个人的机密与隐私,故而图像信息在网络空间中传输时的安全性应格外受到关注[3]。为了保障图像信息在网络空间内传输时的安全性,需采取恰当的加密方法对图像信息实施加密处理,避免图像传输时信息的泄露。因图像信息的特点为高冗余量与信息量等,如此需选用更有效的加密方法对其实施加密[4,5]。

混沌加密方法具有随机变换参数与初始值、敏感感受参数与初始值更改等特点,能够吻合密码学中的置乱与扩散特点,被大量运用于信息加密领域内[6]。多级混沌图像加密技术依靠混沌加密方法的关键特点,结合混沌序列所具备的无法预测特征,对图像加密的安全程度予以有效保障[7]。可逆矩阵是指某个可逆阵有且仅有一个逆矩阵,同时二者的乘积属于单位阵的一种矩阵形式。运用此种矩阵形式可同时生成加密密钥与解密密钥,实现信息传输过程中的明文加密及密文解密[8,9]。

综合以上分析,本文设计基于可逆矩阵的多级混沌图像加密算法,实现图像的加密与解密,有效掩藏传输中图像内的有用信息,避免信息泄露,为实时安全传输图像信息提供保障。

2 多级混沌图像加密算法设计

2.1 多级混沌图像加密技术研究

图像信息的特点为冗余信息量高、分布均匀性差及信息总量丰富等,若运用以往的文本加密方法无法有效地加密图像,达不到实时安全传输图像的目的[10]。多级混沌图像加密技术可有效地加密图像,实现图像的实时安全传输。多级混沌图像加密技术结构如图1所示。

图1 多级混沌图像加密技术结构图

多级混沌图像加密技术主要包括置乱与扩散两个部分[11]。其中,置乱部分是对目标图像内的像素位置进行打乱的过程,而扩散部分的主要目的是对置乱后目标图像内的像素值实施调整。通过以上两部分的实施后,能够实现目标图像内统计特征的隐藏,达到图像的多级混沌加密的目的。图1中的j表示加密过程中的置乱次数;i表示整体加密的次数。在多级混沌图像加密过程中,可实施数次的置乱与加密迭代。通常多级混沌图像加密过程可表示成

H=Bi(Fi(Q,KF),KB)

(1)

式中,置乱密钥以KF表示;扩散密钥则以KB表示;置乱函数以F表示;扩散函数则以B表示;输入的目标图像(明文)以Q表示;加密后的输出图像(密文)以H表示。密钥空间U可表示成

(2)

式中,置乱密钥空间以UF表示;扩散密钥空间则以UB表示。通常图像加密的安全性与两种密钥空间及置乱函数与扩散函数对两种密钥的敏感性均为正比关系,当密钥空间扩大后,图像加密的安全性也会随之升高[12],因此,在图像加密过程中,需将适度扩大密钥空间考虑在内,设计科学合理的图像加密算法。

2.2 基于变参多级混沌系统的复杂混沌序列生成

通过构建变参多级混沌系统,任意调整混沌映射参数,生成复杂混沌序列,实现密钥空间的扩展,增加图像加密的安全性。该混沌系统在有限精度的情况下实现,可通过各种混沌参数的混沌映射个数度量所得混沌序列周期,也就是混沌参数周期和状态a(i)周期相乘的结果与该混沌系统所生成混沌序列周期相同。具体实现过程如下。

首先选取PLCM混沌映射,它属于一种一维分段线性迭代混沌映射,其具有较好的随机统计性能[13],它的表达方式为

(3)

(4)

如此导致混沌参数q被破解的风险增大,为避免此问题,提高所生成混沌序列的安全性,需对混沌映射参数实施随机调整,以此生成更为烦琐的混沌序列,将密钥序列扩展,增加密钥加密的安全性。

在此选用Logistic混沌映射与PLCM混沌映射相结合的方式,构成可随机调整混沌映射参数的变参多级混沌系统,运用该系统生成复杂多变的混沌序列。其中Logistic混沌映射作为混沌系统内最常应用的一维离散非线性迭代混沌映射[14],它的表达方式为

(5)

式中,控制参数以η表示;am∈[0,1],m∈Z,在3.57≤η<4的情况下,系统属于混沌状态。

由两种混沌映射所构成的变参多级混沌系统结构见图2。

图2 变参多级混沌系统结构图

1)任意输入某个原始值u02,该值的取值区间为(0,1),对E3η(u02,η)实施运算后,可得出混沌参数q为

(6)

式中,Logistic混沌映射以E3η表示;控制参数η等于η1或者η2。

2)在迭代次数t大于1的情况下,混沌参数q可表示为

(7)

式中,控制参数η的取值依然为η1或者η2,最终控制参数η取值的决定方式为:通过对t实施余运算后获得的正整数以n表示,在n为偶数的情况下,控制参数η取η2;反之,在n为奇数的情况下,控制参数η取η1。

T=22m×g

(8)

式中,g=1,2,…,g,g的取值由正整数n与原始输入值决定。由此在有限的精度下该混沌系统所输出的混沌序列具有能够度量的较大周期。

2.3 基于复杂混沌序列的可逆矩阵构建

(9)

式中,o(an(t)i)ij元素可表示为

(10)

(11)

式中,该矩阵的元素w(an(t)i)ij的表达式为

(12)

O(an(t)i)整数矩阵与W(an(t)i)整数矩阵属于互逆矩阵,故二者均为可逆整数矩阵。然而因实际运算中存在运算组合数的因素,也许会造成所获得的可逆整数矩阵中的元素值较高[15]。故而需通过对所获得可逆整数矩阵内全部元素值实施取模的方式,避免该现象的发生。取模运算式为

(13)

将可逆整数矩阵融入多级混沌图像加密的扩散加密过程中,实现置乱后图像像素值的进一步掩藏加密,提高整体加密的等级,令图像传输时的安全性更高。在整体的多级混沌图像加密过程中,将可逆整数矩阵O(an(t)i)当作扩散加密时的密钥,而可逆整数矩阵W(an(t)i)则当作解密时的密钥,同时二者的决定因素均为整数an(t)i,故仅需将an(t)i当作加密与解密的密钥储存即可。

2.4 基于可逆矩阵的多级混沌图像加密算法

2.4.1 基于复杂混沌序列的图像置乱过程设计

对目标图像的像素位置实施置乱时,应依次置乱各层图像的像素位置。在此以单层图像置乱为例,其置乱过程为:

1)提取出目标图像Q的基分量,以矩阵QDN×N表示。如果向一维数组内逐行映射该矩阵的元素,那么与初始数组内的第i行第j列元素相对应的一维数组位置可表示为(i-1)×N+j。

bi=mod(a(t)i×2m,N×N-i+1)

(14)

2.4.2 基于可逆矩阵的图像扩散过程设计

xi=mod(a(t)i×10m,2C)

(15)

式中,离散化处理之后需要的整数比特位数以C表示。具体的图像扩散过程为:

1)调整置乱之后目标图像Q的位数。将置乱之后目标图像Q的上层后四位与下层首两位合并成图Q1,其矩阵以SDN×N表示;将下层的后六位作为图Q2,通过GDN×N矩阵表示。拼接图Q1与图Q2,也就是将N×N大小的目标图像Q拼接为2N×2N大小的灰度图像D_image,该图像的灰度级为256。

2)分割D_image图像为16×16的块D_blockn,其中n=1,2,…,N2/64,通过变参多级混沌系统将数组混沌序列生成。设所生成的混沌序列内的i为257,以an(t)1~an(t)256作为混沌数组,而an(t)257则用于可逆矩阵O(an(t)i)的生成中。

3)以式(15)为依据,离散化an(t)1~an(t)256后获得16×16矩阵以An(t)表示,其中离散化时的C取8;通过可逆矩阵O(an(t)i)将置乱后目标图像Q的像素值掩藏,获得加密后的图像密文块,以P_blockn(i,j)表示。则整体扩散表达式为

(16)

4)依据扩散过程中第1)步的逆过程,还原扩散后的256灰度级的2N×2N灰度图像为1024灰度级的N×N图像,此即为加密后的密文图像。

运用另一个可逆矩阵W(an(t)i)作为解密密钥,对密文图像实施解密,解密过程即为整体加密过程的逆过程,在此不再赘述,经过此过程后获得解密后的初始图像。

3 实验结果分析

从某图像数据库内随机选取2幅图像作为实验对象,运用本文算法实施加密与解密,通过分析加密与解密结果,检验本文算法的实际应用效果。以其中的2幅图像(a、b)为例,二者加密前的初始图像效果如图3所示。

图3 2幅加密前初始图像效果呈现

经本文算法对2幅初始图像的像素位置实施置乱之后,获得的2幅置乱后图像(a1、b1)见图4。

图4 2幅置乱后图像效果呈现

由图4可看出,通过本文算法的一级置乱加密后,2幅置乱后图像内像素的位置发生较大幅度的改变,已基本隐藏了初始图像内的关键信息。

在此基础上,继续运用本文算法对2幅置乱后图像实施扩散加密,获得最终加密后的2幅加密图像(a2、b2),呈现效果如图5所示。

图5 2幅加密图像呈现效果

通过图5能够看出,2幅置乱后图像经本文算法的二级扩散加密后,图像内的有效信息被完全隐藏,无法由其中直接识别出有效信息,图像信息的视觉隐藏效果较好,图像加密效果理想。

经由本文算法的逆过程对2幅加密图像实施解密,获得解密图像(a′、b′)的效果如图6所示。

图6 2幅解密后图像效果呈现

结合图6与图3可得出,2幅加密图像经由本文算法解密之后的解密图像与初始图像相吻合,可见,本文算法的加密与解密的合理性。

运用图像内像素灰度值的分布规律对图像实施攻击的行为称为灰度统计攻击,通常图像内像素灰度值分布的均匀度越高,则该图像具有越高的防御灰度统计攻击的能力。因此,为检验本文算法加密后图像防御灰度统计攻击的能力,对本文算法加密后的2幅加密图像a2和b2内像素灰度值的分布情况实施检验,在此通过直方图的方式直观地呈现2幅初始图像a和b、以及2幅加密图像a2和b2的像素灰度值分布情况,详见图7。

图7 2幅图像的初始图像与加密图像直方图

通过图7能够得出,2幅初始图像的直方图内像素灰度值分布不均匀,存在明显的像素灰度值分布规律,而经本文算法加密后的2幅加密图像的直方图内,像素灰度值的分布均匀度较高,很难找寻出像素灰度值的分布规律,有效解除像素间的相关性,将图像像素值的统计特征很好地掩藏,能够更好地防御灰度统计攻击,提升图像的安全性。

4 结论

为避免在网络传输图像过程中图像信息的泄露,本文设计一种基于可逆矩阵的多级混沌图像加密算法,通过构建变参多级混沌系统生成复杂混沌序列,用于创建可逆矩阵获得扩散密钥和解密密钥以及生成置乱密钥中,完成对图像的像素位置置乱一级加密及像素值掩藏扩散的二级加密,实现图像的多级混沌加密,实际应用中所获得的加密图像在视觉上能够完全掩藏初始图像内的有效信息,攻击者无法直接获取有用信息;从加密图像的直方图上可看出,加密后图像内像素灰度值能够均匀分布,很好地掩藏了初始图像内像素灰度值的分布规律,提升了图像防御灰度统计攻击的能力,保障图像传输过程中信息的安全性。

猜你喜欢
解密密钥灰度
采用改进导重法的拓扑结构灰度单元过滤技术
炫词解密
基于灰度拉伸的图像水位识别方法研究
解密“一包三改”
密码系统中密钥的状态与保护*
炫词解密
一种对称密钥的密钥管理方法及系统
基于ECC的智能家居密钥管理机制的实现
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算