数字水印实验室

LSB 隐写 · 口令加密

写入前先用浏览器原生的 AES-GCM 加密(口令走 PBKDF2 派生密钥),没有口令,就算知道算法也读不出内容。选图后会自动尝试解码;导出请务必用 PNG。

这是第三方实现的对照实验。LSB 定位算法沿用 PixelJihad(作者 Zach Oakes),加解密已改用浏览器原生 WebCrypto。JPEG 压缩会直接抹掉最低有效位。

01 · 选择一张图片

待写入或读取隐藏信息的图片预览

02 · 写入或读取

03 · 隐藏的内容

已经写入加密隐藏信息的输出图片

原理速览:先加密载荷,再打散写入像素

口令通过 SHA-256 生成定位序列,载荷用 AES-GCM 加密后写入分散的颜色最低位。GCM 自带认证:口令不对会直接报错,不会解出似是而非的乱码。

  1. 加密PBKDF2 + AES-GCM
  2. 定位哈希生成写入顺序
  3. 写位修改颜色最低位
  4. 解密同口令恢复内容
能做

在隐藏前加密载荷,并用相同口令恢复明文。

不能做

不能抵抗 JPEG 或缩放;口令遗失后也无法恢复内容。