Apakah ada alat yang tersedia untuk sistem Linux yang dapat mengukur "kualitas" entropi pada sistem?
Saya tahu cara menghitung entropi:
cat /proc/sys/kernel/random/entropy_avail
Dan saya tahu bahwa beberapa sistem memiliki sumber entropi "baik" (kunci entropi perangkat keras), dan beberapa tidak (mesin virtual).
Tetapi apakah ada alat yang dapat memberikan metrik untuk "kualitas" entropi pada sistem?
Jawaban:
http://www.fourmilab.ch/random/ bekerja untuk saya.
sumber
dd if=/dev/urandom bs=1M count=1 | ent
/dev/urandom
sama sekali tidak berguna./dev/urandom
adalah output dari PRNG berkualitas crypto, dan estimator entropi akan selalu memberikan nilai penuh untuk setiap PRNG semi-layak. Anda perlu menjalankan penduga entropi pada sumber entropi tanpa syarat , yang Linux tidak tampilkan di luar kernel. Cc @DustinKirkland/dev/urandom
? Iya nih. Output dari/dev/urandom
(atau/dev/random
, masalah yang sama) adalah output dari PRNG berkualitas crypto, dan yang akan selalu memiliki nilai tertinggi untuk estimasi entropi. Jika Anda ingin memperkirakan entropi, Anda perlu menggali ke dalam kernel, mencari tahu apa yang digunakan untuk sumber entropi, dan mengukur untuk SANGAT lama."ent" adalah alat baris perintah yang sangat baik untuk estimasi entropi yang sederhana dan cepat.
Saya telah menggunakannya untuk membantu mempelajari cara kerja generator kongruensial linier. Tetapi jika dengan "mengukur entropi" yang Anda maksud "mengukur keacakan" ... masalahnya menjadi lebih kompleks.
Untuk uji keacakan yang lebih kuat, Anda harus memeriksa suite tes dieharder: http://www.phy.duke.edu/~rgb/General/dieharder.php
Ini tidak mudah digunakan sebagai "ent" tetapi jauh lebih keras.
Untuk studi lebih mendalam, "Cipher's by Ritter" juga menyediakan pilihan tautan yang bagus:
http://www.ciphersbyritter.com/NETLINKS.HTM#RandomnessLinks
sumber
Alat hanya bisa memberi Anda batas atas pada entropi. Untuk sebagian besar penggunaan, khususnya penggunaan terkait keamanan Anda lebih tertarik pada batas bawah.
Menghitung entropi file arbitrer adalah mustahil secara matematis, jadi tidak ada alat yang bisa melakukannya.
Saya dapat dengan mudah menulis generator file yang menghasilkan file entropi sangat rendah, tetapi masih akan melewati tes entropi Anda. Gunakan saja crypto PRNG dengan biji kecil.
sumber
Anda dapat menggunakan Binwalk dengan
-E
opsi:Anda bisa mendapatkan kode sumber dari repositori GitHub-nya .
sumber
ncomputers.org/entropyarray melakukan tes entropi yang lebih cepat daripada
ent
dengan uji korelasi serial 16, 32, 64, 128, 256 dan 512 bit.dengan alat ncomputers.org/entropy , Anda juga dapat melakukan uji frekuensi dan distribusi visual, memplot output entropy.freq dan entropy.gaus
sebagai contoh Anda dapat melakukan tes online hingga 1GB menggunakan servertest.online/entropytest
sumber
Saya pikir Anda mencari:
sumber