Parece (para un no experto) que /dev/random
es considerado como una fuente de datos aleatorios puros. Sin embargo, tengo curiosidad por el análisis del archivo /dev/random
.
/dev/random
es un punto de recolección de datos ruidosos del hardware. El archivo se expande a medida que se obtiene más ruido del hardware; a medida que se agrega un nuevo ruido, los datos antiguos se cambian para que el archivo en su conjunto represente una fuente de entropía.
Supondré que /dev/random
se usará solo una vez para evitar problemas derivados de la reutilización de una sola vez. Entonces hay una cosa que me molesta: cómo se estima la entropía. Estoy menos interesado en las respuestas a las siguientes preguntas, y más interesado en si las investigaciones anteriores han considerado estas preguntas y han proporcionado algo relevante.
¿Cómo se calcula el número de bits de entropía en el archivo? Sospecho que no es el tamaño del archivo, ya que stat
y ls -s
devuelven 0
, pero el número de bits de entropía está disponible en /proc/sys/kernel/random/entropy_avail
. ¿Es algo así como la cantidad de bits que se pueden obtener sin aprender nada más que el bit en sí?
Realmente no entendí la explicación en el código fuente o en Gutterman et al. Sospecho que uno no puede calcular este valor con exactitud. Sin embargo, ¿se puede garantizar que si leo menos de entropy_avail
bits de /dev/random
, entonces la entropía en esa cadena es aproximadamente la longitud de la cadena? En otras palabras, el valor de entropy_avail
es un límite inferior conservador en el número de bits aleatorios que se pueden obtener al leer /dev/random
?
¡Me gustaría mucho una referencia en la última!