隐写术链接显示了隐写术的演示。我的问题是当要替换的位数 n = 1 时,该方法是不可逆的,即 Cover 不等于 Stego(在理想和完美的情况下,使用的 Cover 应该与 Steganography 结果相同)。只有当要替换的位数为 n=4,5,6 时,它才能完美运行!当 n=7 时,Stego 图像变得嘈杂,与使用的 Cover 不同,结果不会变得不显眼。因此,很明显存在隐写术的操作。有人可以解释为什么会这样以及需要做什么以使该过程可逆和无损。
问问题
672 次
1 回答
1
那么让我们看看代码做了什么。从隐藏图像中提取 n 个最高有效位 (MSB) 并将它们隐藏在封面图像的 n 个最低有效位 (LSB) 中。关于这一点有两点需要注意,它们回答了你的问题。
如果您想直观地检查封面和隐秘图像之间的差异,可以使用峰值信噪比 (PSNR) 方程。据说人眼无法区分 PSNR > 30 dB 的差异。就个人而言,我不会选择低于 40 的任何东西,但这取决于您的目标是什么。请注意,这不是最终的、万能的测量类型。算法的质量取决于许多因素。
没有封面和隐秘图像应该是相同的。这个想法是最小化差异以抵抗检测,并且有许多妥协来实现这一点,例如您愿意隐藏的消息的大小。
完美检索秘密图像需要隐藏所有像素的所有位,这意味着您只能隐藏封面图像大小的 1/8 的秘密。请注意,这是最坏的情况,不考虑加密、压缩或其他技术。这就是想法,但我不会提供基于上述的代码片段,因为它非常不灵活。
现在,在某些情况下,您希望检索是无损的,因为数据已加密或具有敏感性质。在其他情况下,近似检索将完成这项工作。例如,如果您只对图像的 4 MSB 进行编码,那么提取秘密的人仍然会很好地了解它最初的样子。如果您仍然想要一种无损方法但不是刚刚建议的方法,则需要使用不同的算法。算法的选择取决于您希望它具有的各种特征,包括但不限于:
- 鲁棒性(隐藏信息对图像编辑的抵抗力)
- 不可察觉性(陌生人知道秘密的存在有多难,但不一定知道秘密本身,例如卡方攻击)
- 封面媒体的类型(例如,特定的图像文件类型)
- 秘密消息的类型(例如,图像、文本)
- 秘密的大小
于 2013-05-07T13:03:33.080 回答