man 4 random
tiene una descripción muy vaga de las fuentes de entropía del kernel de Linux:
El generador de números aleatorios reúne el ruido ambiental de los controladores de dispositivos y otras fuentes en un grupo de entropía.
Las transferencias de papel de Entropy en el generador de números aleatorios de Linux tampoco son mucho más específicas. Enumera:
add_disk_randomness()
,add_input_randomness()
yadd_interrupt_randomness()
.
Estos functinos son de random.c
, que incluye el siguiente comentario:
Las fuentes de aleatoriedad del entorno incluyen los tiempos entre teclados, los tiempos entre interrupciones de algunas interrupciones y otros eventos que son (a) no deterministas y (b) difíciles de medir para un observador externo.
Más abajo, hay una función que add_hwgenerator_randomness(...)
indica el soporte para generadores de números aleatorios de hardware.
Toda esa información es bastante vaga (o, en el caso del código fuente, requiere un conocimiento profundo del kernel de Linux para comprender). ¿Cuáles son las fuentes de entropía reales utilizadas y el kernel de Linux es compatible con cualquier generador de números aleatorios de hardware listo para usar?