基于混沌Hopfield 神经网络视觉意义的图像加密算法

2022-04-20 07:24关一凡刘立东蒋东华荣宪伟
电子设计工程 2022年7期
关键词:明文加密算法密钥

关一凡,刘立东,蒋东华,荣宪伟

(1.长安大学信息工程学院,陕西西安 710064;2.哈尔滨师范大学物理与电子工程学院,黑龙江哈尔滨 150025)

随着信息和网络技术的飞速发展,每时每刻都有大量的信息载体(例如数字图像、视频等)产生、传输以及保存。与此同时,越来越多的政府、企业及个人都开始注重信息载体在传输过程中的安全性。其中数字图像的用途十分广泛,包括军事、医学、网络等领域,因此图像传输的安全性就得到了人们的注意。现有的大部分图像加密算法都是将有意义的明文图像转换为一幅近似噪声的密文图像,攻击者很难从密文图像中获取有用的信息,从而增加了恢复原始明文图像的难度,这种加密算法也被称为传统的加密算法。近年来,研究者们提出了许多种不同的加密算法,如基于混沌理论[1-3]、DNA 编码[4-5]、元胞自动机[6]、S 盒[7]、Hash 函数[8]等。然而经上述加密算法得到的近似噪声的密文图像很容易引起攻击者的注意,在很大程度上增加了被攻击的风险。

后来研究者们基于图像隐写又提出了另一种具有视觉意义的加密方案[9-15]。首先通过传统加密算法生成密文图像,接着将其镶嵌在一幅有意义的载体图像中,这样在传输的过程中就不会引起任何的怀疑。具有视觉意义的加密算法主要分为两类,第一类是在空间域上进行嵌入,例如基于最低有效位(LSB)[9]、像素值差分[10]、直方图位移法等[11];第二类是在变换域上进行嵌入,例如基于离散小波变换(DWT)[12]、奇异值分解(SVD)[13]等。通过图像视觉安全加密可以增加图像在传输过程中的安全性。

Bao 等人[14]在2015 年提出了一种具有视觉意义的加密算法,首先通过传统加密算法生成密文图像,接着通过离散小波变换镶嵌在一幅有意义的载体图像中。但是这种算法使用的载体图像大小是明文图像的4 倍,在传输过程中会大大增加传输的负担。

姚楚茂等[15]提出了一种基于奇异值分解的具有视觉意义的加密方案,通过将明文图像分块后进行SVD 分解得到奇异值向量,通过方向编码算法(EMD)将秘密信息嵌入在奇异值向量中,最后通过逆变换生成嵌入后的图像。这种算法在传输过程中只能传输一幅图像,传输效率低。

Hui Wang 等人[16]提出了一种基于离散小波变换的视觉加密方案,通过离散小波变换和压缩感知,将明文图像的大小压缩至原来的四分之一后进行镶嵌,最后通过逆变换完成加密,它的缺点在于加密算法不是明文相关的,并且使用的密钥是固定的,这样会导致算法容易受到选择明文的攻击。

综上所述,现有的数字图像加密算法的主要问题包括:1)传统的加密算法得到的类噪声图像受到攻击的可能性大。2)大部分具有视觉意义的加密算法只能传输一幅图像,且载体图像的大小比明文图像大,传输的效率较低。3)有的加密算法不具有明文相关性,容易受到选择明文攻击。

针对上述问题,文中提出一种基于混沌Hopfield神经网络的双图像视觉安全加密算法。所提算法的优势在于:1)利用双三次插值对两幅明文图像同时进行压缩,一次传输两幅明文图像来提高传输效率。2)通过Hash 函数以及明文图像的像素和来生成混沌Hopfield 神经网络的初值,从而使得算法具有明文相关性,不同的明文图像得到的密钥也不同。3)通过离散余弦变换(DCT)将图像嵌入到彩色载体图像中,从而实现对数字图像的数据以及视觉效果的双重保护。理论分析和实验结果表明,文中提出的算法具有良好的鲁棒性及安全性。

1 算法基础

1.1 双三次插值

双三次插值也被称为立方卷积插值。其基本原理是通过待采样点周围的16 个点的灰度值进行三次插值。假设源图像a的大小为h×w,压缩后的图像b的大小为H×W,则图像b中的坐标(X,Y)在图像a中的对应坐标为(X×h/H,Y×n/N)。通过离目标像素点最近的16 个点的像素值来计算目标像素点的像素值,计算公式如下:

1.2 混沌系统

1.2.1 混沌Hopfield神经网络

该文使用一种四维混沌Hopfield 神经网络,其表达式如下:

其中,x为混沌系统的初值,C为一对角矩阵,C=diag(1,1,1,100),W为权值矩阵,,v、u、k为神经网络的参数。-0.37≤u≤0.6,-5≤v≤-2,-13 ≤k≤2,文中取v=-3,u=0.1,k=-5。

考虑到混沌系统在迭代时有可能出现退化现象,使用欧拉法以及一个很小的采样周期TS对式(2)进行改写,改写后的混沌系统可以由下式描述:

