LSB Steganography とは — ピクセルにデータを隠す仕組み
LSB steganography の基本概念を解説。画像のピクセル値の最下位ビットを書き換えてデータを隠す仕組み、用語、肉眼では判別不可能な理由を詳しく説明します。
Basics
詳細な説明
LSB Steganography の基礎
Steganography(ステガノグラフィー) とは、通常のメディアの中に情報を隠す技術です。暗号化がデータを「読めなくする」のに対し、steganography はデータの存在そのものを「見えなくする」点が異なります。
LSB(Least Significant Bit=最下位ビット)steganography は、デジタル画像を対象としたもっとも一般的な steganography 手法です。画像のピクセルデータの各バイトにおける最下位ビットを、秘密のメッセージの1ビットで置き換えます。
なぜ最下位ビットなのか?
24ビット RGB 画像では、各ピクセルは赤・緑・青の3バイトで表されます。各バイトは 0〜255 の値を持ちますが、最下位ビットが寄与する値はわずか 1 です。つまり、このビットを変更しても色チャンネルの変化は 256 段階中たった 1 であり、人間の目にはまったく区別がつきません。
赤チャンネルの値が 11010100(10進数で 212)のピクセルを例に考えてみましょう:
| 元のビット | 変更後のビット | 10進数の変化 |
|---|---|---|
| 11010100 (212) | 11010101 (213) | +1 |
この ±1 の変化は人間の知覚閾値をはるかに下回ります。
処理フロー
秘密メッセージ → バイナリ変換 → 各ビットをピクセルの LSB に埋め込み → Stego 画像を出力
重要な用語
- カバー画像(Cover image): データを埋め込む前の元画像。
- Stego 画像(Stego image): 秘密データが埋め込まれた後の画像。
- ペイロード(Payload): 隠される秘密データ。
- 埋め込み率(Embedding rate): 利用可能ビットに対する隠しビットの比率。ビット毎ピクセル(bpp)で表されます。
ユースケース
情報隠蔽の基本を理解してからツールを使いたい開発者向け。LSB ベースの steganography ツールを操作するために必要な語彙と概念モデルを提供します。