LSB隐写是什么?

LSB隐写是什么?

  • 所需知识
    • 二进制
    • LSB的概念
    • LSB在数值中的作用
    • LSB在量化中的应用
    • 小结
  • LSB隐写
    • 原理
    • 应用
    • 威胁与挑战
    • 改进
    • 补充资料

所需知识

二进制数
位(bit)
LSB概念

二进制

在计算机科学中,二进制数是一种数制,使用两个数字:0和1来表示所有的数值。

位是计算机科学中的一个基本概念,是二进制数的最小单位。每个位可以是0或1,代表电子设备的一个开关状态。

LSB的概念

LSB指的是一个二进制数中影响数值最小的那一位。在二进制数中,从右到左,每一位的值是前一位的两倍。也就是说,最右边的一位是2的0次方,左边的下一位是2的1次方,然后是2的2次方,依此类推。
即:LSB是指最右边的二进制数。

LSB在数值中的作用

当我们改变LSB的值时,数值的变化是最小的。例如,如果我们将二进制数1001中的LSB从1改为0,数值将从9变为8,变化了1。而如果我们改变最左边的位(MSB),数值将从9变为1,变化了8。

LSB在量化中的应用

在模拟到数字的转换(如音频信号转换为数字音频文件)中,LSB决定了转换的精度。每个量化步进的大小就是一个LSB。因此,如果一个信号的最小变化是1 LSB,那么它将具有更高的精度和分辨率。

小结

LSB是二进制数中最右边的位,它对数值的影响最小。在计算机科学中,理解LSB对于处理数据、优化存储和提高计算精度都非常重要。

LSB隐写

LSB隐写(Least Significant Bit Steganography)是一种信息隐藏技术,它通过在数字媒体(如图片、视频或音频文件)中的最低有效位嵌入秘密信息来实现隐蔽传输。LSB隐写的核心思想是利用人类视觉系统(HVS)对细微变化不敏感的特性,将信息隐藏在载体文件的像素值的最低位上。

原理

1.像素值的修改
在数字图像中,每个像素点的颜色通常由RGB三原色值(红、绿、蓝)表示,每个颜色通道通常是8位的,可以表示0到255的数值。LSB隐写技术通过修改每个颜色通道的最低有效位(即最低位,从右往左数的第一位)来嵌入信息。由于只修改最低位,因此对像素颜色的影响非常小,人眼几乎无法察觉。
2.信息的嵌入
秘密信息首先转换为二进制形式,然后,将这些二进制位按顺序替换到图像中每个像素的RGB值的最低有效位上。由于每个像素的三个颜色通道都可以携带一位信息,因此一个像素点可以隐藏三位秘密信息。
3.信息的提取
接收方收到含有隐写信息的图像后,需要从每个像素的RGB值的最低有效位提取出二进制数据,并将这些数据按顺序组合起来,还原成原始的秘密信息。

应用

1.数据保密和隐蔽传输
2.数字水印和版权保护
3.医疗图像和隐私保护

威胁与挑战

1.统计分析法
通过分析图像像素的统计特征,可能发现LSB隐写的痕迹。
2.隐写分析工具
可检测和提取隐秘信息
3.图像-处理攻击
压缩、缩放可造成隐写破坏

改进

1.量化调整
改变LSB替换时的量化步长,更加隐蔽
2.混合隐写
多种隐写方法一起使用
eg:DCT隐写、DWT隐写、语义隐写、混沌隐写、音频隐写、视频隐写、基于机器学习的隐写
3.嵌入策略
提高鲁棒性
eg:

  • LLMs
  • 随机嵌入(秘密信息的二进制位被随机地嵌入到图像的像素值中,而不是按照固定的顺序。这种随机性可以增加分析和检测隐写信息的难度。)
  • 基于图像内容的嵌入(根据图像内容的特点(如纹理、颜色分布等)来选择嵌入位置。例如,在图像的边缘或纹理复杂的区域,人眼对像素值变化的敏感度较低,可以优先在这些区域嵌入信息。)
  • 多级嵌入

补充资料

B站-隐写术鉴赏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/827345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开源大数据集群部署(二十一)Spark on yarn 部署

作者:櫰木 1 spark on yarn安装(每个节点) cd /root/bigdata/ tar -xzvf spark-3.3.1-bin-hadoop3.tgz -C /opt/ ln -s /opt/spark-3.3.1-bin-hadoop3 /opt/spark chown -R spark:spark /opt/spark-3.3.1-bin-hadoop32 配置环境变量及修改配…

攻防世界---misc---再见李华

1.下载附件是解压之后得到一张图片 2.使用常规方法后没有得到什么信息,接着用winhex分析,发现有压缩包 ,里面还有个key.txt 3.接着用kali使用命名foremost进行分离,得到压缩包,里面的key.txt需要密码 4.接着给压缩包暴…

IDEA代码重构

重构 重构的目的: 提高代码的可读性、可维护性、可扩展性和性能。 重命名元素 重命名类 当我们进行重命名操作的时候可以看到第六行存在一个R(rename),点击后就会弹出所偶有引用,这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

管理集群工具之LVS

管理集群工具之LVS 集群概念 将很多机器组织在一起,作为一个整体对外提供服务集群在扩展性、性能方面都可以做到很灵活集群分类 负载均衡集群:Load Balance高可用集群:High Availability高性能计算:High Performance Computing …

模拟网关是什么?

模拟网关是一种网络设备,用于在模拟电话系统和数字网络之间进行信号转换。它的主要作用是将模拟语音信号转换为数字格式,使得这些信号能够通过基于IP(互联网协议)的网络进行传输,从而实现语音通信。这种设备是将传统的…

