¿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 .

Tom Hale
fuente
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 .

Tom Hale
fuente
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.

Walter
fuente
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.

bbneo
fuente
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