我正在寻找有关如何通过颜色将少量二进制数据(例如,大约 200 个字节)编码为 PNG 的信息;本质上是Hid.im对.torrent
文件所做的。最佳实践的任何信息或跳板都将是一流的。
谢谢!
我正在寻找有关如何通过颜色将少量二进制数据(例如,大约 200 个字节)编码为 PNG 的信息;本质上是Hid.im对.torrent
文件所做的。最佳实践的任何信息或跳板都将是一流的。
谢谢!
将数据隐藏在无损压缩图像中的基本原理是修改每个像素的低位,因此这些位总体上是有意义的。
例如在 RGB 中,您可以修改红色值的最后一位(技术上人眼对红色的敏感度低于对绿色或蓝色的敏感度)。
例如,我们画一条 8 像素的线,比如每个像素的 Red 值都有前一个像素的 Red + 1 的值
Pixel1 = (120, 203, 391)
Pixel2 = (121, ..., ...)
...
Pixel8 = (128, ..., ...)
二进制形式是:
Pixel1 = (01111000, ..., ...)
Pixel2 = (01111001, ..., ...)
...
Pixel8 = (10000000, ..., ...)
现在,让我们加密该行中的数字 63:
63 = 00011111
# Encrypting from right to left, by writing the data to the minor bit
Pixel1 = (0111100[0], ..., ...) -> 120
Pixel2 = (0111100[0], ..., ...) -> 120
Pixel3 = (0111101[0], ..., ...) -> 122
Pixel4 = (0111101[1], ..., ...) -> 123
Pixel5 = (0111110[1], ..., ...) -> 125
...
Pixel8 = (1000000[1], ..., ...) -> 129
就是这样。您知道信息在哪里以及应该如何提取信息。然而,这种方法受到容量的很大限制。