发布时间:2022-04-02所属分类:计算机职称论文浏览:1次
摘 要: 摘 要:本文设计了基于 CL-LSB 的数字图像信息隐藏算法,并使用 Python 编程实现了信息隐藏和信息提取功能。首先对载体图像应用 Chui-Lian(CL) 多小波变换理论生成信息隐藏区域,对秘密信息进行哈希、加密和编码等预处理,然后对信息隐藏区域进行位平面分解,在由最低
摘 要:本文设计了基于 CL-LSB 的数字图像信息隐藏算法,并使用 Python 编程实现了信息隐藏和信息提取功能。首先对载体图像应用 Chui-Lian(CL) 多小波变换理论生成信息隐藏区域,对秘密信息进行哈希、加密和编码等预处理,然后对信息隐藏区域进行位平面分解,在由最低有效位(LSB)组成的位平面实施秘密信息嵌入,最后对图像进行 CL 多小波反变换以生成含密图像。实验结果表明,算法的最大嵌入率可达 0.25 bpp,在最大嵌入容量范围之内,峰值信噪比(PSNR)均大于 55 dB,平均结构相似性指数(SSIM)维持在 0.99,含密图像与原始图像相比保持较高的相似度,算法在容量性和不可见性上具有一定的优越性。
关键词:信息隐藏;信息安全;图像处理;隐私保护
0 引言
目前,在诸多关于信息隐藏技术的研究中,基于数字图像的信息隐藏技术应用最为广泛 [1],并且多数信息隐藏算法都是基于运算域的,基于空间域的信息隐藏算法的设计思想主要有:直接修改图像的某些像素值来隐藏信息、通过直方图移位来生成隐藏区域、在颜色空间运用颜色迁移理论和组合位平面理论实现信息隐藏、通过将图像插值放大后在插值空间嵌入隐藏信息等 [2]。基于空间域的算法实现简单,在嵌入容量和不可检测性上都有较好的性能,但是这类算法的抗攻击鲁棒性较差。变换域算法通过修改图像载体的频率参数来隐藏信息,常见的变换域有离散余弦变换、离散小波变换、多小波变换等。这类算法的抗攻击鲁棒性会比空间域算法好。
上述算法为信息隐藏技术的发展提供了新思路,本文在现有理论的基础上,应用 CL 多小波变换和最低有效位理论设计并实现了一种新的数字图像信息隐藏算法:首先对载体图像进行 CL 多小波变换生成信息隐藏区域,对输入的隐藏信息按照信息隐藏规则进行哈希、加密和编码,然后对隐藏区域进行位平面分解,在由最低有效位组成的位平面实施隐藏信息的嵌入,最后对载体图像进行重构生成含密图像。实验证明:本算法在容量和不可见性上具有较好的表现。
1 基于 CL 多小波变换与 LSB 的信息隐藏算法
1.1 隐藏区域
隐藏区域的性质是影响信息隐藏算法的关键因素,隐藏区域的好坏主要从区域的能量分布特性和复杂度两个角度来考虑 。在低能量区域进行信息隐藏能够满足信息隐藏不可见性的指标,而在能量高的区域进行信息隐藏能够使隐藏信息的能量较为均匀地分布在整个区域,能够满足信息隐藏算法的鲁棒性指标。此外,人对亮度较高的区域和纹理较为密集的区域的敏感性低,在这类区域隐藏信息可以嵌入较多的信息内容并且能够满足不可见性的要求。
本文使用 CL 多小波变换对载体图像进行预处理,使其形成分量子图分布,再将能量权重相对较大的 LL1 分量子图进行位平面分解,把由 LSB 组成的位平面作为本算法的信息隐藏区域。
1.2 隐藏规则
在进行信息隐藏之前需要根据信息隐藏规则进行预处理,在制定信息隐藏规则时需要考虑隐藏信息的数据组织方式、信息编码和使用的嵌入技术问题。
具体隐藏规则如下。规则 1:对于所有文本数据,默认使用 UTF-8 字符集编码。规则 2:对隐藏信息校验数据的生成和提取信息的校验使用 SHA-256 算法完成。规则 3:使用 AES 加密算法对隐藏信息进行加密,加密模式为 CBC,为防止用户使用弱密码,加密密钥由系统随机生成。规则 4:二进制数据转换为文本数据时使用 Base64 编码。规则 5:由系统处理得到的密文、初始向量、校验数据等统一组织为 JSON 字符串的格式。规则 6:由载体图像生成的信息隐藏区域 LL1,将各通道分量转换为灰度图像,像素值的数据类型统一为 8 位无符号整型;隐藏信息转换为由“0,1”组成的比特序列,前 4 个字节存放数据大小,其后为隐藏数据;在嵌入数据时将隐藏区域的像素值和隐藏信息的比特序列转换为一维向量,对隐藏区域进行位平面分解,将隐藏信息按顺序嵌入由 LSB 组成的位平面中。
1.3 隐藏算法的运行步骤
如图 1 所示,信息隐藏算法由载体图像解析系统、隐藏信息预处理系统和 LSB 嵌入系统组成,下面对隐藏算法的运行步骤进行详细介绍。
步骤 1:由载体图像解析系统读取载体图像,对图像进行 CL 多小波变换,生成信息隐藏区域,然后将载体图像交由 LSB 嵌入系统处理。
步骤 2:由隐藏信息预处理系统读取隐藏信息,对隐藏信息进行 UTF-8 字符编码。
步骤 3:对隐藏信息进行 SHA-256 哈希运算,生成校验数据。
步骤 4:生成随机密钥,使用密钥对隐藏信息进行 AES 加密,得到密文和初始向量。
步骤 5:对密文、密钥、初始向量和校验数据进 Base64 编码,然后转换为JSON字符串,输入LSB嵌入系统进行处理。
相关期刊推荐:《信息与电脑》是一本关注计算机及其应用的学术杂志。提供一个政府及相关职能部门、高校、研究机构、经济及技术专家、信息化软硬件及解决方案供应商、流通业信息化需求企业以及科技人才共同交流的平台。杂志的主要特点就是汇集流通业IT业内专家和企业管理者最新的言论和观点,以及他们的实践经验与体会分享,为流通领域的企业提供理论指导和实践参考。
步骤 6:在 LSB 嵌入系统中,计算图像隐藏区域大小和隐藏数据大小,将隐藏区域的各个通道分量转换为一维列向量,并进行位平面分解;将隐藏信息和隐藏数据大小转换为 “0100101…”形式的比特向量,将隐藏大小数据填充至 4 个字节,然后拼接到隐藏数据之前作为数据头,然后将比特序列转换为一维向量,在隐藏区域的 LSB 位平面进行数据嵌入,最后对隐藏区域的位数据进行打包,并恢复隐藏区域图像原来的维数。步骤 7:对嵌入隐藏信息的载体图像进行 CL 多小波反变换,生成含密图像并输出。
1.4 提取算法的运行步骤
步骤 1:由载体图像解析系统读取含密图像,对含密图像进行 CL 多小波变换,生成信息隐藏区域并交由 LSB 嵌入系统进行处理。步骤 2:在 LSB 嵌入系统中,将图像隐藏区域的各个通道分量转换为一维列向量,然后进行位平面分解,在 LSB 位平面先提取 4 个字节数据,解析隐藏数据的大小,然后按隐藏数据大小提取出隐藏数据,将隐藏数据交由隐藏信息后处理系统操作。步骤 3:在隐藏信息后处理系统中,对提取数据进行解码,从中解析出密文、校验数据和初始向量。步骤 4:读取解密密钥,使用密钥和初始向量对密文进行解密,得到明文数据。步骤 5:对明文进行 SHA-256 运算,并与校验数据比较,若数据校验一致,则对明文进行 UTF-8 解码并输出,秘密信息恢复成功;否则秘密信息恢复失败。
2 实验结果与分析
本文设计的算法在 Windows 10 1809 操作系统中进行了实现和实验测试,使用的编程语言为 Python 3.6.7rc1,主要使用 NumPy 库提供的 n 维数组功能处理图像数据。
2.1 测试结果
本文算法最终以 Python 包的形式实现,编写的程序可以在 Python shell 里面导入相应的功能模块并直接使用,也可以通过 Python 的包管理工具 pip 从源码安装到自己的电脑,通过 cmd 以命令行的方式使用。测试使用的载体图像为大小 512*512*3 的 RGB 彩色图像 Peppers。载体图像原图和完成信息嵌入的含密图如图 2 所示,通过人的肉眼基本上无法察觉二者之间的差异,含密图基本上保留了原图的表征特性,从主观评价的角度来看,本文算法是可行的,并且具有一定的不可见性。
2.2 性能分析
为定量分析算法的性能,本文采用峰值信噪比(PSNR)、结构相似度指数(Structural Similarity Index,SSIM)和嵌入率(bits per pixel,bpp)作为算法性能的客观评价指标。 PSNR 和 SSIM 的值越大,说明载体图像与含密图像的相似度越高,算法的不可见性越好。嵌入率的值越大,表明可嵌入信息的容量越多,算法的容量性能越好。
对于信息嵌入量与不可见性的测试,使用的测试图像为 512*512*3 的 RGB 彩色图像 Peppers,图像隐藏区域的最大嵌入率为 0.25 bpp,数据大小为 192 kbit,相当于一篇一万字左右的中文文章经过本算法的加密和信息编码等处理后得到的数据大小,算法在嵌入容量上有较好的表现。嵌入量与算法的不可见性测试结果如图 3 所示,随着嵌入数据的增加,图片的不可见性随之降低。在嵌入数据量小于 25 kbit 时,图片的不可见性受嵌入数据量的影响较为显著,而当嵌入数据量大于 25 kbit 时,图片的不可见性随嵌入数据量的增加而降低的趋势有所减缓。当嵌入数据量接近本图的最大嵌入数据大小时,对应的 PSNR 大于 55 dB,可见本算法具有较好的不可见性。
3 结 语
本文提出了一种基于 CL-LSB 的数字图像信息隐藏算法,对载体图像进行 CL 多小波变换处理,利用其分量子图的区域分布特点,选择能量权重较高的子图分量 LL1 进行位平面分解,生成信息隐藏区域;对于隐藏信息的加密、校验等预处理工作,制定了信息隐藏规则;算法的实现使用 Python 编程语言,完成了信息隐藏和信息提取的功能。实验结果表明,本文算法在容量和不可见性上具有良好的性能表现。——论文作者:赵全友 朱新强
参考文献
[1] 魏程程 . 数字图像隐写与隐写分析技术的研究 [J]. 信息与电脑 ( 理论版 ),2018(12):213-215.
[2] 张弢 , 慕德俊 , 任帅 .lαβ 与组合位平面技术在信息隐藏算法中的应用 [J]. 计算机工程与应用 ,2009,45(20):10- 12,22.
SCISSCIAHCI