计算机系统应用  2021, Vol. 30 Issue (7): 215-219   PDF    
基于位平面改进的图像信息隐藏算法
李笑, 王春玲, 陈亮     
西安工程大学 计算机科学学院, 西安710048
摘要:为了解决由于因特网的飞速发展引发的网络信息安全问题, 前人提出了一种基于最低有效位算法的图像信息隐藏技术, 巧妙地利用媒体信息冗余属性, 将秘密信息隐藏在其他媒体信息, 得到一个可以公开传播的嵌密载体, 使非法者不能意识到隐藏数据从而实现信息的存储和传输. 针对这种算法隐藏信息量不够大的问题, 将秘密信息从只在最低一位进行隐藏, 改变为采用先匹配, 若匹配失败再替换的原则, 将秘密信息每个连续两位依次嵌入载体图像中每个字节最低四位的两位中, 提高了传统最低有效位算法的隐藏量. 结果表明, 该算法隐藏量大, 隐藏前后图像质量变化小, 安全性高, 并且能够正确提取出秘密信息, 满足用户对信息隐藏的要求.
关键词: 信息安全    最低有效位算法    信息隐藏    嵌入    提取    
Improved Image Information Hiding Algorithm Based on Bit Plane
LI Xiao, WANG Chun-Ling, CHEN Liang     
School of Computer Science, Xi’an Polytechnic University, Xi’an 710048, China
Foundation item: Project of Scientific Big Data (Phase II)(XXH13505-03-207)
Abstract: To solve the problems of network information security caused by the rapid development of the Internet, predecessors proposed an image information hiding technology based on the least significant bit algorithm. This method cleverly uses the redundant attributes of media information to hide secret information in other media information, obtaining a carrier embedded with secrets that can be publicly disseminated. The information can be stored and transmitted because lawless people cannot detect the hidden data. Previously, the concealed information is limited as only the lowest digit of secret information is hidden. To solve this, we embed every two consecutive digits of the secret information in two of the least four digits of every byte in the carrier image on the principle of “matching first and making replacement if it fails”. In this way, the hidden amount of the traditional least significant bit algorithm is increased. The results show that the algorithm can meet the needs of users for information hiding due to its large hidden amount, little reduction in image quality after hiding, high safety, and ability to correctly extract secret information.
Key words: information security     Least Significant Bit (LSB) algorithm     information hiding     embedding     extraction    

随着网络的快速发展, 无论是国家、企业还是个人都会在网上进行消息的传输. 网络在带给我们通信便利的同时也带给我们新的问题: 如何保证涉密信息的安全存储和传输[1]. 信息隐藏技术为了解决这个问题应运而生. 最低有效位(Least Significant Bit, LSB)算法是信息隐藏技术中最常见的算法, 它是将秘密信息隐藏在图像像素值的最低位, 利用图像载体自身的冗余性以及人眼的不敏感性实现秘密信息的隐藏[2].

信息隐藏技术作为一个安全领域的新兴课题被很多专家学者做了深入的研究, 目前国内外针对LSB算法做了很多优化, 使得基于LSB算法的图像信息隐藏技术更能满足用户的需求. 徐文龙[3]根据纹理掩蔽效应中平滑区比较敏感的特征, 把秘密信息分段并转换后优先藏在载体图像比较复杂的区域, 使得视觉差异和鲁棒性明显降低; 苏彩霞[4]根据色彩的生理学理论, 利用人眼对色彩的敏感性, 用待隐藏的信息替换像素RGB分量中不同的最低比特位个数来增大秘密信息的嵌入量, 马文姬等[5]针对只选最低位的LSB算法会导致隐藏信息量不够大的缺点, 结合遗传算法, 实现秘密信息的自适应嵌入, 使得能够嵌入更大的隐藏量.

一般来说, 一个信息隐藏系统有很多特性, 其中最主要的是信息隐藏量[6]、不可见性[7]和鲁棒性[8], 这三者相互制约, 目前没有三者皆为最优的隐藏算法, 我们只能根据实际需要选择不同的算法来拿满足用户的需求[9]. 要想达到很好的隐藏效果, 基于图像的信息隐藏工具软件应该具有较大的嵌入量, 隐藏过程和提取过程效率不能低, 人的肉眼必须感觉不到伪装图像和原载体图像有任何区别, 要具有较高的安全性等特点. 本文就是在此基础上, 对LSB的替换算法进行了改进, 达到了较好的隐藏效果.

1 传统LSB算法

LSB算法是目前基于图像的信息隐藏技术最常用的算法, 也叫做最低有效位替换算法. 它实际上是利用图像的冗余来转换最低的信息, 但人眼无法检测到这种变化. 对于灰度图像, 人眼无法区分全部256级灰度, 对于4个左右灰度等级的差异, 人眼是无法分辨到的[10]. 它的原理是将秘密信息隐藏在图像载体数据的最低几位, 这就相当于在一个数据相当大冗余性相当强的原始载体上叠加了一个能量微弱的信号, 并不会影响原始载体的属性、格式、使用价值等, 在视觉上也很难察觉到嵌入秘密信息的载体和原始载体的区别, 从而保证了秘密信息的传送[11].

