ITエンジニア/デザイナ向けにオープンソースを毎日紹介

OpenStego は秘密にしたいファイルを別なファイルの中に隠すことができるソフトウェアです。いわゆるステガノグラフィ技術を使ったソフトウェアになります。ステガノグラフィ技術とは、相手に秘密の通信を行うためにコンテンツに隠す技術です。

OpenStego の主な特徴

1) さまざまなプラットフォームで実行可能

Java でできていますので、さまざまなプラットフォームで動きます。

2) 操作が簡単

秘密にしたいファイルと、秘密にしたいファイルを隠すためのファイルを用意します。前者をメッセージファイル、後者をカバーファイルと呼びます。サンプルで説明します。

まず秘密にしたいファイルを用意します。ファイル名と内容は次の通りです。

message.txt

おはようございます。
こんにちは。
こんばんわ。
おやすみなさい。

次に、カバーファイルとしてこのひまわり画像を使用します。
次に、カバーファイルとしてこのひまわり画像を使用します。

ソフトウェアを起動します。ここではGUI版を起動します。ディレクトリ lib にある openstego.jar を実行します。

java -jar <path>\openstego.jar

Windows用にバッチコマンドが用意されています。

openstego.bat

OpenStegoを起動した直後の画面です。
OpenStegoを起動した直後の画面です。

デフォルトでは、ウィンドウの左側にあるボタンが「Hide Data」となっています。ここでメッセージファイルとカバーファイルを指定します。「Output Stego File」で出力ファイルを指定します。ここでは dst.png とします。また、パスワードも指定します。そしてボタン「Hide Data」をクリックして実行します。

無事に成功しました。
無事に成功しました。

作成したイメージファイルは次の通りです。が、

OpenStego 結果の結果。見た目は違いが分かりません。
OpenStego 結果の結果。見た目は違いが分かりません。

元のイメージファイルとバイナリ比較すると差が分かります。
元のイメージファイルとバイナリ比較すると差が分かります。

完成したファイルから、メッセージファイルを取り出してみます。OpenStego を起動して、ウィンドウの左でボタン「Extract Data」をクリックします。「Input Stego File」に完成したファイル名を指定します。「Output Folder for Message File」にメッセージファイルを出力するフォルダ名を指定します。出力するフォルダは、既に存在するフォルダを指定します。ボタン「Extract Data」をクリックします。

メッセージファイル取り出しを指定します。
メッセージファイル取り出しを指定します。

取り出した結果です。
取り出した結果です。

指定したフォルダにメッセージファイルができています。

3) カバーファイルはいくつかの形式のイメージ・ファイルを指定可能

BMP形式、GIF形式、JPEG形式、PNG形式を指定できます。

4) 電子透かしも利用可能

ベータ版ですが利用できます。
ベータ版ですが利用できます。

5) コマンドラインでも利用可能

コマンドラインでも利用できるのは便利です。オプションが豊富です。

For command line interface:
  java -jar </path><path>\openstego.jar <command> [options]

The first argument must be a command. Valid commands are:

  embed, --embed                Embed message into cover file
  extract, --extract            Extract message from stego file
  gensig, --gensig              Generate a signature for watermarking
  embedmark, --embedmark        Watermark a cover file using signature
  checkmark, --checkmark        Checks for watermark presence in the file
  algorithms, --algorithms      List down supported steganography algorithms
  readformats --readformats     List down supported formats for cover file
  writeformats, --writeformats  List down supported formats for stego file
  help, --help                  Display this help. To get help on options
                                specific to an algorithm, provide the name of
                                the algorithm using '-a' option

OpenStego のインストール

実行環境にあったファイルをダウンロードできます。Windows用にインストーラも用意されています。手動で行う場合は、JAR形式のファイルを任意のフォルダやディレクトリに置くだけです。

仕事だけでなく、プライベートでも活躍しそうなソフトウェアです。思い出として残したいイメージファイルに、そっとメッセージをそえて相手に渡すこともできます。ステガノグラフィ技術は秘密にしたいメッセージが主役となる技術ではありますが、このように利用することで、イメージファイル、メッセージの両方とも主役となります。

ステガノグラフィ技術や電子透かし技術は応用することが楽しくなる技術です。OpenStego はステガノグラフィ技術や電子透かし技術をより身近にしてくれる便利なソフトウェアです。

OpenStegoはJava製、GPLのオープンソース・ソフトウェアです。

OpenStego The free steganography solution

source code

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2