HBV加密与LSB隐写结合的图像安全方法

基于HBV加密和最低有效位隐写术的数字图像双重安全方法

摘要

本研究提出结合两种安全技术,即隐写术和密码学。所提出的隐写技术为最低有效位(LSB),因其在数据嵌入容量和消息不可感知性方面具有优势。LSB技术非常简单且可预测,因此为了提高消息安全,采用了HBV加密技术。在嵌入消息之前,先对其进行HBV加密。HBV加密是博福特算法与维吉尼亚密码的结合,从而使消息安全性更强。通过结合HBV加密与LSB隐写,能够有效地隐藏消息,并保护其安全。根据实验结果,加密与嵌入过程运行良好,生成的加密图像和隐写图像质量良好;同样,提取与解密过程也能完美执行。

1. 引言

隐写术是一种广泛用于保护通过互联网传输数据的隐藏数据技术。数字图像在当前研究中被广泛使用[1][2]。水印技术也是一种类似于隐写术的数据隐藏技术。这两种技术的区别在于其功能。水印技术主要用于保护宿主图像的版权,通过永久附加水印,使得即使宿主图像被处理,水印也不会丢失[3]。水印技术并不强调大有效载荷,最重要的是嵌入的水印必须能够抵抗各种攻击,此外,添加水印后的宿主图像质量也应保持良好。良好的图像质量可通过峰值信噪比(PSNR)来衡量,其最小值应达到40dB或更高[4]。而隐写术的作用是保护秘密消息,使其无法被他人提取或读取。在宿主图像隐写术中,宿主图像仅作为消息嵌入的媒介,最重要且必须保护的是嵌入的秘密消息的安全性。另外两个重要的方面是不可感知性,即嵌入宿主图像中的消息不能被人感官察觉,从而不引起怀疑;有效载荷在隐写术中也同样重要,较大的有效载荷将提高消息发送的效率。

本研究重点探讨如何在隐写术技术上保护消息安全,特别是在数字图像中。迄今为止,在隐写术科学中持续发展的一种方法是最小有效位(Least Significant Bits,LSB)。LSB方法通过用消息比特替换最低有效位来工作,因此使用该技术后宿主图像无法恢复到其原始状态。但这并不重要,因为最重要的是嵌入消息的安全性。LSB方法是隐写术空间域中的一种方法,虽然非常简单,但能生成不可感知的隐写图像,并具有相对较大的有效载荷[1]。默认情况下,LSB方法可在单像素图像中嵌入一个消息比特,即容量为载体图像尺寸的八分之一。LSB技术是一种可预测性较强的技术,因为通常消息嵌入是从左到右、从上到下进行的。一些技术采用随机分布或使用PN生成器等随机生成器来分散嵌入消息。这种部署方法旨在增强消息安全性,同时也能提高不可感知性[5]。另一种方法是将加密技术与隐写术相结合[6][7][8]。

密码学是一门通过特定算法对数据进行编码以保护数据安全的科学。该方法在防御攻击者方面是有效的[9]。当与隐写术结合时,通常先对消息进行加密,然后将加密后的消息嵌入宿主图像中。目前存在多种密码学方法。其中一种流行的经典对称密码是维吉尼亚密码。维吉尼亚算法也是一种替代加密算法。替代加密是一种基于密钥将明文替换为密文的技术[10][11]。维吉尼亚密码有多种变体,其中之一是博福特密码[12][13]。这种加密技术的安全性依赖于密钥。如果所使用的密钥是真正随机的、与明文长度相同且仅使用一次,则加密强度会更高[5][14][15]。

因此,本研究提出的思路是采用基于多个密钥的博福特与维吉尼亚密码混合算法,使加密结果更难被未授权方破解,然后通过LSB方法将加密结果嵌入宿主图像中。

2. 先前研究

一些研究提出了将隐写术与加密技术相结合的方法,例如库苏马等人提出的研究[8]。在他的研究中,使用最低有效位(LSB)来隐藏图像。选择LSB是因为其在消息存储容量和隐写图像质量方面具有优势。通过采用DES加密方法,并优先在图像边缘区域存储消息,从而弥补了LSB的简单性弱点。在图像边缘区域插入消息有助于提高所生成隐写图像的质量。

伊拉万等人[14]还使用LSB方法将文本消息隐藏技术应用于载体图像。此外,还应用Canny边缘检测来确定图像的边缘区域,该边缘区域用于存储以进行消息嵌入和消息提取。在消息嵌入之前,使用OTP方法对消息进行加密。在灰度类型512 * 512像素图像中嵌入8192比特消息时,PSNR测量结果产生的值约为69dB。

Danuputri等人[16]还将LSB隐写方法与维吉尼亚加密技术相结合,此次方法组合应用于安卓编程语言。在使用维吉尼亚算法加密消息之前,先通过算术编码压缩算法对消息进行压缩。为了进一步增强密钥的安全性,维吉尼亚密钥使用SHA‐256算法进行加密。本研究中使用的载体媒体是数字图像,而所用的消息形式为pdf、文档和表格文件。

