当前位置:网站首页>基于汇编实现的流载体的LSB隐藏项目
基于汇编实现的流载体的LSB隐藏项目
2022-06-29 16:43:00 【biyezuopinvip】
资源下载地址:https://download.csdn.net/download/sheziqiong/85821577
资源下载地址:https://download.csdn.net/download/sheziqiong/85821577
一、 流载体的LSB方法
嵌入:选择一个载体元素的子集
,其中共有
个元素,用以隐藏秘密信息的
个比特。然后在这个子集上执行替换操作,把
的最低比特用
来替换。提取:找到嵌入信息的伪装元素的子集
,从这些伪装对象中抽出它们的最低比特位,排列之后组成秘密信息。
二、 选择隐藏位置子集的方法
- 顺序选取
缺点:已嵌和未嵌部分数据特征不同。
- 随机间隔法
用伪装密钥k作为伪随机数发生器的种子,生成一个伪随机序列,嵌入位置为

三、 LSB方法的特点
简单,易实现,容量大。
安全性不高,不能抵抗叠加噪声、有损压缩等破坏。
四、 LSB算法的基本原理
对空域的LSB做替换,用来替换LSB的序列就是需要加入的水印信息、水印的数字摘要或者由水印生成的伪随机序列。由于水印信息嵌入的位置是LSB,为了满足水印的不可见性,允许嵌入的水印强度不可能太高。然而针对空域的各种处理,如游程编码前的预处理,会对不显著分量进行一定的压缩,所以LSB算法对这些操作很敏感。
五、 LSB算法基本步骤
将原始载体图像的空域像素值由十进制转换成二进制;
用二进制秘密信息中的每一比特信息替换与之相对应的载体数据的最低有效位;
将得到的含秘密信息的二进制数据转换为十进制像素值,从而获得含秘密信息的图像。
六、 代码实现与解释
使用MATLAB实现LSB算法,用lsb_decode函数实现秘密信息嵌入,用lsb_encode函数实现秘密信息提取,之后img_lsb.m主程序对这两个函数进行调用测试,最后对提取信息进行误码率检测。
- lsb_encode



如果只把信息保存在一个像素中很容易丢失,所以根据信息长度与载体图片的长度划分小块,以一个小块存储一位信息,能大大增加信息隐藏的健壮性。
- lsb_decode函数



由于嵌入信息时是一小块为一个整体,所以提取时也同样要这样做,由于图片在传输或者保存过程中可能会有一些改变,所以计算每个小块内隐藏信息的阈值,如果一半以上为1则这个小块隐藏的信息为1否则为0。
- 主程序img_lsb.m


在调用嵌入函数之前,需要保证载体图片为灰度图片,如果载体图片不足以隐藏秘密信息,则人为把载体图片扩充以隐藏,以保证信息的正常嵌入。

调用提取函数,获得秘密信息。

最后计算一下提取的信息与隐藏信息的误码率,用于查看实验效果。
七、 实验结果展示
载体原图:lena_g.bmp 利用LSB嵌入秘密信息的图片:hide.bmp


运行结果:

资源下载地址:https://download.csdn.net/download/sheziqiong/85821577
资源下载地址:https://download.csdn.net/download/sheziqiong/85821577
边栏推荐
- Kotlin basic grammar
- 固态存储厂商忆联加入龙蜥社区,共建开源新生态
- Is it safe to open a compass account and speculate in stocks? How individuals open accounts for stock trading
- Take another picture of cloud redis' improvement path
- 6.26cf simulation game d: black and white questions
- Apache atlas breakpoint view
- C winfrom chart chart control bar chart and line chart
- 进阶 | webgl性能优化初尝
- Real test = "half product + Half development"?
- Perhaps in two years, ASML will be free to supply EUV lithography machines to China
猜你喜欢

About xampp unable to start MySQL database

After eight years of testing and opening experience and interview with 28K company, hematemesis sorted out high-frequency interview questions and answers

InheritableThreadLocal 在线程池中进行父子线程间消息传递出现消息丢失的解析

Take another picture of cloud redis' improvement path

Nanjing University: Discussion on the training scheme of digital talents in the new era

UWB precise positioning scheme, centimeter level high-precision technology application, intelligent pairing induction technology

Sophon autocv: help AI industrial production and realize visual intelligent perception

Graduates are confused and middle-aged people are anxious. How can the career path become wider and wider?

Calibration of binocular camera based on OpenCV

Fluent的msh格式网格学习
随机推荐
Comprehensive analysis of Seata distributed transaction at and XA
6.25AtCoderABC257E - Addition and Multiplication 2题解
Actual combat | magical conic gradient
Graduates are confused and middle-aged people are anxious. How can the career path become wider and wider?
Why does selenium become the first choice for web automated testing? (source code attached)
How to use openmesh to realize the conversion between 3D files of different formats
有遇到用flink-cdc采集MySQL-RDS的时候,datetime类型的字段,采集过来后和源表
535. TinyURL 的加密与解密 / 剑指 Offer II 103. 最少的硬币数目
机器学习8-人工神经网络
InheritableThreadLocal 在线程池中进行父子线程间消息传递出现消息丢失的解析
flink sql rownumber 报错。谁遇到过啊?怎么解决?
Small programs have a "big" role in the industrial Internet
解题元宇宙,网络游戏中的多元通信方案
In depth analysis of Monai (I) data and transforms
固态存储厂商忆联加入龙蜥社区,共建开源新生态
如何利用OpenMesh实现不同格式的3D文件间的转换
Nanjing University: Discussion on the training scheme of digital talents in the new era
实战 | 神奇的 conic-gradient 圆锥渐变
数学知识:求组合数 II—求组合数
Telnet+ftp to control and upgrade the equipment