对于一副用多个比特表示其灰度值的图像来说, 其中的每个比特可看做表示了一个二值的平面, 也称位面[12]. 一个8位灰度图的8个位平面分解如图1所示, 一般用位面0表示最低位面, 位面7表示最高位.

传统的LSB算法, 采用的是使载体图像像素的最低一位被隐藏数据所替换, 隐藏效率太低, 隐藏的信息量相对有限且易被破坏.

图 1 8位灰度图的位平面分解图

2 改进的LSB算法

针对传统LSB图像隐藏算法中只选取最低位导致的隐藏信息量不够大以及容易被破坏的问题, 本文提出了改进算法, 并且在增大信息嵌入量的同时不影响图像的失真度, 安全性高.

分别将要隐藏的文本信息替换位平面0–7, 主观视觉效果如图2所示: 我们可以从人的主观视觉上看到位平面7对图像影响最大, 而位平面0对图像影响最小[13]. 在低四位上进行隐藏几乎看不到嵌密载体与原载体的区别, 说明在低四位进行信息隐藏可以达到较好的隐藏效果.

表1反映了在一张256×256的载体图像的各个平面上嵌入一个秘密信息后的峰值信噪比(PSNR)的变化, 一般来说主观上可以容忍的PSNR值都在20 dB以上, 达到35 dB以上意味着人眼基本察觉不出图像质量的降级[14]. 可以从表1看到低四位具有较高的信噪比. 用式(1)定义嵌有秘密信息图像的信噪比:

