SANS SIFT のツール一覧を眺めていたところ、エントロピーを計算するツールとして ent なるコマンドが含まれているんですね。
Windows版のバイナリとかないかものかと検索してみたところ、オリジナルのサイトには Windows 版のバイナリがあったので、早速ダウンロードして簡単にテストしてみました。
ENT:A Pseudorandom Number Sequence Test Program
http://www.fourmilab.ch/random/
近似ファイルの検出に使いたいので、とりあえずパワーポイントのファイルを題材に、test001.ppt がオリジナルで、ここからスライドを2枚削除した test002.ppt を作成してエントロピーを計算。
C:\case\ent\random>ent -b test001.ppt Entropy = 0.998876 bits per bit. C:\case\ent\random>ent -b test002.ppt Entropy = 0.998918 bits per bit. C:\case\ent\random>ent test001.ppt Entropy = 7.771158 bits per byte. C:\case\ent\random>ent test002.ppt Entropy = 7.764736 bits per byte.
オプション -b を指定した場合にはビットで、何も指定してない場合はバイト単位で計算ってことなんでしょうかね。
中身が同じファイルでは同じ結果数値が得られますが、ハッシュ値と違って、ファイルの中身が単に 1 文字違いとかだと似た数値か同じ数値が表示されてきます。
echo forensics > a.txt echo Forensics > b.txt C:\case\ent\random>ent -b a.txt Entropy = 0.999687 bits per bit. C:\case\ent\random>ent -b b.txt Entropy = 0.998747 bits per bit. C:\case\ent\random>ent a.txt Entropy = 3.418296 bits per byte. C:\case\ent\random>ent b.txt Entropy = 3.418296 bits per byte.
確かにこれが EnCase から使えると便利かも。最近の EnCase はエントロピーを使えるらしいので、後は @cci_forensics な人にお任せということで。