结合 semacodes 和隐写术?

Posted

技术标签:

【中文标题】结合 semacodes 和隐写术?【英文标题】:Combining semacodes and steganography? 【发布时间】:2010-11-17 15:29:22 【问题描述】:

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

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

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

隐写术

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

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

因此,原则上,隐写术提供以下功能:

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

(来源:cs.vu.nl)

信号码

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

因此,semacodes 具有以下属性:

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

组合起来

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

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

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

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

更新

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

【问题讨论】:

进一步回答我的问题,以及更多关于音频水印的内容,这家伙对 Cognicity AudioKey 的评论结果给我留下了深刻的印象:homerecording.com/audiokey2.html 【参考方案1】:

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

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

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

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

恐怕我帮不上忙,但如果有人做到这一点,我会被该死的印象深刻! :)

【讨论】:

同意。如果您有模拟形式的数字图像,则会丢失隐写术位。如果您有数字形式的数字图像,那么您极不可能丢失任何位,那么为什么还要在 semacode 中添加鲁棒性功能呢?【参考方案2】:

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

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

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

以上是关于结合 semacodes 和隐写术?的主要内容,如果未能解决你的问题,请参考以下文章

隐写术总结

隐写术总结

JavaScript奇淫技巧:隐写术

MISC总结——隐写术(二)

IDF实验室WORD隐写术

C中的隐写术