web-dev-qa-db-ja.com

エントロピー品質を測定するためのツール?

システムのエントロピーの「品質」を測定できるLinuxシステム用のツールはありますか?

私はエントロピーを数える方法を知っています:

cat /proc/sys/kernel/random/entropy_avail

また、エントロピーの「適切な」ソース(ハードウェアエントロピーキー)を備えているシステムと備えていないシステム(仮想マシン)があることも知っています。

しかし、システムのエントロピーの「品質」に関するメトリックを提供できるツールはありますか?

27
Dustin Kirkland

http://www.fourmilab.ch/random/ は私のために働きます。

Sudo apt-get install ent
head -c 1M /dev/urandom > /tmp/out
ent /tmp/out
26
Marcin

"ent"は、エントロピーを簡単かつ迅速に推定するための優れたコマンドラインツールです。

私は、線形合同ジェネレーターがどのように機能するかを学ぶのを助けるためにそれを使用しました。しかし、「エントロピーの測定」が「ランダム性の測定」を意味する場合、問題はより複雑になります。

ランダム性のより堅牢なテストを行うには、dieharderテストスイートをチェックアウトする必要があります。 http://www.phy.duke.edu/~rgb/General/dieharder.php

「ent」ほど簡単には使用できませんが、はるかに厳密です。

より詳細な調査のために、「Cipher's by Ritter」もリンクの適切な選択を提供します。

http://www.ciphersbyritter.com/NETLINKS.HTM#RandomnessLinks

7
Morgan

ツールは、エントロピーに上限を与えることしかできません。ほとんどの用途、特にセキュリティ関連の用途では、下限に関心があります。

任意のファイルのエントロピーを計算することは数学的に不可能であるため、それを実行できるツールはありません。

非常に低いエントロピーファイルを生成するファイルジェネレーターを簡単に作成できますが、エントロピーテストには合格します。小さなシードで暗号を使用するPRNG.

3
CodesInChaos

Binwalkは-Eオプション:

# binwalk -E data

DECIMAL       HEXADECIMAL     ENTROPY
--------------------------------------------------------------------------------
0             0x0             Falling entropy Edge (0.000000)
2443264       0x254800        Rising entropy Edge (0.988510)

ソースコードは GitHubリポジトリ から取得できます。

0

ncomputers.org/entropyarray は、16、32、64、128、256、および512ビットのシリアル相関テストでentよりも高速なエントロピーテストを実行します。

ncomputers.org/entropy ツールを使用して、視覚的な頻度と分布のテストを実行し、出力をプロットしますentropy.freqおよびentropy.gaus

例として、 servertest.online/entropytest を使用して、最大1GBのオンラインテストを実行できます。

entropy.freqentropy.gaus

0
ncomputers