Narzędzie do pomiaru jakości entropii?


26

Czy jest dostępne narzędzie dla systemów Linux, które może zmierzyć „jakość” entropii w systemie?

Wiem, jak liczyć entropię:

cat /proc/sys/kernel/random/entropy_avail

Wiem, że niektóre systemy mają „dobre” źródła entropii (sprzętowe klucze entropii), a niektóre nie (maszyny wirtualne).

Ale czy istnieje narzędzie, które może dostarczyć dane dotyczące „jakości” entropii w systemie?


Jestem zainteresowany, dlaczego chcesz obliczyć entropię systemu?
whoami,

Odpowiedzi:


26

http://www.fourmilab.ch/random/ działa dla mnie.

sudo apt-get install ent
head -c 1M /dev/urandom > /tmp/out
ent /tmp/out

4
Fajne narzędzie. Możesz sprawdzić urządzenie w jednym poleceniu za pomocądd if=/dev/urandom bs=1M count=1 | ent
l0b0

7
Zauważ, że uruchomienie estymatora entropii /dev/urandomjest całkowicie bezużyteczne. /dev/urandomjest wynikiem PRNG o jakości kryptograficznej, a estymator entropii zawsze da pełne oceny każdemu na wpół przyzwoitemu PRNG. Musisz uruchomić estymator entropii na bezwarunkowym źródle entropii , którego Linux nie udostępnia poza jądrem. DW @DustinKirkland
Gilles 'SO- przestań być zły'

@Gilles nie ma mowy?
Felipe,

@FelipeMicaroniLalli Nie ma co robić? Oszacuj entropię na podstawie wyniku /dev/urandom? Tak. Dane wyjściowe /dev/urandom(lub tego /dev/randomsamego problemu) są danymi wyjściowymi PRNG o jakości kryptograficznej i zawsze będą miały najwyższe oceny w ocenie entropii. Jeśli chcesz oszacować entropię, musisz zagłębić się w jądro, dowiedzieć się, czego używa dla źródeł entropii i mierzyć BARDZO długo.
Gilles „SO- przestań być zły”

1
@FelipeMicaroniLalli Nie, źródło entropii nie wpływa na PRNG w sposób, który można zmierzyć. To raczej nie na temat Uniksa i Linuksa, ale wiem, że widziałem to omówione w kryptografii , spróbuj przeszukać tam tagi [entropia] i [losowość].
Gilles „SO- przestań być zły”

6

„ent” jest doskonałym narzędziem wiersza poleceń do prostego i szybkiego oszacowania entropii.

Użyłem go, aby dowiedzieć się, jak działają liniowe generatory kongruencjalne. Ale jeśli przez „pomiar entropii” masz na myśli „pomiar losowości” ... problem staje się bardziej złożony.

Aby uzyskać bardziej niezawodny test losowości, powinieneś wypróbować pakiet testowy dieharder: http://www.phy.duke.edu/~rgb/General/dieharder.php

Nie jest tak łatwy w użyciu jak „ent”, ale jest o wiele bardziej rygorystyczny.

Aby uzyskać więcej szczegółowych informacji, „Cipher's by Ritter” zapewnia również dobry wybór linków:

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


3

Narzędzia mogą tylko dać górną granicę entropii. W przypadku większości zastosowań, w szczególności związanych z bezpieczeństwem, bardziej interesuje Cię dolna granica.

Obliczanie entropii dowolnego pliku jest matematycznie niemożliwe, więc nie może istnieć żadne narzędzie, które by to zrobiło.

Mogę łatwo napisać generator plików, który generuje bardzo niskie pliki entropii, ale nadal przejdzie testy entropii. Wystarczy użyć kryptograficznego PRNG z małym ziarnem.


0

Możesz użyć Binwalk z -Eopcją:

# binwalk -E data

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

Możesz pobrać kod źródłowy z jego repozytorium GitHub .



-5

Myślę, że szukasz:

cat /proc/sys/kernel/random/entropy_avail

Przepraszam, nie, jestem w pełni świadomy entropii. Próbuję zmierzyć jakość tej entropii.
Dustin Kirkland
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.