Hay dos tipos probables de RNG de hardware "real": uno basado en CPU y un conjunto de chips o PCI. (También hay algunos RNG de hardware USB, pero sospecho que habrás notado uno de esos ;-)
Lo siguiente es específico de Linux.
Para los basados en CPU, puede buscar /proc/cpuinfo
pistas, suponiendo que su núcleo sea lo suficientemente nuevo como para detectarlos. Para las CPU Intel, la bandera es rdrand
, más información aquí: /unix/43539/what-do-the-flags-in-proc-cpuinfo-mean
Para los conjuntos de chips, si ha CONFIG_HW_RANDOM
habilitado en su núcleo y el soporte por proveedor, CONFIG_HW_RANDOM_INTEL
..._AMD
etc., sus mensajes de arranque deberían indicar si se encontró alguno (por ejemplo, "Intel 82802 RNG detectado"). Si están presentes como módulos, puede probar ( modprobe intel-rng
) para ver si se carga, "No existe tal dispositivo" indica que no se detectó hardware. No todos los controladores imprimen constantemente "RNG detectado" o "no detectado", por lo que puede terminar leyendo las fuentes ( /drivers/char/hw_random/
directorio de la fuente del núcleo).
Para otros, puede verificar lspci -v
qué se reconoce.