En Linux, ¿qué tan aleatorio es /dev/urandom/
? ¿Se considera seguro?¿Qué tan aleatorio es urandom?
¿También es posible obtener una corriente de 1?
En Linux, ¿qué tan aleatorio es /dev/urandom/
? ¿Se considera seguro?¿Qué tan aleatorio es urandom?
¿También es posible obtener una corriente de 1?
Nota 4.5 años más tarde: esto es un mal consejo. Vea uno de theselinks para más detalles.
Si está generando claves criptográficas en Linux, quiere /dev/random
, incluso si bloquea-- no necesita tantos bits.
Para casi cualquier otra cosa, como generar datos de prueba aleatorios o ID de sesión impredecibles, /dev/urandom
está bien. Hay suficientes fuentes de entropía en la mayoría de los sistemas (sincronización de eventos de teclado y mouse, paquetes de red, etc.) que la salida será impredecible.
+1, aunque a menudo es más fácil y más rápido recopilar su propia entropía en lugar de esperar en un bloqueo/dev/aleatorio. Lleno los archivos de esta manera para la entropía "embotellada" cuando trabajo en simulaciones de monte carlo, es mucho más rápido golpear las teclas y mover el mouse de lo que es esperar en/dev/random –
Estoy confundido: ¿cómo es esto mejor? que usar/dev/urandom? –
La última vez que miré/dev/urandom en Linux devolvió el mismo resultado que/dev/random * siempre que haya entropía en el grupo * porque ambos usan el grupo. La diferencia es que urandom recurrirá a un algoritmo de reajuste simple cuando no hay entropía almacenada, mientras que el azar esperará hasta que se haya agregado nueva entropía. – dmckee
Por favor, compruebe el man page:
Yarrow is a fairly resilient algorithm, and is believed to be resistant
to non-root. The quality of its output is however dependent on regular
addition of appropriate entropy. If the SecurityServer system daemon
fails for any reason, output quality will suffer over time without any
explicit indication from the random device itself.
Paranoid programmers can counteract this risk somewhat by collecting
entropy of their choice (e.g. from keystroke or mouse timings) and seed-
ing it into random directly before obtaining important random numbers.
Pero digamos que está tirando de aleatorio o urandom. y el sistema está ahí sentado, digamos un cd en vivo. ¿No sería la entropía similar cada vez que ocurriera el mismo escenario? – Recursion
Ese es un enlace a una página man de BSD, y en este caso el comportamiento de Linux es diferente:/dev/random es "más fuerte" que/dev/urandom. –
use/dev/urandom, es criptográficamente seguro.
buena lectura: http://www.2uo.de/myths-about-urandom/
"Si no está seguro acerca de si debe usar/dev/random o/dev/urandom, entonces probablemente usted desea utilizar el último."
En caso de duda en el inicio temprano, si tiene suficiente entropía reunida. utilice la llamada al sistema getrandom()
en su lugar. [1] Lo mejor de ambos mundos, bloquea hasta (¡solo una vez!) La entropía suficiente, luego de eso nunca se bloqueará nuevamente.
* "¿Se considera seguro?" * * Seguro para lo *? La respuesta depende completamente del contexto. – dmckee