MISC之LSB

LSB隐写

简介

LSB隐写(Least Significant Bit Steganography)是一种隐写术,它通过将秘密信息嵌入到图像、音频或视频等多媒体文件中的最低有效位中来隐藏信息。在数字图像中,每个像素由红、绿、蓝三个通道的颜色值组成。每个颜色通道的颜色值通常用8位二进制数表示,范围为0-255。而LSB隐写则是将秘密信息的二进制位依次替换为RGB值中的最低有效位,从而实现隐藏信息的效果。由于最低有效位的改变对图像的视觉质量影响较小,因此LSB隐写是一种常用的隐写技术。

 LSB隐写就是修改RGB颜色分量的最低二进制位也就是最低有效位(LSB),而人类的眼睛不会注意到这前后的变化,每个像数可以携带3比特的信息。

LSB隐写内容写入

将脚本文件在kali里运行

MISC之LSB_第1张图片

 用法:python  脚本名  encode 用来隐藏的图片名 要隐藏的文件名 输出的图片名

python LSB.py encode input.png flag.txt out.png
//input.png是用来隐藏信息的文件
//flag.txt是要隐藏的信息,隐藏的文件不只是文本文件,图片也可以隐藏
//out.png是隐藏完成输出的文件

 实操:

MISC之LSB_第2张图片

 xx.png隐藏在haha.png里了,输出的结果是34.png

MISC之LSB_第3张图片

 MISC之LSB_第4张图片

MISC之LSB_第5张图片 MISC之LSB_第6张图片

 隐写出来的图片与原图相比没有什么区别,只是图片的大小明显是隐写后的图片文件大小要大一些,所以以后遇到图片文件的像素不是很高但文件大小却比普通的图片要大一些,那么就可以怀疑图片是否进行了隐写,图片内隐藏了一些信息

 LSB隐写内容提取

这里有两个方法将隐写进去的内容提取出来

方法一:Stegsolve.jar

用Stegsolve.jar打开图片文件,然后分析

MISC之LSB_第7张图片

 选择最低位隐写

MISC之LSB_第8张图片

 然后Save Bin以图片的形式保存文件,最后再打开新保存的文件得到的就是隐藏的文件

MISC之LSB_第9张图片

方法二:kali运行脚本

用法:python  脚本名  decode  字节数  含有隐写内容的图片名  输出的文件名

 依旧是同一个脚本文件

python LSB.py decode 20 34.png out.png
//20是输出的字节数
//34.png是要提取信息的文件
//out.png是输出的文件
//一般用脚本提取图片的内容是文本里的内容而不是图片,因为图片输出后字节数不对,输出的文件不会出现有用的信息,所以该脚本用来提取文本信息要好一些

总结:

LSB和MSB是二进制数字中的概念。

LSB表示最低位(Least Significant Bit),即二进制数字中的最右侧位,它代表数字的最小单位。

MSB表示最高位(Most Significant Bit),即二进制数字中的最左侧位,它代表数字的最高位,决定了数字的大小。

所以要注意隐写时要清楚时从头开始还是从尾部开始,从左侧开始还是从右侧开始,对应的最高位和最低位都会有所不同,因此在使用Stegsolve.jar时要注意文件头,以免出现LSB隐写的鲁棒性,导致文件隐写的内容丢失。

上面的隐写用法要注意隐写文本和图片的提取方法上会有一些不同,因为图片和文本之间本身就有区别,虽然隐写写入的方式是一样的,但提取呈现内容的格式不一样。

 

你可能感兴趣的:(安全,学习)