Werkzeug zur Messung der Entropiequalität?

26

Gibt es ein Tool für Linux-Systeme, mit dem die "Qualität" der Entropie auf dem System gemessen werden kann?

Ich weiß, wie man die Entropie zählt:

cat /proc/sys/kernel/random/entropy_avail

Und ich weiß, dass einige Systeme "gute" Entropiequellen haben (Hardware-Entropieschlüssel), andere nicht (virtuelle Maschinen).

Aber gibt es ein Tool, das eine Metrik für die "Qualität" der Entropie im System liefert?

Dustin Kirkland
quelle
Ich bin interessiert, warum soll die Entropie eines Systems berechnet werden?
whoami

Antworten:

26

http://www.fourmilab.ch/random/ arbeitet für mich.

sudo apt-get install ent
head -c 1M /dev/urandom > /tmp/out
ent /tmp/out
Marcin
quelle
4
Cooles Werkzeug. Sie können ein Gerät in nur einem Befehl mitdd if=/dev/urandom bs=1M count=1 | ent
l0b0 13.06.13
7
Beachten Sie, dass das Ausführen eines Entropieschätzers /dev/urandomvöllig nutzlos ist. /dev/urandomist die Ausgabe eines PRNG in Kryptoqualität, und ein Entropieschätzer gibt jedem halbwegs anständigen PRNG immer die volle Note. Sie müssen den Entropieschätzer für die nicht konditionierte Entropiequelle ausführen , die Linux nicht außerhalb des Kernels verfügbar macht. Cc @DustinKirkland
Gilles '
@ Gilles gibt es keinen Weg?
Felipe
@FelipeMicaroniLalli Keine Möglichkeit, was zu tun? Schätzen Sie die Entropie aus der Ausgabe von /dev/urandom? Ja. Die Ausgabe von /dev/urandom(oder /dev/randomderselben Ausgabe) ist die Ausgabe eines PRNG in Kryptoqualität, und das wird immer Bestnoten für die Entropieschätzung haben. Wenn Sie die Entropie schätzen möchten, müssen Sie in den Kern graben, herausfinden, was er für Entropiequellen verwendet, und SEHR lange messen.
Gilles 'SO- hör auf böse zu sein'
1
@FelipeMicaroniLalli Nein, die Entropiequelle beeinflusst den PRNG nicht in einer Weise, die gemessen werden kann. Dies ist für Unix und Linux eher unangebracht, aber ich weiß, ich habe es in der Kryptografie diskutiert gesehen. Versuchen Sie dort, die Tags [entropy] und [randomness] zu durchsuchen.
Gilles 'SO- hör auf böse zu sein'
6

"ent" ist ein exzellentes Kommandozeilenwerkzeug für eine einfache und schnelle Abschätzung der Entropie.

Ich habe es verwendet, um zu lernen, wie lineare Kongruenzgeneratoren funktionieren. Aber wenn mit "Messen der Entropie" "Messen der Zufälligkeit" gemeint ist, wird das Problem komplexer.

Für einen zuverlässigeren Test der Zufälligkeit sollten Sie sich die Dieharder-Testsuite ansehen: http://www.phy.duke.edu/~rgb/General/dieharder.php

Es ist nicht so einfach zu bedienen wie "ent", aber es ist weitaus strenger.

Für eine genauere Untersuchung bietet "Cipher's by Ritter" auch eine gute Auswahl an Links:

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

Morgan
quelle
3

Werkzeuge können Ihnen immer nur eine Obergrenze für die Entropie geben. Bei den meisten Verwendungen, insbesondere bei sicherheitsrelevanten Verwendungen, interessiert Sie eher eine Untergrenze.

Die Berechnung der Entropie einer beliebigen Datei ist mathematisch unmöglich, daher kann es kein Tool geben, das dies kann.

Ich kann leicht einen Dateigenerator schreiben, der Dateien mit sehr geringer Entropie erzeugt, aber trotzdem Ihre Entropietests bestehen wird. Verwenden Sie einfach ein Krypto-PRNG mit einem kleinen Samen.

CodesInChaos
quelle
0

Sie können Binwalk mit der folgenden -EOption verwenden:

# binwalk -E data

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

Sie können den Quellcode aus dem GitHub-Repository herunterladen .

Mateusz Piotrowski
quelle
-5

Ich denke, Sie suchen nach:

cat /proc/sys/kernel/random/entropy_avail
ramonovski
quelle
Entschuldigung, nein, mir ist entropy_avail bekannt. Ich versuche die Qualität dieser Entropie zu messen.
Dustin Kirkland