1.2.2 二维超混沌系统

该文通过二维超混沌系统来生成矩阵,用于生命游戏算法,其具体表达式如下:

ai和bi都是二维超混沌系统的控制参数,且ai∈R,bi∈R,i=1,2,…6。为了降低该加密算法的计算复杂度,对一些参数进行简化,简化后的混沌系统如下:

当控制参数a4=1.55,a5=-1.3,b2=-1.1,b4=0.1 时,二维超混沌系统的输出值范围为xn∈(-1.65,0.65),yn∈(-0.65,1.85),且二维超混沌系统的李雅普诺夫指数为0.238 和0.166。

1.2.3 生命游戏算法

生命游戏,也被称为康威生命游戏,是英国数学家约翰·康威在1970 年提出的一种元胞自动机。这种算法主要基于一个二维矩阵,矩阵中的每一个元素代表一个细胞的状态,每一个元素只有两个状态,即0 和1,其中0 代表死亡,1 代表存活。每个细胞在下一刻的状态是由周围相邻的8 个细胞,也就是水平、竖直以及对角方向上的细胞所决定的,其规则主要有以下几条:

1)如果当前细胞周围的存活细胞的个数不多于2 个,任何存活的当前细胞都将死亡。

2)如果当前细胞周围的存活细胞的个数为2 个或3 个,任何存活的细胞仍然存活。

3)如果当前细胞周围的存活细胞的个数大于3个,任何存活的当前细胞都将死亡。

4)如果当前细胞周围的存活细胞的个数为3个,任何死亡的当前细胞都将转为存活。

1.2.4 图像嵌入

传统的加密算法可以抵御各种类型的攻击,如暴力破解、选择明文攻击、差分攻击等。这样无疑可以提高图像在传输过程中的安全性,但是这种近似噪声的图像从视觉上来说是加密图像的一个特征,攻击者可以很轻易地辨认出经过加密的图像并进行攻击,这样会大大增加信息泄露或是被恶意篡改的概率。该文针对这种问题,将加密后的类噪声图像通过DCT嵌入在有意义的彩色图像中来提高传输的安全性。

2 加密算法及解密算法

2.1 加密过程与嵌入过程

加密算法包括4 个阶段:图像压缩、添加随机数、置乱操作、图像嵌入。该文使用的压缩方法为双三次插值,对图像进行压缩可以提高传输的效率,减轻了公用网络信道传输负担。在第二个阶段中,首先通过迭代混沌Hopfield 神经网络得到一组随机数,然后将随机数与图像进行拼接,得到一幅组合图像。在置乱阶段中,通过二维超混沌系统生成一个只有0和1 的矩阵,接着通过生命游戏算法对其进行迭代,生成置乱矩阵并完成置乱。最后通过载体图像实现对明文图像的隐藏。图1所示为该加密过程流程图。

图1 加密过程流程图

加密过程如下:

1)首先读取两幅大小为M×N的明文图像P和Q。

2)通过双三次插值算法对图像P和Q进行压缩,生成大小为的两幅压缩图像PC和QC。

3)通过SHA-256 函数对明文图像P进行处理,生成长度为64 的16 进制字符串,接着将其转换为长度为256 的二进制字符串,记为hb,通过下式将其分为4 组,长度均为64 位:

其中,n=1,2,3,4;a、b分别是每组的首尾两端。

4)通过第一幅明文图像P来生成混沌系统的初值。首先计算图像P的像素和,记为S,接着计算图像P的左半部分及右半部分的像素和,分别记为S1、S2。

5)通过式(7)~(10)得到混沌Hopfield 神经网络的初值[x1,x2,x3,x4]T,将其迭代次,并且舍弃掉前m个值来避免瞬时效应,生成大小为的随机数矩阵,然后与两幅明文图像水平拼接在一起,得到大小为的拼接图像,并进行DCT 变换,得到的图像记为PD。

6)给定初值u0=0.25,v0=0.15,对二维超混沌系统迭代次,舍弃前m个值得到两个大小为的矩阵u和v,通过下式生成一个二值矩阵CM:

7)给定迭代参数t,用生命游戏算法迭代t次矩阵CM,每次迭代的结果记为SMi,其中i=1,2,…,t,通过式(12)得到置乱矩阵SG,对其所有行按降序进行排序后得到索引矩阵SI,并通过式(13)得到置乱图像PC。

嵌入过程:

9)读取一幅大小为M×N的彩色图像QC作为载体图像,提取它的R、G、B分量,并分别进行DCT 变换,得到的图像分别记作QCT1、QCT2、QCT3。再对SP1、SP2、SP3进行DCT操作,得到的图像记作CT1、CT2和CT3。

10)通过式(14)对QCT1、QCT2以及QCT3右下角大小为的区域D的像素值进行修改:

11)对修改后的3 个分量进行逆DCT 操作,得到嵌入后的彩色图像。

2.2 解密过程

