0

隐写术链接显示了隐写术的演示。我的问题是当要替换的位数 n = 1 时,该方法是不可逆的,即 Cover 不等于 Stego(在理想和完美的情况下,使用的 Cover 应该与 Steganography 结果相同)。只有当要替换的位数为 n=4,5,6 时,它才能完美运行!当 n=7 时,Stego 图像变得嘈杂,与使用的 Cover 不同,结果不会变得不显眼。因此,很明显存在隐写术的操作。有人可以解释为什么会这样以及需要做什么以使该过程可逆和无损。

4

1 回答 1

1

那么让我们看看代码做了什么。从隐藏图像中提取 n 个最高有效位 (MSB) 并将它们隐藏在封面图像的 n 个最低有效位 (LSB) 中。关于这一点有两点需要注意,它们回答了你的问题。

  • 您在封面图像中更改的位越多,您的隐秘图像看起来就越扭曲。
  • 您从隐藏图像中使用的信息越多,重建的图像就越接近原始图像。以下链接参考)显示了图像从最高有效位到最低有效位的信息量。

如果您想直观地检查封面和隐秘图像之间的差异,可以使用峰值信噪比 (PSNR) 方程。据说人眼无法区分 PSNR > 30 dB 的差异。就个人而言,我不会选择低于 40 的任何东西,但这取决于您的目标是什么。请注意,这不是最终的、万能的测量类型。算法的质量取决于许多因素。

没有封面和隐秘图像应该是相同的。这个想法是最小化差异以抵抗检测,并且有许多妥协来实现这一点,例如您愿意隐藏的消息的大小。

完美检索秘密图像需要隐藏所有像素的所有位,这意味着您只能隐藏封面图像大小的 1/8 的秘密。请注意,这是最坏的情况,不考虑加密、压缩或其他技术。这就是想法,但我不会提供基于上述的代码片段,因为它非常不灵活。

现在,在某些情况下,您希望检索是无损的,因为数据已加密或具有敏感性质。在其他情况下,近似检索将完成这项工作。例如,如果您只对图像的 4 MSB 进行编码,那么提取秘密的人仍然会很好地了解它最初的样子。如果您仍然想要一种无损方法但不是刚刚建议的方法,则需要使用不同的算法。算法的选择取决于您希望它具有的各种特征,包括但不限于:

  • 鲁棒性(隐藏信息对图像编辑的抵抗力)
  • 不可察觉性(陌生人知道秘密的存在有多难,但不一定知道秘密本身,例如卡方攻击)
  • 封面媒体的类型(例如,特定的图像文件类型)
  • 秘密消息的类型(例如,图像、文本)
  • 秘密的大小
于 2013-05-07T13:03:33.080 回答