Linux a été le premier système d’exploitation à mettre en œuvre un véritable générateur de nombres aléatoires avec /dev/random
et /dev/urandom
en utilisant l’entropie du système.
Le périphérique /dev/random
Le périphérique /dev/random
est un fichier spécial servant de générateur de nombres aléatoires (ou éventuellement pseudo-aléatoires). Il utilise comme source d’aléa certaines données de l’environnement recueillies auprès de pilotes de périphériques et d’autres sources, et les traite à l’aide de fonctions de hachage cryptographiques. La lecture du fichier est bloquée quand l’activité du système (entropie) n’est pas suffisante.
Le périphérique /dev/urandom
Le fonctionnement de /dev/urandom
est analogue en dehors du fait que la lecture n’est pas bloquante, l’aléa produit est donc de moins bonne qualité.
Conclusion
L’utilisation de /dev/urandom
suffit pour la plupart des utilisations pratiques et rapides, on utilisera /dev/random
ou encore /dev/arandom
pour générer des clés en cryptographie, par exemple pour le chiffrement asymétrique.
Documentation
https://fr.wikipedia.org/wiki//dev/random
https://www.gnu.org/software/coreutils/manual/html_node/Random-sources.html#Random-sources
https://stackoverflow.com/questions/23712581/differences-between-random-and-urandom#2371261