在这个项目中是用的图片来作为案例的,首先通过介绍了一种图片的编码形式, ppm:
- 第一行表示是什么格式的 ppm 文件
- 第二行表示宽和高
- 第三行表示颜色范围
- 后面的就是各个像素的RGB值
P3
2 2
255
29 83 36 45 64 57
188 229 201 123 162 184
他是这么介绍的:
我们将探索一种隐藏消息的方法.虽然大多数图像的每个 RGB 通道都有 8 位数据,但人眼无法轻易看出后 4 位的差异.因此,我们可以将信息隐藏在图像的底部位中.我们通过修改每个像素 B 值的最低有效位, 如果最后一位是 0,则把整个像素转换为黑色(255,255,255),如果最后一位是 1,则转换为白色(0,0,0).
关键就是: 每个 RGB 通道都有 8 位数据,但人眼无法轻易看出后 4 位的差异,所以这就给了我们操作的空间.