如何隐藏jpg或gif照片中的信息?

M. *_*awy 22 jpeg information-hiding steganography image gif

如何在不破坏图像的情况下在jpg或gif等照片文件中写入一些信息?当然没有在照片上显示它,因为整个想法是在任何人未检测到的照片文件中发送信息(在某种程度上提供安全/隐私)!

Mai*_*aik 47

您可以将gif和zip(要隐藏的信息)连接到一个文件中.从文件的开头读取Gif,同时从文件的末尾读取拉链.

要在linux中创建这样的文件:

$ cat file1.gif >> outfile.gif
$ cat file2.zip >> outfile.gif
Run Code Online (Sandbox Code Playgroud)

生成的文件应该具有file1.gif和file2.zip的大小,并且应该可以由任何gif查看器和zip文件处理程序打开.

  • 我也有Windows解决方案,但与@SantoshKumar相反,我想与你分享;-)`copy/b"file1.gif"+"file2.zip""outfile.gif"` (11认同)
  • 正如我所说,您可以使用任何可以处理zip文件并提取信息的标准存档程序打开生成的文件(outfile). (2认同)

Jay*_*Jay 28

我相信有很多方法.这是一个:

在照片中,肉眼看不到颜色的微小变化,或者即使被注意到,也很容易被误认为是图片质量的缺陷.

举一个简单的例子,假设您有一个灰度GIF图像,其中调色板按照从白色到黑色的顺序排列,中间有一系列平滑的灰色.我不确定您对图形文件格式了解多少,但在GIF中,每个像素有一个字节,每个可能的字节值映射到某种特定颜色.因此,在这种情况下,我们可以说托盘#0 = RGB(0,0,0),托盘#1 = RGB(1,1,1),...调色板#255 = RGB(255,255,255).

然后你拍一张普通的真实照片.将您的秘密消息分解为单个位.将每个托盘索引编号的最后一位设置为邮件的连续位.

例如,假设原始照片的前八个像素是01 00 C9 FF FF C8 42 43.您的消息以字母"C"开头,ascii代码0110 0111.因此您更改了第一个字节的最后一位将字节从01更改为00.将第二个字节的最后一位更改为1,将字节从00更改为01.将第三个字节的最后一位更改为1.它已经为1,因此使得没有不同.等等.最终编码的8字节为00 01 C9 FE FF C9 43 43.

颜色的变化会非常微妙,以至于任何看到图片的人都不太会注意到.即使他们确实注意到了,除非他们有理由怀疑,否则他们很可能会得出这样的结论:质量并不完美.

当然没有什么说你必须为每个字节使用1比特的秘密消息.根据您认为可以逃脱的质量下降程度,您可以使用每字节2位,或者每隔一个字节更改1位等.

当然,相同的技术可以用于彩色照片:改变每个RGB分量中的最后一位以编码每像素3比特等.


Arj*_* SK 10

嘿,这种方法被称为隐写术.有了它,我们不仅可以隐藏图像中的信息,还可以隐藏音频,视频和其他格式的信息.

这是一个名为steganotool的opensouce Steganography软件.该项目是一个开源隐写术工具,可用于隐藏和从位图图像中提取文本.

关于隐写术媒体

图像中的隐写术

这种类型的隐写术对于发现是非常有效的,并且可以用于各种目的.这些目的可以包括认证,隐藏消息和加密密钥的传输.这类隐写术最有效的方法通常是最低有效位方法.这只是意味着隐藏的消息将改变图片中字节的最后一位.通过改变最后一位,载波图像内该像素的颜色将相对没有变化.这可以防止轻松检测到消息.隐藏信息的最佳类型的图像文件是24位位图.这是由于文件大小和高质量.

音频中的隐写术

在音频文件中,隐藏信息的最突出方法是低位编码方法.低位编码方法有点类似于图像文件中使用的最低有效位方法.秘密信息附加到文件的末尾.低位编码的一个问题是人耳可以注意到它.如果有人试图隐藏信息,这可能会有风险,因为它很容易被发现.扩频方法是另一种用于隐藏音频文件中信息的方法.这种方法的作用是将随机噪声添加到音频广播中.该方法使得信息能够在频谱上扩展并且在随机噪声下保持隐藏.在音频隐写术中看到的最后一种方法是回声隐藏数据.该方法试图通过使用声音文件中自然发生的回声来隐藏信息.然后,可以向这些回声添加额外的声音,额外的声音是隐藏的消息.这是隐藏信息的充分方式,特别是因为它甚至在某些情况下改善了原始音频文件的声音.

视频中的隐写术

视频中的隐写术基本上隐藏了每个视频帧中的信息.只有少量信息隐藏在视频内部,通常根本不会引起注意,但隐藏的信息越多,信息就越明显.这种方法也很有效,但必须正确完成或者显示更多信息而不是隐藏.

隐写术在文件中

这基本上是在文档行的末尾添加空格和制表符.这种类型的隐写术非常有效,因为在大多数文本/文档编辑器中人眼看不到使用白色空间和标签.

您也可以参考这个开源项目

这篇文章非常有用.


RaY*_*ell 4

您可以在图像元数据中存储一些信息。事实上,这就是人类数码相机“标记”其制作的照片的方式(相机型号、日期和时间、GPS 坐标等)。

这种数据格式称为EXIF(可交换图像文件格式)。有很多如何在编程语言中使用它的示例。这是Java 中的示例。

如果您想阻止用户读取这些数据,您可以以某种方式对其进行加密,但他们始终能够将其从您的图片中删除(例如,通过在 Photoshop 中打开并使用“另存为”)。