Cosa significa la lettera 'u' in / dev / urandom?


88

Capisco che le letture a /dev/randompotrebbero bloccare, mentre la lettura /dev/urandomè garantita per non bloccare.

Da dove viene la lettera u? Cosa significa?

Spazio utente? Sblocco? Micro?

Aggiornare:

In base alla formulazione iniziale della questione, c'è stato un certo dibattito sulla utilità del /dev/randomvs /dev/urandom. Il link Miti su / dev / urandom è stato pubblicato tre volte di seguito ed è riassunto in questa risposta alla domanda Quando usare / dev / random vs / dev / urandom .


13
Sblocco, al contrario del /dev/randomquale si sta bloccando.
Satō Katsura,

3
Capitolo e verso?
Tom Hale,

11
L'idea che /dev/randomera in qualche modo migliore di /dev/urandomadesso è obsoleta da tempo e per la stragrande maggioranza dei casi d'uso, /dev/urandom è ora preferita .
David Schwartz,

@SatoKatsura Source? La risposta di Tom contraddice la tua risposta.
noɥʇʎԀʎzɐɹƆ

Ecco un link al sito con i dettagli per il backup del commento di @DavidSchwartz. 2uo.de/myths-about-urandom
Walter

Risposte:


87

Illimitato.

In Linux, confrontando le funzioni del kernel nome random_reade random_read_unlimited indica che l'etimologia della lettera ua urandomè unlimited.

Ciò è confermato dalla riga 114 :

Il dispositivo / dev / urandom non ha questo limite [...]

Aggiornare:

Per quanto riguarda quello che è arrivato per primo per Linux, /dev/randomo /dev/urandom@ Stéphane Chazelas ha pubblicato il post con la patch originale e @StephenKitt ha mostrato che entrambi sono stati introdotti contemporaneamente .


7
Allora perché non viene /dev/randomnominato /dev/lrandom? :)
Satō Katsura,

13
Storico. Inizialmente esisteva solo la versione limitata / bloccante. E viene chiamata l'analoga funzione "non illimitata" random_read:)
Tom Hale,

10
Ho trovato uno dei link tramite Wikipedia, ma sto citando direttamente la fonte piuttosto che citare Wikipedia. Lo considererei analogo nel trovare qualcosa tramite Google e non nel citare Google ... a meno che non abbia qualcosa da imparare sul preventivo su StackExchange?
Tom Hale,

5
@TomHale L'argomento storico di randomv. lrandomNon regge molto bene poiché entrambi randome urandomsono stati introdotti simultaneamente nel kernel Linux.
Stephen Kitt,

7
Vedi anche la patch su usenet inviata dall'autore dell'implementazione originale nel 1995
Stéphane Chazelas,

18

Dipende dal sistema "Unix" di cui stai parlando.

Su FreeBSD, / dev / urandom e / dev / random sono lo stesso dispositivo. La lettera u ora è un'eredità storica che esiste per compatibilità con le versioni precedenti. All'avvio, si bloccano fino a quando non si è raccolta abbastanza entropia e non si bloccano mai più. Vedi Miti su urandom per i dettagli.

Nel moderno mondo Linux (a partire dal kernel 4.8), entrambi i dispositivi utilizzano lo stesso CSPRNG, quindi l'unica differenza è che alcune persone ipotizzano l'esistenza di un attacco. Questo attacco è come il viaggio FTL [Faster than Light]. Facile da speculare, piuttosto difficile da progettare.

TLDR è solo usare / dev / urandom.


2
Dal tuo link, è interessante notare cheFreeBSD 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

Uniforme. Numeri casuali distribuiti uniformemente tra 0 e 1. Una distribuzione piatta ... al contrario di una distribuzione con picco come Poisson o Normale / Gaussiana.


3
Hai qualche fonte per quello?
GnP,

7
Questo non è sicuramente destra /dev/randome /dev/urandomsia dare la stessa distribuzione, e in ogni senso reale non è uniformemente distribuita tra 0 e 1.
Chris

Scusate ... probabilmente basandomi su un'altra lingua che ho usato (R o qualcosa del genere)
bbneo
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.