LSB隐写是什么?

本文详细介绍了LSB隐写技术,包括其原理(利用LSB修改像素值进行信息隐藏)、应用(如数据保密、版权保护)以及面临的威胁和挑战(如统计分析和隐写分析工具)。还讨论了改进方法,如量化调整、混合隐写和增强鲁棒性的嵌入策略。
摘要由CSDN通过智能技术生成

所需知识

二进制数
位(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隐写、语义隐写、混沌隐写、音频隐写、视频隐写、基于机器学习的隐写
QIM(Quantization Index Modulation,量化指数调制)

QIM隐写术也可以利用最低有效位进行信息隐藏,但与LSB不同的是,QIM使用量化过程中的索引值进行信息隐藏。通过微调量化过程中的索引值,QIM可以在图像中嵌入更多的信息,并且通常比LSB更难被检测到。这是因为QIM不仅仅依赖于最低有效位,而是直接修改量化参数,从而使得隐藏的信息更加均匀地分布在整个图像中。

3.嵌入策略
提高鲁棒性
eg:

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

补充资料

B站-隐写术鉴赏

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
没有积分的私聊我 看到消息百分百发给你 1、算法核心: 1、读取图片A,获得其RGB三个通道数据并转换成三个矩阵a1,a2,a3。 2、读取文件B,将其转换成比特流b。 3、遍历b,得到比特b1,b2,b3,b4,b5,b6等等,将b1代替a1第一个元素的最低位,将b2代替a2第一个元素的最低位,将b3代替a3第一个元素的最低位,将b4代替a1第二个元素的最低位,以此类推。 2、具体实现: 1、隐写: 1、使用java ImageIO读取图片,获取其RGB通道信息。 2、使用java NIO读取被嵌入的文件,将其转换为byte数组,需要特别指出的是原生方法得到是byte类型的数组,但是算法实现需要更加精细的操作,所以还需要对得到的byte数组进行进一步的转换封装,将其转换成形如10101的数组。例如,读取文件得到byte数组的第一个元素为63,需将63转换为00111111数组。并且保存好文件的长度。 3、按照算法,遍历形如10101的数组 1、如果遍历到的值为0,将矩阵对应的矩阵元素与0xfe进行与运算,将最低位置为0 2、如果遍历到的值为1,将矩阵对应的矩阵元素与0x01进行或运算,将最低位置为1 4、将步骤3得到的经过经过隐写的矩阵写为一张新的图片。 3、读取 1、使用java ImageIO读取图片,获取其RGB通道信息。 2、使用隐写步骤3得到的文件长度,遍历图片的像素矩阵,需要特别指出的是因为后续步骤还需要进行进一步的转化,所以这一步是将得到的“100100......”序列每八位封装为一个数组,最终得到一些数组集合,每个数组包含八位二进制序列。 3、将步骤2得到的数组进行转换,例如00111111应该转换为byte类型数值为63的数字,10111111转换为-63。这一步会得到一个byte类型的数组。 4、将步骤3得到的byte类型数组写入文件,需要指出的是写入的文件形式应该和隐写模块步骤二中读入的文件形式一致。 3、程序使用方法 1、安装Java8 2、使用命令行进入jar文件所在目录下,使用命令 java -jar 2016115130.jar 3、安装提示输入嵌入和被嵌入的文件名字,注意路径问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值