image - 抵抗各种攻击的图像隐写术的最佳实践是什么?

标签 image compression watermark steganography

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

7年前关闭。




Improve this question




我真的对此很好奇,因为现在每个 channel 都可以以某种方式修改或压缩图像,这可以被视为对隐写术的攻击。

我们可以将隐写术分为两种基本类型,一种是对图像的空间域进行操作,另一种是对某种变换域进行操作。

以下类型的攻击是我感兴趣的,因为它无处不在(如果您想在 facebook 上保存图像,或者如果您想创建图像的缩略图,或者如果您打算将图像保存在移动平台上,等等) :

  • 图像的压缩或重新压缩 - 主要用于 JPEG 图像或
    带有 alpha 预乘法的 PNG 图像。
  • 调整或缩放图像和几何操作 - 我的意思是
    除了压缩之外的图像转换,例如轮换
    图像,改变比例等

  • 我想问一下:
  • 根据你们保护嵌入式的最好方法是什么
    像JPEG一样压缩图像中的消息?什么是“无限”
    使用隐写术嵌入消息后重新压缩图像
    机制?它仍然是可读的消息吗?
  • 嵌入消息的阈值在哪里?
    调整图像大小(如果有)?在我看来,隐写术是
    对调整图像大小比压缩或
    旋转或向图像添加噪声。最好的方法是什么
    隐写术对您调整图像大小有抵抗力吗?我的意思是有
    总是一个边缘,我们不能不丢失信息,但是
    应该有一些阈值。
  • 通过 first 和 image 操作的组合怎么样?
    第二点?

  • 我正在阅读许多关于抗压缩图像隐写术的论文,基本上他们总是使用纠错码和汉明距离来获得我们能够在不丢失信息的情况下隐藏内容的阈值(或如何在有损 channel 中获取信息)。然后第一步是使用汉明距离将我们的消息冗余隐藏到空间域。对于 RGB 图像,我们将选择例如一个三元组作为一位载体并修改我们的三元组颜色是汉明距离将在边缘“中心”的一种方式。我们可以将其作为重复纠错码或任何其他代码(最佳实践是 F5 中的汉明码)。

    这背后的想法是,我们在 JPEG 压缩图像上计算汉明距离的纠错代码将确保嵌入的信息在多次应用 JPEG 压缩后仍然存在。当然,所有这些都是以牺牲图像容量为代价的,而我们通过纠错码使用冗余。

    该方法的示例链接在这里:
    http://www.cs.unibo.it/babaoglu/courses/security/resources/documents/Steganography.pdf

    我对数字图像上的水印技术知之甚少,但可能我们可以找到有关该主题的指导,因为水印的目的几乎与隐写术相同。我们正在尝试保留数字图像中的版权信息,或者我们正在尝试在上述各种情况下保护图像中隐藏的信息。

    我想与您讨论和询问当今通过隐写术保护数字图像中信息的机制。我们可以分享我们的想法或示例代码,让世界变得更美好。

    最佳答案

  • 您的第一个问题与消除图像中“噪声”(当然,隐藏位)的有损方法有关。您可能不得不使用冗余来分散它。 LSB 可能无法正常工作,因为必须分配位的位置。这意味着,这些位可能必须重复出现在位的各个部分,这样,即使其他副本已损坏,您也可以恢复消息。您可能希望添加一个散列以确保消息不会被破坏(尽管散列本身的概率可能会如此)。但是冗余和更广泛的分布可能会给你一个很好的机会来生存。
  • 一个想法可能是使用经过验证的加密方法,如 AES 或 ECC( key 管理将是另一个主题)。这将使您的数据位“像噪音一样”。位置索引也可以通过类似的方式来确定。其原理是创建均匀分布以阻止数据和位位置的可预测性或粘贴相关性。

  • 我希望这可以为您的隐写设计考虑提供一些指导。

    关于image - 抵抗各种攻击的图像隐写术的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886303/

    相关文章:

    image - 为什么在matlab中读取图像时必须使用double?

    c++ - 使用 cv::undistort 取消扭曲和居中图像

    apache-spark - 扩展 DefaultCodec 以支持 Hadoop 文件的 Zip 压缩

    没有vhook的ffmpeg水印?

    php - 给PDF添加动态水印

    javascript - 如何剥离数据 :image part from a base64 string of any image type in Javascript

    android - 在 SD 卡或 SQL lite DB 中将图像存储在 android 中的最佳做法是什么?

    javascript - 压缩基于 Guid 的字符串以写入 QR 码

    java - 如何使用 Gzip (Deflate) 创建高度可压缩的文件?

    c++ - 使用 OpenCV 从图像中去除水印