Existem dois tipos prováveis de RNG de hardware "real": um baseado em CPU e um baseado em chipset ou PCI. (Há também alguns RNGs de hardware USB, mas eu suspeito que você teria notado um desses ;-)
O seguinte é específico do Linux.
Para aqueles baseados em CPU, você pode verificar /proc/cpuinfo
para pistas, assumindo que seu kernel é novo o suficiente para detectá-las. Para CPUs Intel, a sinalização é rdrand
, mais informações aqui: link
Para os chipset, se você tiver CONFIG_HW_RANDOM
habilitado em seu kernel e o suporte por fornecedor CONFIG_HW_RANDOM_INTEL
..._AMD
etc., suas mensagens de inicialização deverão indicar se foram encontradas (por exemplo "Intel 82802 RNG detectado"). Se eles estiverem presentes como módulos, você pode tentar ( modprobe intel-rng
) para ver se ele carrega, "Nenhum desses dispositivos" indica nenhum hardware detectado.
Nem todos os drivers imprimem consistentemente "RNG detected" ou "not detected", então você pode acabar lendo as fontes ( /drivers/char/hw_random/
directory da fonte do kernel).
Para outros, você pode verificar lspci -v
para ver o que é reconhecido.