CSPRNG Générateur de nombres pseudo-aléatoires cryptographiquement sûr
Un générateur de nombres aléatoires dont la prochaine sortie reste imprévisible même pour qui a vu toutes les précédentes.
Un PRNG ordinaire comme le Mersenne Twister est excellent pour les simulations et catastrophique pour les clés — quelques centaines de sorties suffisent à reconstituer tout son état interne. Un CSPRNG doit en plus offrir la résistance rétrograde : si l'état fuit, les sorties passées restent secrètes.
Utilisez celui du système d'exploitation : getrandom(2), /dev/urandom, BCryptGenRandom, crypto.getRandomValues(). N'écrivez jamais le vôtre et n'initialisez jamais depuis l'horodatage — c'est précisément ainsi que les clés OpenSSL de Debian sont devenues devinables en 2006–2008.