6

更新 我很久以前问过这个问题,我很好奇自从我问过这个问题以来是否已经开发了类似的东西?

我什至不知道这种算法是否有一个术语,我想如果还没有人发明它,我想不会有。然而,这也使得谷歌搜索有点困难。有人知道这个算法/​​原理是否有术语吗?


这是我一直在思考的一个想法,但我不太知道如何解决。我想知道是否存在这样的解决方案,或者你们是否知道如何实施。

隐写术

隐写术基本上是隐藏消息的艺术。在现代,我们通过例如将图像中的最低有效位修改为下图来以数字方式执行此操作。因此,对于每个像素以及该像素的每个颜色分量,我们可能能够隐藏一两个字节。

这种交替不是肉眼可见的,但分析最低有效位可能会揭示隐藏信息的存在和可能内容的模式。为了解决这个问题,我们只需在将消息嵌入图像之前对其进行加密,这样可以保证消息的安全并有助于防止发现隐藏消息的存在。

因此,原则上,隐写术提供以下内容:

  • 在任何类型的媒体数据中隐藏加密消息。(图片、音乐、视频等)
  • 在没有正确密钥的情况下完全否认隐藏消息的存在。
  • 使用正确的密钥提取隐藏消息。


(来源:cs.vu.nl

信号码

Semacodes 是一种以视觉表示形式对数据进行编码的方式,可以轻松地打印、复制和扫描。下面显示的数据矩阵是一个包含著名的 Lorem Ipsum 文本的 semacode 示例。这本质上是一种二维条码,其容量通常高于条码。生成 semacode 的程序很容易获得,读取它们的软件也是如此,尤其是手机。Semacodes 通常包含纠错码,通常非常健壮,并且可以在非常损坏的条件下读取。

因此 semacodes 具有以下属性:

  • 可以打印和复制的数据编码。
  • 即使在损坏(脏)的条件下也可以被扫描和解释,并且通常是非常健壮的编码。

结合它

所以我的想法是创造一些结合这两者的东西,以及所有组合的属性。这意味着它必须:

  • 在任何媒体中嵌入加密消息,可能是扫描图像。
  • 即使图像被打印和扫描,甚至部分损坏,消息也应该是可提取的。
  • 如果没有用于加密的密钥,嵌入消息的存在应该是不可检测的。

那么,首先我想知道是否有任何解决方案、算法或研究可用?其次,我想听听关于如何做到这一点的任何想法/想法?

我真的希望就实施这样的事情的可能性和可行性进行良好的讨论,我期待着阅读您的答案。

更新

感谢您对此提出的所有良好意见。当我有更多时间时,我可能会更多地研究这个想法。我相信这一定是可能的。想想在音乐和电影中嵌入水印的研究。

4

3 回答 3

9

我想 semacode 对损坏/污垢/模糊的鲁棒性的一部分是任何“单元”的两种状态之间的高对比度。即使有一些失真,读者仍然可以对实际状态做出很好的猜测。

这种对比度在摄影图像中是不可用的,这正是隐写术起作用的原因——lsb 位翻转对图像本身几乎没有视觉影响,而数字保真度确保非视觉系统仍然可以非常准确读取嵌入的数据。

由于这两个应用程序处于模拟/数字频谱的相反两端(semacodes 都是关于通过模拟(视觉)处理可破译但在纸上,而不是数字;隐写术是关于文件中的位并且不关心模拟表示,无论是光、声音还是其他),我想如果不是不可能的话,将两者结合起来将非常困难。

本质上,您所想的是能够以隐写方式在图像中嵌入某些内容、打印图像、对其进行彩色复印、扫描,并且仍然能够提取嵌入的数据

恐怕我无能为力,但如果有人做到这一点,我会被该死的印象深刻!:)

于 2009-08-07T09:39:50.337 回答
1

这不是一个完整的答案,但你应该看看watermarking。此技术解决了您的前两个目标(可嵌入打印图像中,即使部分损坏的扫描也可读取)。

水印对失真和转录错误(从数字到模拟再返回)的可靠性部分来自冗余(例如多次重复数据)。即使没有密钥,这些也会使水印可以检测到。但是,您也许可以使用更微妙的冗余技术,可能与擦除编码或秘密共享有关。

我知道这不是一个完整的答案,但希望这些线索能为您指明正确的方向!

于 2009-08-11T11:53:15.667 回答
0

您使用什么语言/环境?编写将图像和 semacode 作为位图(后者作为单色)打开的代码应该不难,将彩色图像中每个像素的每个字节的最低位设置为单色位图的相应像素。

(可选地,首先将 semacode 位图扩展为相同的像素尺寸,用白色扩展)

于 2009-08-07T09:29:00.233 回答