LSB算法——隐藏文字信息
LSB(Least Significant Bit)最低有效位,指二进制中最低位数值。
详见WiKi:https://en.wikipedia.org/wiki/Least_significant_bit
隐写术
隐写术是一种关于信息隐藏的技术,通常利用位图的RGB三种颜色值(0~255)在微小改变的情况下难以被人眼察觉的特点。每种颜色值都可以用8位二进制来表示,而最低有效位LSB技术就是通过修改最低几位的数值来将信息嵌入到图片中去。
详见WiKi:https://en.wikipedia.org/wiki/Steganography
相关方法
LSB方面的论文有很多,在此利用以下这篇
Chan C K, Cheng L M. Hiding data in images by simple LSB substitution[J]. Pattern recognition, 2004, 37(3): 469-474.
http://www.sciencedirect.com/science/article/pii/S003132030300284X
其具体的思路如下:
1. 设图像像素为MC×NC, C表示原8-bit图像
C={xij|0≤i
M
为n-bit待隐藏的消息
M={mi|0≤i
2. 将
M
重排为
M′
:
M′={m′i|0≤i
其中
n′
,则
m′
可以表示为:
m′i=Σk−1j=0mi×k+j×2k−1−j
3. 从原图中按照既定规则挑选出
n′
个像素:
{xl1,xl2,...,xln′}
,嵌入过程是通过用
m′
替换
xli
的
k
位LSBs,则
xli
会被替换成
x′li=xli−(xlimod2k)+m′i
4. 提取消息的方法为:
m′i=x′limod2k
MATLAB相关函数解释
imread( ) 用于读取需要嵌入隐藏信息的图片,并存储为 uint8 类型的三维RGB矩阵