画像の中にメモを隠す

最下位ビットステガノグラフィで、PNGのピクセルに目立たずテキストを埋め込み、後で取り出します。

このガイドで使う道具

やりたいこと

ステガノグラフィは「メッセージが存在する」こと自体を隠します。各色チャンネルの最下位ビットを反転させれば、目には見えない変化ですが、読み取り側はテキストを取り出せます。隠しタグ・パズル・透かしメモ向きです。

埋め込みと取り出し

PNGを選び、メッセージを打ち、埋め込みます。長さヘッダーとバイト列がRGBの最下位ビットへ書き込まれ、見た目が同じPNGが戻ります。取り出す側は、ステガノ済み画像を抽出モードへドロップします。

  • 容量は1ピクセル約3ビット−32ビットヘッダー。1000×1000画像で約375KB入ります。メッセージ上限65,535バイトよりはるかに大きい。
  • PNGのままであることが必須です。JPEGで保存し直すと下位ビットが乱れ、ペイロードは壊れます。

具体例

旅行写真のPNGに「meet at the usual spot」を埋め込みます。見た目は同じで、RGBの下位ビットが数百バイト分だけ変化します。道具を持つ人はテキストを抽出でき、持たない人にはただの写真です。

対応範囲

LSBステガノグラフィは暗号ではなく秘匿です。ペイロードを疑う人は読めるので、重要なら先にテキストを暗号化してください。ペイロードはロスレスな扱いでのみ生き残ります。JPEG再保存・リサイズ・フィルタで壊れます。元画像は32MiBまで。アルファチャンネルは無変更です。