1. Importanza dei numeri casuali e del CSPRNG
I numeri casuali sono valori imprevedibili essenziali per crittografia, sicurezza, giochi e simulazioni. I generatori standard producono numeri pseudo-casuali creati da algoritmi, quindi risultano prevedibili se il valore del seed è noto. Per applicazioni critiche per la sicurezza, usa un CSPRNG (Cryptographically Secure Pseudo-Random Number Generator). In PHP, random_bytes() e random_int() sono CSPRNG che usano /dev/urandom o CryptGenRandom. JavaScript offre crypto.getRandomValues(), che sfrutta le fonti di entropia del browser. Il normale Math.random() non è adatto alla sicurezza e non deve mai essere usato per token, ID di sessione o chiavi di crittografia.