man 4 random
ha una descrizione molto vaga delle fonti di entropia del kernel Linux:
Il generatore di numeri casuali raccoglie il rumore ambientale da driver di dispositivo e altre fonti in un pool di entropia.
Il trasferimento di Entropy su carta nel generatore di numeri casuali di Linux non è neanche molto più specifico. Elenca:
add_disk_randomness()
,add_input_randomness()
, eadd_interrupt_randomness()
.
Questi funzioni provengono da random.c
, che include i seguenti commenti:
Le fonti di casualità dall'ambiente includono i tempi di inter-tastiera, i tempi di interrupt di alcuni interrupt e altri eventi che sono entrambi (a) non deterministici e (b) difficili da misurare per un osservatore esterno.
Più in basso, c'è una funzione che add_hwgenerator_randomness(...)
indica il supporto per i generatori di numeri casuali hardware.
Tutte queste informazioni sono piuttosto vaghe (o, nel caso del codice sorgente, richiedono una profonda conoscenza del kernel Linux per capire). Quali sono le effettive fonti di entropia utilizzate e il kernel Linux supporta immediatamente qualsiasi generatore di numeri casuali di hardware?