当前位置:首页 » 操作系统 » LSB算法

LSB算法

发布时间: 2022-02-01 14:35:59

❶ 数字图像LSB代码

LSB算法是数字图像信息隐藏应用较早较普遍的算法[3],是在图像信息的最不重要二进制位嵌入秘密信息。根据24位BMP图像文件的结构特点,每个文件只能非压缩地存放一幅彩色图像;文件头由54个字节的数据段组成,其中包含有该位图文件的类型、大小、图像尺寸及打印格式等;从第55个字节开始,是该文件的图像数据部分,由一系列的字节所组成,每连续3个字节便描述图像一个像素点的颜色信息,这三个字节分别代表蓝、绿、红三基色在此像素中的亮度。LSB算法是用图像数据部分每个字节中最低位来隐藏信息。这样每8个字节就可隐藏1个字节的信息[4]。
嵌入信息的方法为:首先,将待隐藏的秘密信息转化为二进制数据码流;然后,将BMP文件图像数据部分的每个字节的最低位替换为需隐藏的信息位。最后,原样复制其他不需要继续隐藏信息的原始数据。从对位图文件的分析,得知偏移量为0x06的4个字节为系统保留,可将被隐藏文件的大小写入该位置,以便提取信息时提前知道有用信息的长度,提高解码效率。对文件头部的其他50个字节,原样复制即可。隐藏过程如图1所示。

图1. LSB图像隐藏算法示意图
Fig.1 LSB data hiding algorithm
信息提取是把隐藏的信息从载体图像中读取出来,其过程和步骤正好与信息嵌入相反。首先,到隐藏信息后的图像文件的0x06处读取被隐藏信息的字节数;然后,从0x36处开始,求取BMP文件图像数据部分每个字节最低位,每够8个字节,便将输出的8位二进制数组成一个字节。经过上述处理,得到一系列8位二进制数,便是隐藏信息的代码,将代码转换成文本、或图像、或声音,就是隐藏的信息。提取过程如图2所示。
由于原始24位BMP图像文件隐藏信息后,其数据部分字节数值最多变化为1,该字节代表的像素颜色值最多只变化了1/256,所以,已隐藏信息的BMP图像与未隐藏信息的BMP图像,用肉眼是看不出差别的。将信息直接嵌入像素RGB值的优点是嵌入信息的容量与所选取的掩护图像的大小成正比。使用这种方法,一个大小为32k的24位BMP图像文件,可以隐藏约32k/8=4k的信息(忽略文件头不能隐藏数据的54个字节),该方法具有较高的信息隐藏率。

图2. LSB图像提取算法示意图
Fig.2 LSB data extracting algorithm
由于该算法是通过调整原始数据的最低位来隐藏信息,使一般用户对于隐藏信息,在视觉和听觉上很难察觉。但作为数字水印算法,该算法因其基本原理限制,所隐藏的数字水印信息是极为脆弱的,无法经受一些无损和有损的信号处理。
3 新的数字水印算法
这种技术的改进,是在基于LSB图像隐藏技术的基础上,对待隐藏的水印信息进行反复的隐藏,因为图片布满水印信息,所以,有很强的抗剪裁能力。
对载体图片进行剪裁后,极有可能会破坏水印信息原有的位置,使我们无法对水印信息进行定位,也就无从实现提取了。因此,这种算法的关键在于如何对水印信息进行同步。下面,提出一种同步的方法:
(1)在数字水印信息前依次连续写入同步信号0000,1111,1111数遍(4遍以上),然后写入前标识符1001,0001,再写入隐藏信息,最后写入后标识符1001,0001。
(2)读入被剪裁后的载体图片的信息位,如果首位是0则跳过,从非0的位开始读取,连续读入8位,判断该数据是否为同步字FF,如果不是同步字FF则继续从非0的位开始读其后的8位,直到连续读出2组同步字FF,证明已经同步,然后一直到读出前标识符,说明其后为隐藏信息位,读出数据,直到读入后标识符,说明隐藏信息已经完整的读完,至此读出一条完整的信息。如图3所示,无论从第1个同步字的任何一位开始读取,可以保证到第3个同步字时已经完成同步操作,第4个同步字完成确认同步并等待前标识的到来。

❷ LSB算法的原理是什么

