GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo determinar qué procesos están usando cuánta entropía de /dev/urandom

La respuesta corta es 0, porque la entropía no se consume.

Existe una idea errónea común de que la entropía se consume:que cada vez que lee un bit aleatorio, esto elimina algo de entropía de la fuente aleatoria. Esto está mal. No “consume” entropía. Sí, la documentación de Linux se equivoca.

Durante el ciclo de vida de un sistema Linux, hay dos etapas:

  1. Al principio, no hay suficiente entropía. /dev/random bloqueará hasta que crea que ha acumulado suficiente entropía; /dev/urandom felizmente proporciona datos de baja entropía.
  2. Después de un tiempo, hay suficiente entropía en el grupo de generadores aleatorios. /dev/random asigna una tasa falsa de "puerro de entropía" y bloquea de vez en cuando; /dev/urandom felizmente proporciona datos aleatorios de calidad criptográfica.

FreeBSD lo hace bien:en FreeBSD, /dev/random (o /dev/urandom , que es lo mismo) se bloquea si no tiene suficiente entropía y, una vez que la tiene, sigue arrojando datos aleatorios. En Linux, ni /dev/random ni /dev/urandom es lo útil.

En la práctica, use /dev/urandom , y asegúrese de que, cuando aprovisione su sistema, se alimente el grupo de entropía (desde el disco, la red y la actividad del mouse, desde una fuente de hardware, desde una máquina externa, …).

Si bien podría intentar leer cuántos bytes se leen desde /dev/urandom , esto es completamente inútil. Lectura desde /dev/urandom no agota el fondo de entropía. Cada consumidor usa 0 bits de entropía por cualquier unidad de tiempo que quieras nombrar.


Linux
  1. Cómo generar una contraseña aleatoria en Linux usando /dev/random

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

  4. ¿Cuándo usar /dev/random Vs /dev/urandom?

  5. ¿Cómo llenar un archivo con una secuencia de /dev/urandom con un número específico de líneas?

¿Cómo saber qué procesos están usando el espacio de intercambio en Linux?

¿Cómo codificar en base64 /dev/random o /dev/urandom?

Linux:diferencia entre /dev/console, /dev/tty y /dev/tty0

Cómo usa Linux /dev/tty y /dev/tty0

hacer eco o imprimir /dev/stdin /dev/stdout /dev/stderr

¿Por qué se requieren < o > para usar /dev/tcp?