Quantcast
Channel: bogamp’s blog
Viewing all articles
Browse latest Browse all 34

steghideでjpg画像に情報を埋め込む

$
0
0

ステガノグラフィーとは情報を埋め込んで存在を隠す技術のことである。たとえば画像の場合、ピクセルの色などを視認できないレベルで僅かに変化させることで情報を埋め込み、専用のツールのみで情報を復元できるようにする。
steghideステガノグラフィー用のコマンドで、 jpegの他にはbmp、wav、auに対応している。開発が長らく止まっているため対応フォーマットが少なく、ステガノグラフィーの手法も古いが、今でもこの分野ではメジャーなツールらしい。

使い方

情報を埋め込む

steghide embed -cf example.jpg -ef secret.txt -p pass

-cfで画像ファイルを指定し、-efで埋め込む情報のファイルを指定、-pでパスフレーズを指定する。
画像に対して埋め込む情報が大きすぎると失敗する。
標準入力から埋め込む情報を読み込むなら、

echo secretinfo | steghide embed -cf example.jpg -ef - -p pass

このように-ef -と指定する。
また、画像はデフォルトでは上書きされる。上書きしたくないなら、

steghide embed -cf example.jpg -ef secret.txt -p pass -sf output.jpg

このように-sfで出力ファイル名を指定する。

情報を取り出す

steghide extract -sf example.jpg -p pass

-sfで画像ファイル、-pでパスフレーズを指定する。デフォルトでは、埋め込んだときと同じファイル名のファイルが作成される。
情報を標準出力に出力したいなら、

steghide extract -sf example.jpg -xf - -p pass

pngに対して使う

pngのような可逆圧縮フォーマットに対しては、いったんbmpに変換すれば一応使うことができる(bmpは無圧縮なので、pngから変換しても劣化しない)。ただし、透明度の情報が含まれている場合は変換時に消失する。

埋め込む

変換にはImagemagickを使用した。
convert example.png bmp3:example.bmp
steghide embed -cf example.bmp -ef secret.txt -p pass
convert example.bmp output.png

steghideはbmp4に対応していないので、変換時にbmp3:を指定する必要がある。

取り出す

convert output.png bmp3:output.bmp
steghide extract -sf output.bmp -xf - -p pass

参考リンク

https://manpages.debian.org/bookworm/steghide/steghide.1.en.html

Viewing all articles
Browse latest Browse all 34

Trending Articles