Apa arti huruf 'u' di / dev / urandom?


87

Saya mengerti bahwa membaca /dev/randomdapat memblokir, sementara membaca /dev/urandomdijamin tidak memblokir.

Dari mana surat uitu masuk? Apa artinya?

Ruang pengguna? Buka blokir? Mikro?

Memperbarui:

Berdasarkan kata-kata awal pertanyaan, ada beberapa perdebatan kegunaan /dev/randomvs /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 .


13
Membuka /dev/randomblokir , sebagai lawan yang memblokir.
Satō Katsura

3
Bab dan ayat?
Tom Hale

11
Gagasan yang /dev/randomentah bagaimana lebih baik daripada /dev/urandomyang sekarang sudah usang dan untuk sebagian besar kasus penggunaan, /dev/urandom sekarang lebih disukai .
David Schwartz

@SatoKatsura Sumber? Jawaban Tom bertentangan dengan jawaban Anda.
noɥʇʎԀʎzɐɹƆ

Berikut ini tautan ke situs dengan perincian untuk mencadangkan komentar @DavidSchwartz. 2uo.de/myths-about-urandom
Walter

Jawaban:


86

Tak terbatas.

Di Linux, membandingkan fungsi-fungsi kernel yang dinamai random_readdan random_read_unlimited menunjukkan bahwa etimologi huruf udalam urandomadalah unlimited.

Ini dikonfirmasi oleh baris 114 :

Perangkat / dev / urandom tidak memiliki batas ini [...]

Memperbarui:

Mengenai mana yang lebih dulu untuk Linux, /dev/randomatau /dev/urandom, @ Stéphane Chazelas memberi pos dengan tambalan asli dan @StephenKitt menunjukkan mereka berdua diperkenalkan secara bersamaan .


7
Lalu mengapa tidak /dev/randomdisebutkan namanya /dev/lrandom? :)
Satō Katsura

13
Historis. Pada awalnya hanya versi terbatas / pemblokiran yang ada. Dan fungsi analog "tidak terbatas" disebut random_read:)
Tom Hale

10
Saya memang menemukan salah satu tautan melalui Wikipedia, tetapi saya mengutip sumbernya langsung daripada mengutip Wikipedia. Saya akan menganggapnya analog dengan menemukan sesuatu melalui google, dan tidak mengutip google ... kecuali saya memiliki sesuatu untuk dipelajari tentang mengutip pada StackExchange?
Tom Hale

5
@ TomHale Argumen historis untuk randomv. lrandomTidak berlaku baik sejak keduanya randomdan urandomdiperkenalkan secara bersamaan di kernel Linux.
Stephen Kitt

7
Lihat juga tambalan di usenet yang dikirim oleh penulis implementasi asli pada tahun 1995
Stéphane Chazelas

18

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.


2
Dari tautan Anda, menarik untuk dicatat bahwaFreeBSD 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.
Tom Hale

-5

Seragam. Angka acak terdistribusi secara seragam antara 0 dan 1. Distribusi datar ... berlawanan dengan distribusi puncak seperti Poisson, atau Normal / Gaussian.


3
Punya sumber untuk yang itu?
GnP

7
Ini jelas tidak benar - /dev/randomdan /dev/urandomkeduanya memberikan distribusi yang sama, dan dalam arti apa pun itu tidak terdistribusi secara seragam antara 0 dan 1.
Chris

Maaf ... mungkin berdasarkan bahwa pada bahasa lain saya telah menggunakan (R atau sesuatu)
bbneo
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.