Dewangga等人[17]还提出了结合两种加密技术的LSB隐写术,即维吉尼亚和凯撒。首先对文本消息应用凯撒算法,然后使用维吉尼亚算法。由这两种加密技术生成的密文随后被嵌入到RGB类型隐写图像的最低有效位中。测试在大小为8 8像素至12 12像素的RGB图像上进行,嵌入的消息达到最大可容纳大小。消息加密结果产生了100%的雪崩效应,PSNR值介于59dB和63dB之间。

从上述一些研究中可以证明,LSB方法在各种最新的隐写研究中仍然被广泛应用。这是因为LSB方法在消息存储容量和不可感知性方面仍然相对较好。其弱点仅在于简单的嵌入技术,导致消息提取可预测。为了提高安全性,该技术与密码学相结合。因此,本研究提出了一种结合博福特和维吉尼亚算法的混合方法,并采用两个随机密钥以增强消息安全。

3. 混合博福特维吉尼亚密码算法(HBV密码算法)

HBV加密算法是博福特算法与维吉尼亚密码的结合。维吉尼亚密码是一种在当时广受欢迎的替换式加密技术,也常被称为弗纳姆密码或一次一密密码。该加密和解密过程中所使用的密钥类型为对称密钥。该算法的加密质量取决于密钥,如果密钥长度与明文相同、密钥仅使用一次且完全随机[15],则加密结果将非常强。然而,对于尺寸较大且较长的明文而言,这会带来负面影响,因为所用密钥的长度也必须相应增大。维吉尼亚密码在执行加密和解密操作时使用异或或模运算。维吉尼亚密码在加密和解密过程中的公式可通过公式(1)进行加密计算,通过公式(2)进行解密计算。

$$ C_i = (P_i + K_j) \mod 256 $$ (1)

$$ P_i = (C_i - K_j) \mod 256 $$ (2)

其中$C_i$是密文,$P_i$是明文,$K_j$是范围为0到255的随机密钥,256用作除法常数,因为使用的范围是8位。

博福特密码是一种源自维吉尼亚密码的衍生替代密码学方法,采用减法技术[12][13]。博福特密码所使用的公式与维吉尼亚密码非常相似。这两种技术的相似之处在于都使用模函数或结果的余数,以及所用密钥的类型。两者之间的区别在于密钥的作用:在维吉尼亚密码中,密钥用于增强明文并作为密文的减数;而在博福特密码的公式中,密钥用于从明文和密文中被减去。

为了更清楚地说明,我们可以参考公式(3)中的博福特密码加密公式和公式(4)中的解密公式。

$$ C_i = (K_j - P_i) \mod 256 $$ (3)

$$ P_i = (K_j - C_i) \mod 256 $$ (4)

从这两种算法中构建出的HBV密码方法利用多个随机密钥,具有更强的安全性,其中第一个随机密钥($K_{j1}$)包含一个8位范围的值,第二个随机数包含一个二进制范围($K_{j2}$)的值。更多细节请参见HBV密码加密的公式(5)和HBV密码解密的公式(6)。

$$ C_i =
\begin{cases}
(P_i + K_{j1}) \mod 256, & K_{j2} = 0 \
(K_{j1} - P_i) \mod 256, & K_{j2} = 1
\end{cases} $$ (5)

$$ P_i =
\begin{cases}
(C_i - K_{j1}) \mod 256, & K_{j2} = 0 \
(K_{j1} - C_i) \mod 256, & K_{j2} = 1
\end{cases} $$ (6)

4. 提出的方法

根据引言部分所述,使用最低有效位的隐写技术具有诸多优点,但在安全性方面存在不足。因此,在本研究中,提出在将秘密消息嵌入载体图像之前,先采用HBV密码算法对其进行加密。

本节将分为两个主要过程:第一个过程是加密与嵌入过程,第二个过程是提取与解密过程。

4.1 加密与嵌入过程

以下是加密与嵌入的逐步过程:
1. 以大小为 m * n 的灰度图像形式读取秘密消息,然后将其保存在变量 Pt 中。
2. 创建一个由8位整数构成的随机密钥矩阵 Rk1,其值在256以内,Rk1 矩阵的大小与消息相同。
3. 创建另一个由二进制数组成的随机密钥矩阵 Rk2,其大小与消息相同。
4. 使用公式(5)加密秘密消息,得到密文(Ct)。
5. 使用最低有效位算法将密文嵌入到载体图像中。

4.2 提取与解密过程

以下是提取与解密的逐步过程:
1. 使用LSB算法从隐写图像中提取密文,然后将其保存到变量Ct中。
2. 读取随机密钥 Rk1(8位)和随机密钥Rk2(二进制)。
3. 使用两个随机密钥对密文通过公式(6)执行解密操作。
4. 获取解密的秘密消息图像。