${{PSNR}} = 10{\rm{lo}}{{\rm{g}}_{10}}\frac{{{D^2}MN}}{{\displaystyle\sum\limits_{x = 1}^M {\displaystyle\sum\limits_{y = 1}^N {{{(I(x,y) - I'(x,y))}^2}} } }}$ (1)

其中, M×N是图像的尺寸, $I(x,y)$ 表示原始图像的像素, $I'(x,y)$ 表示嵌入秘密信息后图像的像素.

基于以上研究本文通过替换载体图像的低四位来实现信息隐藏.

2.1 秘密信息的嵌入过程

(1)选择原载体图像, 以载体图像的一个字节信息S为例, S可以表示为一个8位二进制数S8S7S6S5S4S3S2S1, 取出低四位S4S3S2S1并任意取出低四位中的其中两位, 记作SmSn.

(2)选择需要隐藏的秘密信息, 并读取每个字节的数据X8X7X6X5X4X3X2X1,取出连续的两位XiXj

(3)将mn按由小到大的优先规则按表2进行组合, 并用XiXj去匹配SmSn, 如果能够匹配成功, 此时可将mn所对应的test提取出来, 并将该test值加到test1集合中; 如果匹配失败, 则XiXj直接替换S2S1. 即S2=Xi, S1=Xj . 用0标记若匹配失败将找不到对应的test值, 并将0加到集合test1中.

图 2 将秘密信息隐藏在各平面上图片质量的变化

表 1 256×256载体各平面上隐藏信息PSNR的变化

表 2 mn的取值以及对应的标志

重复以上步骤直到秘密信息嵌入完毕.

(4)处理新产生的数据集test1

到第(3)步秘密信息已经完成嵌入, 但是产生的新的数据集test1仍然需要处理. 新的数据集test1集合的隐藏不能完全采用秘密信息的隐藏算法, 否则会产生新的数据. 为了解决这个问题并能够使test1更安全的隐藏到载体图像中. 把test1集合中的每个数据转换为二进制按照连续2个比特位与载体图像中每个字节二进制数据的低3、4进行异或加密, 将载体图像二进制数据的低1、2位替换为异或后所得数值, 从而实现标识集test1的隐藏.

test1集合信息的嵌入过程:

(1)确定test1在载体图像中进行隐藏的起始位置S. 在载体图像中, 从位置S开始的数据均未隐藏过秘密信息, 且隐藏量应该能将test1全部隐藏.

(2)在test1中取出连续的两位二进制数据, 记为FiFj, 依次与载体图像的最低三位和四位进行异或运算, 将结果隐藏到载体图像的最低一位和最低二位. 也就是S2=Fi⊕S4, S1=Fj⊕S3.

(3)依次取出test1和载体图像的数据, 进行步骤(2)的操作, 直到test1全部隐藏完毕.

嵌入过程流程图如图3所示.

2.2 秘密信息的提取过程

提取过程是嵌入过程的反向操作, 应该先提取test1再提取秘密信息. 步骤如下:

(1)从伪装了秘密信息的载体图像中找到test1进行隐藏的起始位置S, 从S字节开始, 依次读取每个字节二进制数据的最低四位S4S3S2S1, 分别将S4和S2、S3和S1进行异或运算, 即Fi=S2⊕S4, Fj=S1⊕S3, 将标识集test1还原出来.

(2)通过test1从表2中查找mn的值.

(3)在伪装图像中依次读取出二进制信息, 按照mn的值提取对应的比特位, 将原始二进制信息还原出来.

(4)重复步骤(3), 直到所有秘密信息被提取出来.

图 3 改进算法的嵌入流程图

3 实验分析

为验证改进算法的效果和稳定性, 在Matlab平台上选取了不同的载体图像和不同类型的隐藏文件作了试验. 如图4是将一个256×256的Lena图像作为载体图像, 利用改进的LSB算法, 把一个267×107的二值图像作为秘密信息嵌入载体图像里. 图4(a)为原载体图像,图4(b)为秘密图像, 图4(c)为带有秘密信息的伪装载体, 图4(d)为提取出来的秘密图像.

从主观结果来看, 嵌入秘密信息后的载体图像与原载体图像视觉上的差别不明显, 满足不可见性. 且本文针对传统LSB隐藏算法嵌入量不够大的情况做出了改进, 利用本文算法将不同信息量的秘密信息嵌入图4(a)中得到PSNR值, 并与文献[15,16]的算法进行比较, 结果如图5所示. 可以看出当PSNR相同时, 本文算法可以嵌入的秘密信息量更多.

图 4 图像隐藏算法实现示意图

图 5 不同算法在相同嵌入量下的PSNR比较

为了检验此方法的抗攻击能力, 在Matlab上对嵌入秘密信息后的载体进行了一系列攻击实验, 图6反映了经过旋转、噪声以及滤波后的效果. 由此可见虽然由于攻击提取出来的秘密信息存在一定失真, 但是秘密信息仍能正确提取出来.

4 结论与展望

随着网络的快速发展, 信息隐藏技术已经成为一种主流技术, 本文针对传统的信息隐藏技术进行改进, 通过实验证明本文算法的不可见性高, 隐藏透明性好, 具有较高的安全性. 对比传统的LSB算法, 隐藏容量大, 可以隐藏任何不超过原载体图像大小的秘密信息, 且由于隐藏位置相较于传统算法更具随机性, 所以鲁棒性有所增强, 抗打击能力高, 具有较高的实用价值, 满足用户对信息隐藏的需求, 可以推广到实际应用中.

图 6 各种攻击及其提取的隐藏信息

参考文献
[1]
柏森, 廖晓峰. 信息安全新领域——信息隐藏. 重庆工学院学报, 2006, 26(8): 7-14.
[2]
谭菲. 数字图像信息隐藏技术的研究与应用[硕士学位论文]. 西安: 西安科技大学, 2011.
[3]
徐文龙. 基于图像空间域信息隐藏关键技术研究[硕士学位论文]. 合肥: 安徽大学, 2017.
[4]
苏彩霞. 一种改进的LSB彩色图像信息隐藏方法. 现代电子技术, 2013, 36(9): 88-90. DOI:10.3969/j.issn.1004-373X.2013.09.030
[5]
马文姬, 张煜林. 传统LSB图像隐藏算法的优化研究. 电子产品世界, 2016, 23(9): 61-63.
[6]
Al-Dmour H, Al-Ani A, Nguyen H. An efficient steganography method for hiding patient confidential information. Proceedings of 2014 36th Annual International Conference of the IEEE Engineering in Medicine and Biology Society. Chicago, IL, USA. 2014. 222–225.
[7]
高婷. 不可见性与鲁棒性均衡水印算法研究[硕士学位论文]. 阜新: 辽宁工程技术大学, 2018.
[8]
Kakkirala KR, Chalamala SR. Block based robust blind image watermarking using discrete wavelet transform. Proceedings of 2014 IEEE 10th International Colloquium on Signal Processing and Its Applications. Kuala Lumpur, Malaysia. 2014. 58–61.
[9]
李笑, 王春玲, 陈亮. 一种改进的空域图像信息隐藏算法. 西安工程大学学报, 2020, 34(1): 119-123, 130.
[10]
张海涛, 姚雪, 陈虹宇, 等. 基于位平面和HVS的信息隐藏算法. 中国图象图形学报, 2013, 18(12): 1559-1566. DOI:10.11834/jig.20131202
[11]
Malathi P, Gireeshkumar T. Relating the embedding efficiency of LSB steganography techniques in spatial and transform domains. Procedia Computer Science, 2016, 93: 878-885. DOI:10.1016/j.procs.2016.07.270
[12]
姚雪. 一种基于位平面和HVS的信息隐藏算法研究[硕士学位论文]. 阜新: 辽宁工程技术大学, 2014.
[13]
欧阳杰. 基于灰度图像的信息隐藏算法研究[硕士学位论文]. 哈尔滨: 哈尔滨工程大学, 2010.
[14]
李艳芳, 王舰, 张旭. 图像隐藏信息与图像噪声分辨研究. 计算机工程与科学, 2014, 36(6): 1154-1158. DOI:10.3969/j.issn.1007-130X.2014.06.025
[15]
陈小娥. 基于MATLAB的图像信息隐藏算法研究与实现. 绍兴文理学院学报, 2018, 38(3): 86-92.
[16]
余兵奇. 一种改进的最低有效位信息隐藏算法的研究[硕士学位论文]. 郑州: 河南工业大学, 2013.