Entiendo que las lecturas /dev/random
pueden bloquearse, mientras que la lectura /dev/urandom
está garantizada para no bloquear.
¿Dónde entra la carta u
en 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/random
frente /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 .
/dev/random
que está bloqueando./dev/random
alguna manera fue mejor de lo que/dev/urandom
ahora es obsoleta y para la gran mayoría de los casos de uso ./dev/urandom
Respuestas:
Ilimitado.
En Linux, la comparación de las funciones del núcleo nombrados
random_read
yrandom_read_unlimited
indica que la etimología de la letrau
enurandom
esunlimited
.Esto está confirmado por la línea 114 :
Actualizar:
En cuanto a qué fue primero para Linux,
/dev/random
o/dev/urandom
@ Stéphane Chazelas dio la publicación con el parche original y @StephenKitt mostró que ambos fueron presentados simultáneamente .fuente
/dev/random
nombra/dev/lrandom
? :)random_read
:)random
v.lrandom
No se sostiene del todo bien, ya que ambosrandom
yurandom
se introdujeron simultáneamente en el núcleo de Linux.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.
fuente
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.
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.
fuente
/dev/random
y/dev/urandom
ambos dan la misma distribución, y en cualquier sentido real no se distribuye uniformemente entre 0 y 1.