システムのエントロピーの「品質」を測定できるLinuxシステム用のツールはありますか?
私はエントロピーを数える方法を知っています:
cat /proc/sys/kernel/random/entropy_avail
また、エントロピーの「適切な」ソース(ハードウェアエントロピーキー)を備えているシステムと備えていないシステム(仮想マシン)があることも知っています。
しかし、システムのエントロピーの「品質」に関するメトリックを提供できるツールはありますか?
http://www.fourmilab.ch/random/ は私のために働きます。
Sudo apt-get install ent
head -c 1M /dev/urandom > /tmp/out
ent /tmp/out
"ent"は、エントロピーを簡単かつ迅速に推定するための優れたコマンドラインツールです。
私は、線形合同ジェネレーターがどのように機能するかを学ぶのを助けるためにそれを使用しました。しかし、「エントロピーの測定」が「ランダム性の測定」を意味する場合、問題はより複雑になります。
ランダム性のより堅牢なテストを行うには、dieharderテストスイートをチェックアウトする必要があります。 http://www.phy.duke.edu/~rgb/General/dieharder.php
「ent」ほど簡単には使用できませんが、はるかに厳密です。
より詳細な調査のために、「Cipher's by Ritter」もリンクの適切な選択を提供します。
ツールは、エントロピーに上限を与えることしかできません。ほとんどの用途、特にセキュリティ関連の用途では、下限に関心があります。
任意のファイルのエントロピーを計算することは数学的に不可能であるため、それを実行できるツールはありません。
非常に低いエントロピーファイルを生成するファイルジェネレーターを簡単に作成できますが、エントロピーテストには合格します。小さなシードで暗号を使用するPRNG.
Binwalkは-E
オプション:
# binwalk -E data
DECIMAL HEXADECIMAL ENTROPY
--------------------------------------------------------------------------------
0 0x0 Falling entropy Edge (0.000000)
2443264 0x254800 Rising entropy Edge (0.988510)
ソースコードは GitHubリポジトリ から取得できます。
ncomputers.org/entropyarray は、16、32、64、128、256、および512ビットのシリアル相関テストでent
よりも高速なエントロピーテストを実行します。
ncomputers.org/entropy ツールを使用して、視覚的な頻度と分布のテストを実行し、出力をプロットしますentropy.freqおよびentropy.gaus
例として、 servertest.online/entropytest を使用して、最大1GBのオンラインテストを実行できます。