图像的解密过程是加密隐藏过程的逆过程,主要包括4 个阶段:提取阶段、逆置乱阶段、分割阶段以及放大阶段。首先将镶嵌在彩色图像的R、G、B分量右下角的图像提取出来,通过逆DCT 变换恢复出原始置乱图像,再通过逆置乱得到组合图像,最后通过分割和放大恢复出两幅明文图像。

3 实验结果与分析

利用该文提出的基于混沌Hopfield 神经网络和生命游戏算法的图像隐藏算法对图像进行隐藏和解密恢复实验。使用大小为512×512 的明文图像进行模拟仿真。各项安全测试均在Matlab 2018a 环境下进行。外部密钥为a4=1.55,a5=-1,b2=-1.1,b4=0.1,u0=0.25,v0=0.15,TS=0.000 7,t=4,λ=0.1。仿真结果如图2 所示。

图2 仿真结果

3.1 密钥空间分析

密钥空间是用来衡量加密算法抵御暴力攻击的一项重要指标,一个加密算法若想要抵御暴力破解,其密钥空间的大小至少应该达到2100。文中使用的密钥主要可以分为三部分:1)由Hash 函数产生的256 位密钥流;2)混沌Hopfield 系统的参数u、v、k以及采样周期TS;3)二维超混沌系统的初值u0、v0,系统参数a4、a5、b2、b4。其中由Hash 函数产生的密钥空间为2256,由二维超混沌系统产生的密钥空间大小为(0.65+1.65)×1015×(1.85+0.65)×1015,最后计算出该图像隐藏算法的总密钥空间为5.75×2256×1015≈2358,远远大于2100,可以看出提出的隐藏算法可以很好地抵御暴力破解。

3.2 密钥敏感性分析

高的密钥敏感性意味着密钥的微小变化也会引起恢复出的图像的巨大变化,一个优秀的加密算法应当有高的密钥敏感性。该部分使用大小为512×512的两幅明文图像Lena和Peppers,以及大小为512×512的载体图像Baboon。通过对密钥u0、v0、a4、a5以及b4和b2分别修改10-13,恢复出的图像如图3(b)~(g)所示,其中(a)是两幅明文图像。可以看出,即使密钥发生了大小仅为10-13的变化,恢复出的图像与明文图像的差别也很大。

图3 密钥敏感性分析结果

3.3 不同类型的攻击

3.3.1 噪声攻击

为了定量评估算法抵御噪声的性能,向隐藏图像中加入两种噪声,分别为椒盐噪声和斑点噪声,大小分别为0.01%、0.03%和0.05%。加入两种不同的噪声时,测试结果如图4 所示,恢复出的图像的PSNR 值如表1 所示,其中前3 行为椒盐噪声的测试结果,后3 行为斑点噪声的测试结果,第一列为加入噪声后的隐藏图像,后两列为恢复出的明文图像。可以看出提出的图像隐藏算法有着很好的抗噪性。

表1 噪声攻击恢复出明文图像的PSNR值

图4 噪声攻击测试结果

3.3.2 剪切攻击

鲁棒性也是评价一个算法是否优秀的标准之一,该部分对隐藏图像进行裁剪,通过恢复出的明文图像的效果来对提出的算法的鲁棒性进行评价。如图5 所示,第一列分别为缺失16×16、32×32、64×64、128×128 大小的信息的隐藏图像,第二、三列为恢复出的明文图像,表2 为恢复出的两幅明文图像的PSNR 的值。从仿真结果可以看出,提出算法可以很好地抵御剪切攻击,具有很好的鲁棒性。

图5 剪切攻击测试结果

表2 剪切攻击恢复出明文图像的PSNR值

3.4 视觉安全性

对视觉安全图像加密算法来说,密文图像与载体图像越相似,说明算法的视觉安全性越好。结构相似度(SSIM)以及峰值信噪比(PSNR)是两个衡量视觉安全性的重要指标。表3、表4 分别是该文算法恢复出的明文图像的PSNR 值及SSIM 与其他算法的比较结果,可以看出该文算法具有很好的视觉安全性。

表3 不同算法的明文图像PSNR值比较结果

表4 不同算法的明文图像SSIM值比较结果

4 结论

该文提出的基于混沌Hopfield 神经网络的具有视觉意义的双图像加密算法克服了传统加密算法无法对得到的类噪声图像的视觉效果进行保护的问题,通过向明文图像中加入一组随机数,提高了明文图像在传输过程中的安全性,并且在不提高信道负载的情况下同时对两幅图像进行压缩传输,提高了传输效率。实验结果表明,该算法的密钥空间足够大,能够抵御各种攻击,同时经过实验仿真得出恢复出的明文图像的效果与之前的算法相比有所改善,是一种加密安全性较好的加密算法。

猜你喜欢
明文加密算法密钥
幻中邂逅之金色密钥
幻中邂逅之金色密钥
基于DES加密算法的改进研究
密码系统中密钥的状态与保护*
DES加密算法的实现
基于整数矩阵乘法的图像加密算法
TPM 2.0密钥迁移协议研究
奇怪的处罚
奇怪的处罚
基于小波变换和混沌映射的图像加密算法