LSB算法
首先 将得到的隐藏有秘密信息的十进制像素值转换为二进制数据;
然后 用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位;
最后 将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像。

❸ lsb算法(把一个bmp图像隐藏到另一个图像中,用Matlab实现,求源码,谢谢,急

基于LSB算法的。就是修改最低位的那个。请吧程序贴出来,再解释下每条代码毕业设计要的。还要吧波形读出来。 回答的好继续加分。 理解算法

❹ 图像水印的LSB算法,VC++代码

void
CDib::Embed()//嵌入
{
unsigned
char
bmdata;//BMP图像数据
unsigned
char
efdata;//嵌入的文件数据
int
t
=
7;
int
x[8];
int
s[8];
int
last_bit;
//记录字节最低位本来的bit
for(UINT
i1
=
0,
i2
=
0;
i1
<=
bitmap_size
-
1,
i2
<=
embfile_size
-
1;
i1++)
{
//生产隐藏信息,并逐步嵌入到宿主图像各像素的最低位上
bmdata
=
*p;//p指向图像数据的每个像素,把当前像素值给bmdata

❺ 信息隐藏lsb算法的检测方法

h一种基于扫描相关度的LSB算法 教程,希望能给你带来帮助
ttp://www.cnki.com.cn/Article/CJFDTotal-JSJY200905047.htm

❻ 求一个LSB数字水印算法

几何攻击吗?旋转,什么的那种?
直方图,数字水印嵌入发。选择你需要的色素直方图段。根据直方图段,选择相应的色素。
然后做一些变换,嵌入水印。

❼ matlab lsb算法中test.txt怎么定义

你好,matlab编程语言不同于其他编程语言的使用中变量需要先定义再使用,matlab的变量是可以直接使用的,不需要预先的定义,祝好。

❽ LSB算法有何优缺点

你中南信安的吧。加分。我给你发实验报告,给20分最好了,这是我的新ID,没财富。

综上所述,LSB有如下缺点:
1) 嵌入消息较大时,所花时间较长。
2) 只能处理简单的流格式的文件。
3) 为了满足水印的不可见性,允许嵌入的水印强度较低,对空域的各种操作较为敏感。
4) 基本的LSB算法抗JPEG压缩能力弱。
5) 鲁棒性差。
LSB算法有如下优点:
1) 算法简单,易于实现,计算速度也快。
2) 在基础算法上能够很快的进行改进,并在脆弱性水印中应用广泛。
3) 由于能在最低有效位(一般是最后两位)进行嵌入,故对于256色(8位)的RGB图像,在3层图像中均可插入1/8到1/4的消息,总的来说,容量还是足够大的。

❾ LSB算法的介绍

流载体的LSB方法 (1)嵌入:选择一个载体元素的子集{j1,j2,...jL(m)},其中共有L(m)个元素,用以信息隐藏信息的L(m)个Bit。然后在这个子集上执行替换操作,把cji的最低比特用m替换。(2)提取:找到嵌入信息的伪装元素的子集{j1,j2,...jL(m)},从这些伪装对象中抽取他们的最低比特位,排列组合后组成秘密信息。

❿ LSB算法有什么优点和缺点,针对其缺点有什么改进方法

LSB(LeastSignificant Bits)算法:将秘密信息嵌入到载体图像像素值的最低有效位,也称最不显着位,改变这一位置对载体图像的品质影响最小。
LSB算法的基本原理:
对空域的LSB做替换,用来替换LSB的序列就是需要加入的水印信息、水印的数字摘要或者由水印生成的伪随机序列。由于水印信息嵌入的位置是LSB,为了满足水印的不可见性,允许嵌入的水印强度不可能太高。然而针对空域的各种处理,如游程编码前的预处理,会对不显着分量进行一定的压缩,所以LSB算法对这些操作很敏感。因此LSB算法最初是用于脆弱性水印的。
LSB算法基本步骤:
1 将得到的隐藏有秘密信息的十进制像素值转换为二进制数据;
2 用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位;
3 将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像。

热点内容
html文件上传表单 发布:2024-09-17 03:08:02 浏览:783
聊天软件编程 发布:2024-09-17 03:00:07 浏览:725
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197
Z包解压命令 发布:2024-09-17 01:27:51 浏览:221