Entropi kalitesini ölçmek için bir araç?


26

Linux sistemler için sistemdeki entropinin "kalitesini" ölçebilecek bir araç var mı?

Entropiyi nasıl sayacağımı biliyorum:

cat /proc/sys/kernel/random/entropy_avail

Ve bazı sistemlerin "iyi" entropi kaynaklarına sahip olduğunu biliyorum (donanım entropi anahtarları) ve bazılarının (sanal makineler) yok.

Ancak sistemdeki entropinin "kalitesine" ilişkin bir ölçüm sağlayabilecek bir araç var mı?


İlgileniyorum, Neden bir sistemin entropisini hesaplamak istersiniz?
whoami

Yanıtlar:


26

http://www.fourmilab.ch/random/ benim için çalışıyor.

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

4
Havalı alet Bir cihazı sadece bir komutla kontrol edebilirsinizdd if=/dev/urandom bs=1M count=1 | ent
l0b0

7
Bir entropi tahmincisi çalıştırmanın /dev/urandomtamamen yararsız olduğunu unutmayın. /dev/urandomKripto kalitesinde bir PRNG'nin çıktısıdır ve bir entropi tahmincisi her zaman yarı-terbiyeli PRNG'ye tam not verecektir. Entropy tahmincisini, Linux'un çekirdeğin dışına çıkmadığı koşulsuz entropi kaynağında çalıştırmanız gerekir . Cc @DustinKirkland
Gilles '

@ Gilles yolu yok mu?
Felipe

@FelipeMicaroniLalli Ne yapmanın yolu yok? Entropiyi çıktıdan tahmin etmek /dev/urandom? Evet. Çıktısı /dev/urandom(veya /dev/randomaynı sayı) bir kripto kaliteli PRNG çıktısı olduğunu ve her zaman entropi tahmini için üst işaretleri olacaktır. Eğer entropiyi tahmin etmek istiyorsanız, çekirdeği kazmanız, entropi kaynakları için ne kullandığını bulmanız ve ÇOK uzun süre ölçmeniz gerekir.
Gilles 'SO- kötülük'

1
@FelipeMicaroniLalli Hayır, entropi kaynağı PRNG'yi ölçülebilecek şekilde etkilemez. Bu Unix ve Linux için konuyla ilgili değil ama Kriptografi ile ilgili tartışıldığını gördüm , orada [entropy] ve [randomness] etiketlerini aramayı deneyin.
Gilles 'SO- kötülük'

6

"ent", entropinin basit ve hızlı bir şekilde tahmin edilmesi için mükemmel bir komut satırı aracıdır.

Doğrusal uyumlu jeneratörlerin nasıl çalıştığını öğrenmeye yardımcı olmak için kullandım. Ama eğer "entropi ölçmek" demek, "rastgelelik ölçmek" demek istiyorsan ... sorun daha karmaşık hale gelir.

Daha sağlam bir rastgelelik testi için, dieharder test grubunu kontrol etmelisiniz: http://www.phy.duke.edu/~rgb/General/dieharder.php

"Ent" kadar kullanımı kolay değildir, ancak çok daha zordur.

Daha ayrıntılı çalışma için, "Ritter Cipher's by Ritter" aynı zamanda iyi bağlantılar seçmenizi sağlar:

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


3

Aletler size entropiye yalnızca bir üst sınır verebilir. Çoğu kullanım için, özellikle güvenlikle ilgili kullanımlar, daha düşük bir sınırla daha fazla ilgileniyorsanız.

Keyfi bir dosyanın entropisini hesaplamak matematiksel olarak imkansızdır, bu yüzden bunu yapabilen bir araç olamaz.

Çok düşük entropi dosyaları üreten bir dosya oluşturucuyu kolayca yazabilirim, ancak hala entropi testlerinizi geçecek. Sadece küçük bir tohum ile bir kripto PRNG kullanın.


0

Binwalk -Eseçeneğini aşağıdaki seçeneklerle kullanabilirsiniz :

# binwalk -E data

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

Kaynak kodunu GitHub deposundan alabilirsiniz .



-5

Bence aradığınızı düşünüyorum:

cat /proc/sys/kernel/random/entropy_avail

Üzgünüm, hayır, entropy_avail’in farkındayım. Bu entropinin kalitesini ölçmeye çalışıyorum.
Dustin Kirkland
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.