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),点击后就会弹出所偶有引用,这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

生成计算机注册信息:硬盘,主板和CPU组合 根据计算机硬盘,主板,CPU生成注册信息

目录 一.总体说明 二.完整代码 三.逐行分析 一.总体说明 注册信息是用于识别和验证计算机的唯一标识符。在生成注册信息时,通常会包含计算机的硬盘、主板和CPU的相关信息。这些信息可以用于授权软件、管理许可证、防止盗版以及进行系统配置和维护等方面。 具体而言,注册…

管理集群工具之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…

【设计模式】11、flyweight 享元模式

文章目录 十一、flyweight11.1 pool 连接池11.1.1 pool_test.go11.1.2 pool.go11.1.3 conn.go 11.2 chess_board11.2.1 chess_test.go11.2.2 chess.go 十一、flyweight https://refactoringguru.cn/design-patterns/flyweight 大量重复的对象, 如果很消耗资源, 没必要每次都初…

IP/网关流量控制:Linux上设置多个路由表 (多号段IP配置)

文章目录 引言I 使用特定的路由策略和规则1.1 实现思路1.2 配置路由策略II Mac/window的IP多号段配置2.1 Mac电脑2.2 windows系统2.3 linux系统III 预备知识3.1 配置接口 IP 地址和网关3.2 启用IP转发功能3.3 修改IP地址3.4 添加一个新的路由策略3.5 路由表配置引言

常见的经典目标检测

常见的经典目标检测算法主要包括: R-CNN 系列57:R-CNN(Region-based Convolutional Neural Networks)是一种经典的目标检测算法,它通过卷积神经网络(CNN)提取候选区域特征,然后使用支…

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 关于系…

【npm】常用的NPM命令及在开发过程中的应用

常用的NPM命令及在开发过程中的应用 NPM(Node Package Manager)是JavaScript的包管理工具,也是世界上最大的软件注册表。它允许开发者共享和重用代码,并便于管理各种Node.js的包依赖。本文将介绍一些常用的NPM命令,并…

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 完全按…

【设计模式】中介模式

目录 什么是中介模式 中介模式的组成 使用场景&#xff1a; 优点&#xff1a; 缺点&#xff1a; Java 示例代码&#xff1a; 什么是中介模式 Java 中的中介模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;旨在降低多个对象和类之间的通信…

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

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

selenium上传文件时打开指定本地文件路径

遇到这样一个问题&#xff1a; 用selenium和chromedriver操作浏览器&#xff0c;其中有一个“本地上传”的按钮&#xff0c;点击后&#xff0c;会进入本地电脑的文件夹&#xff0c;但是这个文件夹一般是C:\Users\XX。如何指定本地上传路径呢&#xff1f; 看起来很简单的一个问…