システムのエントロピーの「品質」を測定できるLinuxシステム用のツールはありますか?
エントロピーを数える方法を知っています:
cat /proc/sys/kernel/random/entropy_avail
また、一部のシステムには「良い」エントロピーのソース(ハードウェアエントロピーキー)があり、一部のシステムにはない(仮想マシン)ことを知っています。
しかし、システム上のエントロピーの「品質」に関するメトリックを提供できるツールはありますか?
システムのエントロピーの「品質」を測定できる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
dd if=/dev/urandom bs=1M count=1 | ent
/dev/urandom
は完全に役に立たないことに注意してください。/dev/urandom
は、暗号品質のPRNGの出力であり、エントロピー推定器は、常に適切なPRNGにフルマークを付けます。エントロピーエスティメータを無条件のエントロピーソースで実行する必要がありますが、Linuxはカーネルの外部には公開しません。Cc @DustinKirkland
/dev/urandom
?の出力からエントロピーを推定します はい。出力/dev/urandom
(または/dev/random
、同じ問題が)暗号品質のPRNGの出力であり、それは常にエントロピー推定のためのトップのマークを持っています。エントロピーを推定したい場合は、カーネルを掘り下げ、カーネルがエントロピーソースに使用するものを把握し、非常に長い時間測定する必要があります。
「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、256ent
、および512ビットのシリアル相関テストよりも高速なエントロピーテストを実行します。
ncomputers.org/entropyツール、あなたはまた、出力プロット、視覚的な頻度と分布のテストを行うことができるentropy.freqとentropy.gausを
例として、servertest.online / entropytestを使用して最大1GBのオンラインテストを実行できます。
あなたが探していると思う:
cat /proc/sys/kernel/random/entropy_avail