エントロピーと圧縮/暗号化データのバイト分布の比較


8

しばらくの間、自分自身を占める質問があります。

暗号化されたデータを識別するために、エントロピーテストがよく使用されます。分析されたデータのバイトが均一に分散されると、エントロピーが最大になります。エントロピーテストは、暗号化されたデータを識別します。これは、このデータが、エントロピーテストの使用時に暗号化されたものとして分類される圧縮データのように均一な分布を持っているためです。

例:一部のJPGファイルのエントロピーは7,9961532ビット/バイト、一部のTrueCryptコンテナーのエントロピーは7,9998857です。つまり、エントロピーテストでは、暗号化されたデータと圧縮されたデータの違いを検出できません。しかし、最初の写真でわかるように、JPGファイルのバイトは均一に分散されていません(少なくとも、truecrypt-containerからのバイトほど均一ではありません)。

別のテストは、周波数分析です。各バイトの分布が測定され、たとえば、分布を仮説の分布と比較するためにカイ2乗検定が実行されます。その結果、p値が得られます。JPGとTrueCrypt-dataでこのテストを実行すると、結果が異なります。

JPGファイルのp値は0です。これは、統計ビューからの分布が均一でないことを意味します。TrueCryptファイルのp値は0,95です。これは、分布がほぼ完全に均一であることを意味します。

私の質問:エントロピーテストでこのような誤検知が発生する理由を誰かに教えてもらえますか?情報の内容が表現されている単位のスケール(ビット/バイト)ですか?より細かいスケールのため、例えばp値はより良い「単位」ですか?

回答/アイデアをありがとうございました!

JPG-Image ここに画像の説明を入力してください TrueCrypt-Container ここに画像の説明を入力してください


2
エントロピーの2つの例を示しますが、「エントロピーテスト」と呼ばれるものを実際に適用することはありません。そのテストとは何か、2つのファイルでどのように機能するかを明示的に教えていただけますか?
whuber

これで画像を投稿できるようになります。@whuberのコメントに従って、さらに詳細を提供してください。
カーディナル

エントロピーについては、各数値(0〜255)が現れる確率を計算します。次に、すべてのログ(確率)を合計し、エントロピーを取得します。法医学検査に使用されるencaseなどのソフトウェアは、暗号化されたデータを検出するためにエントロピーを使用します。しかし、ご覧のとおり、エントロピーは多くの誤検知を引き起こします。カイ二乗のような他のアプローチははるかに良い結果をもたらします。ただし、2つのテストは同じ目的で使用され、バイトの統一を検出します。結果はどのように異なることができますか?
tommynogger 2013

申し訳ありませんが、私の説明は間違っていました...エントロピーの合計(p log p)を計算します。ここで、pはすべての数値の確率です。
tommynogger 2013

エントロピーを誤って計算している可能性が非常に高いと思います。より多くの詳細といくつかのサンプルコードを与える価値があるかもしれません。確率分布を正しく正規化しました(合計が1になるように)。どうやってもっと詳しくやってるの?2つのイラストは同じyスケールですか?もしそうなら、JPEGエントロピーはもっと低いはずだと思いますが、同じスケールですか?
thrope

回答:


6

この質問には依然として重要な情報が不足していますが、私はいくつかのインテリジェントな推測を行うことができると思います:

  • p=(p0,p1,,p255)

    H(p)=i=0255pilog2pi.
  • logpipi=28i

    H0=i=025528log2(28)=i=025528×8=8.
  • 7.99615327.9998857H0=8

    H(p)H0H(p)

    H0H(p)=i(pi28)2228log(2)+O(pi28)3.

    7.99615320.00384680.00002099pi280.57.9998857pi

    1000pi0.090.5615100 互いに直接比較できます。)

どちらの場合も、これらは小さな偏差ですが、一方は他方よりも5倍以上小さくなります。質問は、エントロピーがどのように均一性を決定するために使用されたのか、またどれだけのデータが存在するのかを教えてくれないので、推測する必要があります。真の「エントロピー検定」が適用されている場合、他の統計検定と同様に、確率変動を考慮する必要があります。この場合、観測された周波数(エントロピーが計算されたもの)は、偶然により、実際の基本周波数とは異なる傾向があります。これらの変動は、上記の式を介して、実際の基礎となるエントロピーから観測されたエントロピーの変動に変換されます。 十分なデータがあれば、80.090.5(0.5/0.09)233

7.99687.999888


2568


計算されたエントロピーは、上の図を参照しています。JPGファイルのサイズは約5MB、TrueCrypt-Containerのサイズは約100MBです。TrueCrypt-Containerの5MBの部分を取得しても、均等に分散されます-JPGファイルよりもはるかに多くなります。あなたが答えると、私が聞いたことのないエントロピーについて多くの詳細がわかります。これをありがとう!たぶんいくつかの詳細が多すぎます、私は統計にあまり興味がありません...私はしばらくの間統計を「使用する」ことを試みました。質問が1つ残っています。周波数分析では区別できるが、エントロピーでは区別できない理由は何ですか。
tommynogger 2013

カイ2乗検定は、確率変動の可能性の高い量を考慮します。私の知る限り、あなたのエントロピーの比較はそうではありません。それが違いの原因のようです。また、結果の解釈方法にも注意する必要があります。物事が均等に分散しすぎている可能性があります。それはまた、ランダムな行動に対する証拠と見なすことができます。
whuber
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.