更新
我刚才问了这个问题,我很好奇,自从我问了这个问题之后,有没有类似的东西被开发出来?
我甚至不知道这种算法是否有一个术语,我想如果还没有人发明这种算法就不会有了。不过,这也让谷歌搜索这个有点困难。有人知道这个算法/原理是否有术语吗?
这是我一直在想的一个主意,但我不太知道如何解决它。我想知道是否有这样的解决方案存在,或者如果你们有任何想法,这是如何实现的。
隐写术
隐写术基本上是隐藏信息的艺术。在现代,我们通过数字方式来实现这一点,例如修改图像中的最低有效位,如下所示。因此,对于每个像素和像素的每个颜色分量,我们可以隐藏一两个字节。
这种交替不是肉眼可见的,但是分析最低有效位可能揭示暴露隐藏消息的存在和可能内容的模式。为了解决这个问题,我们简单地在将消息嵌入到图像中之前对其进行加密,这样可以保持消息的安全性,并且有助于防止发现隐藏消息。
因此,原则上,隐写术提供以下内容:
在任何媒体数据中隐藏加密消息。(图像、音乐、视频等)
没有正确密钥的隐藏消息存在的完全可否认性。
使用正确的密钥提取隐藏消息。
(来源:cs.vu.nl)
语义码
语义码是一种以视觉方式对数据进行编码的方法,可以很容易地打印、复制和扫描。下面显示的数据矩阵是一个包含著名的lorem ipsum文本的semacode示例。这基本上是一个二维条码具有更高的容量,通常条码。生成信号码的程序是现成的,读取它们的软件也是如此,特别是手机。语义码通常包含纠错码,通常非常健壮,并且可以在非常损坏的条件下读取。
因此,semacodes具有以下属性:
可打印和复制的数据编码。
即使在损坏(脏)的情况下也可能被扫描和解释,并且通常是非常健壮的编码。
合并它
所以我的想法是创造一种结合这两者的东西,结合所有的属性。这意味着它必须:
在任何媒体中嵌入加密消息,可能是扫描的图像。
即使图像被打印和扫描,甚至部分损坏,也应该可以提取消息。
如果没有用于加密的密钥,嵌入式消息的存在就不可检测。
所以,首先,我想知道是否有任何解决方案,算法或研究,这是可用的?第二,我想听听大家对如何做到这一点的看法/想法?
我真的希望能得到一个很好的讨论,关于实现这样的事情的可能性和可行性,我期待着阅读你的答案。
更新
谢谢你在这方面的所有好意见。当我有更多的时间的时候,我可能会在这个想法上做更多的工作。我相信这一定是可能的。想想在音乐和电影中嵌入水印的研究。
最佳答案
我认为,语义码对损坏/污损/模糊的健壮性的一部分是任何“单元”的两种状态之间的高对比度。即使有些失真,读者仍然可以对实际情况作出很好的猜测。
这种对比度在照片图像中是不可用的,这也是隐写术工作的原因——LSB位翻转对图像本身几乎没有视觉效果,而数字保真度确保非视觉系统仍然可以非常精确地读取嵌入的数据。
由于这两种应用程序位于模拟/数字频谱的相对端(信号码都是通过模拟(可视)处理来解密的,但都是纸面的,而不是数字的;隐写术只关心文件中的位,而不关心模拟表示,无论是光、声还是其他什么)。我认为,如果不是不可能的话,两者的结合将是极其困难的。
基本上,你所想的是能够以隐写的方式在图像中嵌入一些东西,打印图像,对其进行彩色影印,扫描,并且仍然能够提取嵌入的数据。
恐怕我帮不上忙,但如果有人做到了,我会印象深刻的!:)