Saya mengerti bahwa membaca /dev/random
dapat memblokir, sementara membaca /dev/urandom
dijamin tidak memblokir.
Dari mana surat u
itu masuk? Apa artinya?
Ruang pengguna? Buka blokir? Mikro?
Memperbarui:
Berdasarkan kata-kata awal pertanyaan, ada beberapa perdebatan kegunaan /dev/random
vs /dev/urandom
. Tautan Mitos tentang / dev / urandom telah diposting tiga kali di bawah ini, dan dirangkum dalam jawaban ini untuk pertanyaan Kapan menggunakan / dev / random vs / dev / urandom .
/dev/random
blokir , sebagai lawan yang memblokir./dev/random
entah bagaimana lebih baik daripada/dev/urandom
yang sekarang sudah usang dan untuk sebagian besar kasus penggunaan,/dev/urandom
sekarang lebih disukai .Jawaban:
Tak terbatas.
Di Linux, membandingkan fungsi-fungsi kernel yang dinamai
random_read
danrandom_read_unlimited
menunjukkan bahwa etimologi hurufu
dalamurandom
adalahunlimited
.Ini dikonfirmasi oleh baris 114 :
Memperbarui:
Mengenai mana yang lebih dulu untuk Linux,
/dev/random
atau/dev/urandom
, @ Stéphane Chazelas memberi pos dengan tambalan asli dan @StephenKitt menunjukkan mereka berdua diperkenalkan secara bersamaan .sumber
/dev/random
disebutkan namanya/dev/lrandom
? :)random_read
:)random
v.lrandom
Tidak berlaku baik sejak keduanyarandom
danurandom
diperkenalkan secara bersamaan di kernel Linux.Itu tergantung pada sistem "Unix" yang Anda bicarakan.
Pada FreeBSD, / dev / urandom dan / dev / random adalah perangkat yang sama. Huruf u sekarang adalah warisan historis yang ada untuk kompatibilitas ke belakang. Saat startup, mereka memblokir sampai cukup banyak entropi telah dikumpulkan dan kemudian tidak pernah memblokir lagi. Lihat Mitos tentang urandom untuk detailnya.
Di dunia Linux modern (dimulai dengan kernel 4.8), kedua perangkat menarik dari CSPRNG yang sama, sehingga satu-satunya perbedaan adalah bahwa beberapa orang berspekulasi pada adanya serangan. Serangan ini seperti perjalanan FTL [Lebih cepat dari Cahaya]. Mudah untuk berspekulasi, agak sulit untuk benar-benar desain.
TLDR hanya menggunakan / dev / urandom.
sumber
FreeBSD does the right thing: they don't have the distinction between /dev/random and /dev/urandom, both are the same device. At startup /dev/random blocks once until enough starting entropy has been gathered. Then it won't block ever again.
Seragam. Angka acak terdistribusi secara seragam antara 0 dan 1. Distribusi datar ... berlawanan dengan distribusi puncak seperti Poisson, atau Normal / Gaussian.
sumber
/dev/random
dan/dev/urandom
keduanya memberikan distribusi yang sama, dan dalam arti apa pun itu tidak terdistribusi secara seragam antara 0 dan 1.