5. 实验与结果

本研究使用的载体图像数据集取自[18]。所用图像类型为具有灰度类型或8位深度的标准测试图像。所有图像的尺寸均为512 * 512。所使用的图像均为tif格式,在处理前未进行任何修改或预处理。选择该图像旨在使本研究更易于与先前或后续的研究进行比较。图1展示了本研究中使用的载体图像。

示意图0

而所使用的消息图像为 256 * 128。消息大小是可以在载体图像中嵌入的最大消息大小,且载体图像每个像素的最大嵌入为 1 比特。所使用的消息图像如图2所示。

示意图1

第一步是先对消息图像进行加密。为了加密消息图像,需要两个随机密钥(Rk1 和 Rk2);图 3展示了所用的随机密钥图像示例。基于消息图像和密钥图像,使用公式(5)进行图像加密,生成如图4所示的加密的图像消息。

示意图2

示意图3

加密过程所需的时间相对较短,根据在Matlab中使用tic toc函数进行的测量,仅需约0.007秒(测试环境为AMD A12处理器和8 GB内存)。此外,消息的加密结果在视觉上与原始消息图像有显著差异。但视觉显示没有确定的尺寸标准,因此通过相关系数(cc)来量化加密效果,该系数可通过公式(7)[11]计算得出。cc是一种用于判断图像相关性程度的测量工具,其测量结果范围为0到1,值越接近0,表示加密结果与原始图像的相关性越来越不相关。测得的cc值为0.0029,该值非常接近零,表明加密结果非常好。

$$
cc = \frac{\sum\sum(O - \bar{O})(E - \bar{E})}{\sqrt{(\sum\sum(O - \bar{O})^2)(\sum\sum(E - \bar{E})^2)}}
$$ (7)

其中m和n为图像尺寸,O为原始图像或明文,E为图像加密或密文。

5. 实验与结果(续)

下一个过程是由LSB方法执行的嵌入过程,其中载体图像的每个像素被填充一个消息比特。调谐的结果产生一个隐写图像,其质量使用PSNR和SSIM进行测量。所使用的PSNR和SSIM公式是Matlab R2015a中psnr和ssim函数的默认公式。PSNR是图像信号的峰值噪声值,其中噪声表示大幅图像变化[19]。插入过程产生的噪声越多,所生成的隐写图像质量就越差。隐写图像的质量必须达到良好标准,高质量的隐写图像其PSNR值应至少40dB或更高[4]。对隐写图像质量的第二种衡量是SSIM。SSIM用于衡量隐写图像结构与原始图像的相似性。隐写图像质量越好,其结构越接近原始图像。SSIM值的范围为0到1。隐写图像质量越高,SSIM值越接近1。表1显示了隐写图像在PSNR和SSIM测量后的结果。

图像名称 原始图像 隐写图像结果 PSNR SSIM
cameraman.tif 54.1541 0.9949
lena_gray_512.tif 54.1917 0.9960
mandril_gray.tif 54.1617 0.9984
woman_darkhair.tif 54.1168 0.9947

根据表1中所示的隐写图像,原始载体图像与提出的方法生成的隐写图像之间没有视觉差异。表1中显示的PSNR和SSIM值也表明隐写图像质量非常好。SSIM值非常接近1,这表明隐写图像几乎没有结构变化,简而言之,其结构与原始载体图像相同。PSNR值超过54dB,远高于标准要求的40dB,属于非常好。除了PSNR和SSIM值外,还通过观察图像直方图进行测试。一个好的隐写图像其直方图应与原始图像直方图一致。表2显示了原始图像直方图与隐写图像直方图的对比。

示意图4

根据表2中的观察结果,载体图像直方图与隐写图像直方图非常相似。直方图的相似性表明,提出的方法生成的隐写图像质量良好。该方法测试的最后阶段是提取与解密过程。秘密消息应能够被完美地提取和解密,以确保没有消息丢失的意义。由于消息以图像形式存在,因此使用相关系数测量来确定原始消息与提取的消息之间的相似性。解密过程也非常快速,所需时间几乎与加密过程相同,约为0.007秒,这是通过tic toc函数测量得出的。根据所有提取消息的测量结果,得到cc = 1的值,这意味着消息可以被完美地提取和解密。图5显示了消息图像的提取与解密结果,并在视觉上也证明没有差异。

示意图5

6. 结论

本研究成功结合了两种安全技术,以提高消息图像的安全性。HBV算法是维吉尼亚和博福特两种密码算法的结合,可应用于图像消息中。消息图像加密算法的效果非常好,相关系数得分cc为= 0.0029。解密过程也完美运行,由cc值= 1得以证明。HBV算法的性能也非常快,每次加密和提取过程仅需约0.007秒。图像消息的加密结果随后通过LSB算法嵌入到载体图像中。根据实验结果,所产生的隐写图像质量非常好,高于54dB。此外,直方图分析显示,载体图像与隐写图像的直方图看起来非常一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值