我正在尝试实施 LSB嵌入隐写分析算法。
图像数据库由24位bmp彩色图像(几千个)组成。 几乎所有LSB嵌入隐写术研究工作的隐写分析都集中在灰度图像上。 我想尝试在图像中使用色彩间相关性来隐藏消息存在检测。不仅仅是三次灰度。
我搜索了这个主题的作品,发现了一个非常简单的算法(我无法提供链接)。 它使用数据压缩来检测隐藏的消息。
简而言之:
它声明文件中隐藏的信息越多,其存档的大小就越大(对于数据压缩方法,如 rar,nanzip,png 等) ,因为数据压缩算法使用色彩间相关性。
这些陈述没有证据链接。我不知道数据压缩算法是如何工作的,直觉上我同意这些陈述但我想知道它是否正确,例如,对于gzip或zip算法。
答案 0 :(得分:0)
我不知道这些压缩算法是如何工作的,但我会对它进行一般性的尝试。
压缩通过去除冗余来工作,并且通常未压缩的图像具有很多,因为相邻像素是相关的。也就是说,图像区域中的颜色趋于相似,因为颜色变化缓慢而平滑。
但是,您嵌入的比特流往往没有模式,并且代表更多的随机分布1和0。随机/噪声数据具有较少的模式以利用压缩。因此,虽然图像可以很好地压缩,但是在隐藏信息之后压缩不会减少文件大小,即使像素更随机。
为了证明这一点,我们假设一个基本的,可能是天真的压缩算法,它检测你是否有一个像素值P,重复N次,并将其存储为N,P。例如:
200, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201 # uncompressed
7, 200, 4, 201 # compressed
现在,在每个像素中嵌入1位。将位从0切换为1或反之的概率为50%,因此其中大约一半将发生变化。你最终会得到这样的东西:
200, 200, 201, 200, 201, 201, 200, 200, 201, 200, 201 # uncompressed
2, 200, 1, 201, 1, 200, 2, 201, 2, 200, 1, 201, 1, 200, 1, 201 # compressed
请注意压缩需要多少原始案例数据。为了比较,仅在前两个像素中嵌入1位。
201, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201 # uncompressed
1, 201, 6, 200, 4, 201 # compressed