Python环境找不到解决方法

Python环境找不到 打开设置:Ctrl Alt S 添加Local Interpreter... 打开System Interpreter,找到本地安装的Python.exe路径,然后一路点OK Trust Project 如果打开工程时,出现如下对话框,请勾选 Trust projects in ...&…

项目管理中,项目团队如何高效的协作与沟通?

目 录 一、项目团队高效的协作与沟通,可以通过以下几个方面来实现: 二、如何在项目团队中明确和共享愿景以提高协作效率? 三、有效的沟通策略在项目管理中的应用案例有哪些? 四、建立哪些具体的沟通机制可以提升团队协作效率…

matlab学习003-绘制由差分方程表示的离散系统图像

目录 1,题目 2,使用函数求解差分方程 1)基础知识 ①filter函数和impz函数 ②zeros函数 ☀ 2)绘制图像 ​☀ 3)对应代码 如果连简单的信号都不会的,建议先看如下文章👇,之…

互联网大厂ssp面经,数据结构part2

1. 什么是堆和优先队列?它们的特点和应用场景是什么? a. 堆是一种特殊的树形数据结构,具有以下特点:i. 堆是一个完全二叉树,即除了最后一层外,其他层都是满的,并且最后一层的节点都靠左对齐。i…

SEGGER Embedded Studio IDE移植FreeRTOS

SEGGER Embedded Studio IDE移植FreeRTOS 一、简介二、技术路线2.1 获取FreeRTOS源码2.2 将必要的文件复制到工程中2.2.1 移植C文件2.2.2 移植portable文件2.2.3 移植头文件 2.3 创建FreeRTOSConfig.h并进行配置2.3.1 处理中断优先级2.3.2 configASSERT( x )的处理2.3.3 关于系…

linq select 和selectMany的区别

Select 和 SelectMany 都是 LINQ 查询方法&#xff0c;但它们之间有一些区别。 Select 方法用于从集合中选择特定的属性或对集合中的元素进行转换&#xff0c;并返回一个新的集合。例如&#xff1a; var numbers new List<int> { 1, 2, 3, 4, 5 }; var squaredNumbers…

SRS WebRTC Whip 和 Whep 部署体验问题

whip 報錯 404 webrtc推流 小窗口一闪而过&#xff0c;然后查看f12回复404的报错信息 chrome版本&#xff1a; 正在检查更新 版本 123.0.6312.123&#xff08;正式版本&#xff09; &#xff08;64 位&#xff09; centos 7.9 源码安装部署&#xff0c; 代码分支5.0 完全按…

socket通信基础讲解及示例-C

socket通信之C篇 服务端与客户端简介 socket通信服务端与客户端通信模型通信实战server&#xff08;服务端&#xff09;创建client&#xff08;客户端&#xff09;创建 函数详解创建套接字 socket绑定端口bind进入监听状态listen获取客户端连接请求accept接收网络数据read发送数…

每日一题---移除链表元素

文章目录 前言1.题目2.分析思路3.参考代码 前言 Leetcode–-移除链表元素 1.题目 2.分析思路 首先要创建一个新的链表&#xff0c;在定义三个指针&#xff0c;newHead&#xff0c;newTail和pcur&#xff0c;分别代表新链表头&#xff0c;新链表尾以及用于遍历原链表。 其次是…

Rust入门-所有权

一、为什么、是什么、怎么用 1、为什么Rust要提出一个所有权和借用的概念 所有的程序都必须和计算机内存打交道&#xff0c;如何从内存中申请空间来存放程序的运行内容&#xff0c;如何在不需要的时候释放这些空间&#xff0c;成为所有编程语言设计的难点之一。 主要分为三种…

git merge 和 git rebese的区别

git merge 和 git rebese的区别 拉取分支和合并代码会涉及两种选择&#xff0c;git merge 和 git rebase&#xff1a; rebase&#xff1a;变基&#xff0c;会有一个干净的分支&#xff0c;但是对于记录来源不够清楚merge&#xff1a;合并&#xff0c;git 分支看起来比较混乱&…

CentOS 7虚拟机配置静态IP地址(一)

IP地址的配置 以下几个地址需要记住&#xff0c;在配置中使用 &#xff08;1&#xff09;查看MAC地址&#xff08;点击菜单虚拟机-设置-网络适配器-高级-记住MAC地址&#xff09; &#xff08;2&#xff09;查看子网掩码和网关IP&#xff08;点击菜单编辑-虚拟网络编辑器-选择…

机器学习-10-神经网络python实现-从零开始

文章目录 总结参考本门课程的目标机器学习定义从零构建神经网络手写数据集MNIST介绍代码读取数据集MNIST神经网络实现测试手写的图片 带有反向查询的神经网络实现 总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍基于python实现神经网络。 参考 BP神经网络及pytho…

Reactor 模式

目录 1. 实现代码 2. Reactor 模式 3. 分析服务器的实现具体细节 3.1. Connection 结构 3.2. 服务器的成员属性 3.2. 服务器的构造 3.3. 事件轮询 3.4. 事件派发 3.5. 连接事件 3.6. 读事件 3.7. 写事件 3.8. 异常事件 4. 服务器上层的处理 5. Reactor 总结 1…

公钥密码学Public-Key Cryptography

公钥或非对称密码学的发展是整个密码学历史上最伟大的&#xff0c;也许是唯一真正的革命。The development of public-key, or asymmetric, cryptography is the greatest and perhaps the only true revolution in the entire history of cryptography. 公钥算法基于数学函数…