stegano.jsはPNG画像の中に任意のファイルを埋め込み、パスワードをかけて隠せるソフトウェアです。

簡単には見破られない、秘密のファイルを受け渡す際に使えそうなのがstegano.jsです。画像の中に任意のファイルを隠すことが出来ます。


まず画像ファイルと任意のファイルを指定します。そしてDo Itボタンを押します。


次にパスワードを入力します。


新しい画像が出力されました。これを保存します。


次に保存した画像を指定してデコードを試みます。


パスワードが聞かれます。先ほどのものを入力します。


ダイアログが出ます。OKを押すと画像ではないファイルの方がダウンロードされます(筆者環境ではうまくいきませんでしたが…)。

stegano.jsはPNGの中にファイルを隠すのに加えてパスワードまで付けられるようになっています。これならばまずばれないでしょう(サイズは大きくなってしまうのが難点ですが)。

stegano.jsはHTML5/JavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

MOONGIFTはこう見る

stegano.jsの面白い点としてはJavaScriptのみで処理しているのでファイルをサーバサイドにアップロードしている訳ではないということでしょう。指定したファイルをCanvasの中に読み込んで合成してまた画像として出力しています(data URIを使っています)。

つまりローカルソフトウェアと何ら変わることなくファイルを処理しているということです。今後、この手の技術をうまく使えばWebサーバを内蔵してWebアプリケーションをソフトウェアとして配布するモデルも考えられるかも知れません。HTML5の面白さを感じられる技術です。

tuseroni/stegano.js