问题标签 [steganography]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 用于操作图像的 C++ 库
您是否知道任何开源/免费软件 C++ 库来处理以下格式的图像: .jpg .gif .png .bmp ?它支持的格式越多越好。我正在用 C++ 实现一个免费程序,它使用 steganography 将文本文件隐藏到一个或多个图像中。
我在 Unix 下工作。
jpeg - 附加到 JPG 的随机数据会使其无法使用吗?
因此,为了简化我的生活,我希望能够在我的程序正在处理的一些 jpg 图像的末尾附加 1 到 7 个附加字符*。这些是虚拟填充(填充物等 - 可能都是 0x00),只是为了使文件大小成为 8 字节的倍数以进行块加密。
用一些程序尝试了这一点后,似乎它们对附加字符很好,这些字符出现在指定图像结尾的 FF D9之后- 所以看起来文件格式定义得很好,以至于“损坏”我我在最后添加应该没关系。
如果需要,我总是可以稍后处理文件,但我的偏好是尽可能做最简单的事情 - 让它们保留(我正在解密其他文件类型,他们不会介意,所以有一个特殊情况很烦人)。
我认为,多年前关于隐写术hullaballo 的讨论,有人在这里有一些意见......
(8字节块的加密处理,我不想保存预加密的文件大小,所以在输入数据后附加0x00,解码后留在那里)
algorithm - 你能在文本中隐藏数据吗?
我希望在页面上放置一些文本并在该文本中隐藏一些数据。有谁知道过去用来解决这个问题的任何方法/模式?
示例:我有以下文字:“猫坐在狗身上,很开心。”
我也有数字 123。我想在那个句子中隐藏这个数字,这样句子就可以放在网页上,只有知道的人才能找到数据。
c++ - Qt QImage 像素操作问题
我目前正在使用 Qt 编写隐写术应用程序。我试图将我的消息位隐藏在像素蓝色的最低有效位中。
从调试中我可以看出这部分工作正常。但是,在将我的位隐藏在消息中之后,我保存图像然后重新打开它。这就是问题发展的地方。
当我在(重新打开的)图像scanLines
中阅读时,我阅读的内容与我之前写的不同,我不知道为什么。也许只是我愚蠢,或者我错过了一些东西。任何帮助将非常感激。
我到目前为止的代码如下
谢谢
iphone - 是否可以写入或更改保存到 iPhone 照片库的图像的 EXIF 数据
我想向用户在我的应用程序中生成的图像添加一些自定义数据,顶部不超过 1kb。我可能会隐藏图像中的数据,但我想以一种抵制调整大小而不是故意删除 EXIF 标签的方式来做到这一点(例如,出于隐私原因)。
这可以使用当前的公共 SDK 3.0 吗?
image - 如何在 jpg 或 gif 照片中隐藏信息?
如何在不破坏图像的情况下在 jpg 或 gif 等照片文件中写入一些信息?当然没有在照片上显示它,因为整个想法是在任何人都无法检测到的照片文件中发送信息(在某种程度上提供安全/隐私)!
algorithm - 结合 semacodes 和隐写术?
更新 我很久以前问过这个问题,我很好奇自从我问过这个问题以来是否已经开发了类似的东西?
我什至不知道这种算法是否有一个术语,我想如果还没有人发明它,我想不会有。然而,这也使得谷歌搜索有点困难。有人知道这个算法/原理是否有术语吗?
这是我一直在思考的一个想法,但我不太知道如何解决。我想知道是否存在这样的解决方案,或者你们是否知道如何实施。
隐写术
隐写术基本上是隐藏消息的艺术。在现代,我们通过例如将图像中的最低有效位修改为下图来以数字方式执行此操作。因此,对于每个像素以及该像素的每个颜色分量,我们可能能够隐藏一两个字节。
这种交替不是肉眼可见的,但分析最低有效位可能会揭示隐藏信息的存在和可能内容的模式。为了解决这个问题,我们只需在将消息嵌入图像之前对其进行加密,这样可以保证消息的安全并有助于防止发现隐藏消息的存在。
因此,原则上,隐写术提供以下内容:
- 在任何类型的媒体数据中隐藏加密消息。(图片、音乐、视频等)
- 在没有正确密钥的情况下完全否认隐藏消息的存在。
- 使用正确的密钥提取隐藏消息。
(来源:cs.vu.nl)
信号码
Semacodes 是一种以视觉表示形式对数据进行编码的方式,可以轻松地打印、复制和扫描。下面显示的数据矩阵是一个包含著名的 Lorem Ipsum 文本的 semacode 示例。这本质上是一种二维条码,其容量通常高于条码。生成 semacode 的程序很容易获得,读取它们的软件也是如此,尤其是手机。Semacodes 通常包含纠错码,通常非常健壮,并且可以在非常损坏的条件下读取。
因此 semacodes 具有以下属性:
- 可以打印和复制的数据编码。
- 即使在损坏(脏)的条件下也可以被扫描和解释,并且通常是非常健壮的编码。
结合它
所以我的想法是创造一些结合这两者的东西,以及所有组合的属性。这意味着它必须:
- 在任何媒体中嵌入加密消息,可能是扫描图像。
- 即使图像被打印和扫描,甚至部分损坏,消息也应该是可提取的。
- 如果没有用于加密的密钥,嵌入消息的存在应该是不可检测的。
那么,首先我想知道是否有任何解决方案、算法或研究可用?其次,我想听听关于如何做到这一点的任何想法/想法?
我真的希望就实施这样的事情的可能性和可行性进行良好的讨论,我期待着阅读您的答案。
更新
感谢您对此提出的所有良好意见。当我有更多时间时,我可能会更多地研究这个想法。我相信这一定是可能的。想想在音乐和电影中嵌入水印的研究。
c# - 在 C# 中修改 JPEG 标头
我正在尝试将文件打开为字节,将其转换为字符串,修改一些数据(想想隐写术)并将文件转换回字节并将其保存为 jpeg。到目前为止,我尝试过的所有操作都在将文件转换为字符串时损坏了文件。我已经尝试将其转换为 64 位字符串,但当然这有点难以修改 :P 中的数据
关于如何在不损坏文件的情况下正确执行此操作的任何建议?
python - 如何使用python将文本加密成图像
我想知道有人如何使用 python 将文本加密到图像中。
algorithm - 是否存在可以抵抗图像处理的数字图像隐写算法?
我想知道 - 是否有数字图像的隐写术解决方案可以抵抗图像处理?对于“操作”,我指的是最标准的操作——重新压缩 JPEG(甚至完全改变文件格式)、裁剪和缩放。这种方法的应用自然是为了图像版权保护。
我完全理解,处理的图像越多,隐写水印完好无损的可能性就越小,但至少有一定程度的抵抗力会很好。