¿Qué significa la letra 'u' en / dev / urandom?


87

Entiendo que las lecturas /dev/randompueden bloquearse, mientras que la lectura /dev/urandomestá garantizada para no bloquear.

¿Dónde entra la carta uen esto? ¿Qué significa?

Espacio de usuario? Desbloqueo? ¿Micro?

Actualizar:

Sobre la base de la redacción inicial de la cuestión, ha habido cierto debate sobre la utilidad de /dev/randomfrente /dev/urandom. El enlace Mitos sobre / dev / urandom se ha publicado tres veces a continuación, y se resume en esta respuesta a la pregunta Cuándo usar / dev / random vs / dev / urandom .


13
Desbloqueo, a diferencia de lo /dev/randomque está bloqueando.
Satō Katsura el

3
Capítulo y verso?
Tom Hale

11
Ahora se prefiere la idea que de /dev/randomalguna manera fue mejor de lo que /dev/urandomahora es obsoleta y para la gran mayoría de los casos de uso . /dev/urandom
David Schwartz el

@SatoKatsura Source? La respuesta de Tom contradice tu respuesta.
noɥʇʎԀʎzɐɹƆ

Aquí hay un enlace al sitio con detalles para respaldar el comentario de @DavidSchwartz. 2uo.de/myths-about-urandom
Walter

Respuestas:


86

Ilimitado.

En Linux, la comparación de las funciones del núcleo nombrados random_ready random_read_unlimited indica que la etimología de la letra uen urandomes unlimited.

Esto está confirmado por la línea 114 :

El dispositivo / dev / urandom no tiene este límite [...]

Actualizar:

En cuanto a qué fue primero para Linux, /dev/randomo /dev/urandom@ Stéphane Chazelas dio la publicación con el parche original y @StephenKitt mostró que ambos fueron presentados simultáneamente .


77
Entonces, ¿por qué no se /dev/randomnombra /dev/lrandom? :)
Satō Katsura

13
Histórico. Al principio solo existía la versión limitada / de bloqueo. Y la función análoga "no ilimitada" se llama random_read:)
Tom Hale

10
Encontré uno de los enlaces a través de Wikipedia, pero cito la fuente directamente en lugar de citar Wikipedia. Lo consideraría análogo a encontrar algo a través de google y no citar google ... a menos que tenga algo que aprender sobre citar en StackExchange?
Tom Hale

55
@TomHale El argumento histórico de randomv. lrandomNo se sostiene del todo bien, ya que ambos randomy urandomse introdujeron simultáneamente en el núcleo de Linux.
Stephen Kitt

77
Vea también el parche en usenet enviado por el autor de la implementación original en 1995
Stéphane Chazelas

18

Depende de qué sistema "Unix" esté hablando.

En FreeBSD, / dev / urandom y / dev / random son el mismo dispositivo. La letra u ahora es un legado histórico que existe para la compatibilidad con versiones anteriores. Al inicio, se bloquean hasta que se haya acumulado suficiente entropía y luego nunca se bloquean nuevamente. Vea Mitos sobre el urandom para más detalles.

En el mundo moderno de Linux (comenzando con el núcleo 4.8), ambos dispositivos se extraen del mismo CSPRNG, por lo que la única diferencia es que algunas personas especulan sobre la existencia de un ataque. Este ataque es como el viaje FTL [Más rápido que la luz]. Fácil de especular, bastante difícil de diseñar.

TLDR es solo usar / dev / urandom.


2
Desde su enlace, es interesante notar queFreeBSD 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. Números aleatorios distribuidos uniformemente entre 0 y 1. Una distribución plana ... en oposición a una distribución pico como Poisson o Normal / Gaussiana.


3
¿Tienes alguna fuente para eso?
GnP

77
Esto definitivamente no es correcto, /dev/randomy /dev/urandomambos dan la misma distribución, y en cualquier sentido real no se distribuye uniformemente entre 0 y 1.
Chris

Lo siento ... probablemente basado en otro idioma que he usado (R o algo)
bbneo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.