Debian で OutGuess を使ってステガノグラフィーをやってみた
2008年 9月 14日 00:36WIRED VISION の記事「第26回 森の中に木を隠す」を読んでステガノグラフィーをやってみたくなったのでやってみました。
ステガノグラフィーっていうのは、簡単に言うと、画像や音声ファイルに別の情報を埋め込む技術です。電子透かしなんかにも使われていますね。詳細は前述の記事か、「wikipedia:ステガノグラフィー」あたりを読んでみてください。
とりあえず、Debian でやってみたいので、パッケージを検索してみたところ
# apt-cache search outguess
outguess - Universal Steganographic tool
stegdetect - Detect and extract steganography messages inside JPEG
outguess というパッケージが見つかったので、これを使ってみます。インストールは、
# aptitude install outguess
という感じで簡単にインストールできます。
早速使ってみます。とりあえず、このワンコの画像 dog.jpg に dog.txt を埋め込んでみたいと思います。
コマンドは、こんな感じです。
outguess -k wanko -d dog.txt dog.jpg dog2.jpg
-k は秘密鍵です。いわゆるパスワードですね。ここでは wanko というパスワードを設定しています。特にパスワードを指定したくない場合は、-k オプションは必要ないようです。 -d が埋め込みたいデータのファイルです。今回はテキストファイルを画像に埋め込んでみます。次の dog.jpg が埋め込み先の画像ファイルで、dog2.jpg が埋め込まれた後の画像ファイルになります。
このコマンドを実行して生成されたファイル dog2.jpg がこれになります。
一見すると元画像の dog.jpg と変わらないように見えますね。若干劣化してるようにも見えます。
この画像から、埋め込まれたファイルを取り出すには、次のようにします。
outguess -k wanko -r dog2.jpg secret.txt
-k は先ほど設定した秘密鍵です。dog2.jpg がファイルが埋め込まれているファイルです。ここでは、埋め込まれているファイルを secret.txt という名前で取り出しています。実際に、上記の dog2.jpg にはUTF-8で書かれたテキストファイルが埋め込んであるので、興味のある人は抽出してみてください。
ステガノグラフィーって簡単に使えて、いろいろと応用も利きそうです。画像サイトや写真サイトを運営している人はこれを使って、自分の署名を埋め込んで電子透にしておけば、後々役に立つかもしれないですね。自分的には、これを利用して簡単なネットサービスを作ったら面白いかも。なんて思った次第です。



2008 年 11 月 29 日 20:59
この技術すごいな