Când proiectăm un PRNG criptografic, vrem să treacă mai mult decât teste statistice. Standardul de aur aici este testul următorului bit, care spune că, având în vedere toate rezultatele până la un anumit punct, este doar neglijabil mai ușor decât să ghiciți următorul bit. Acesta nu este un test statistic, ci un test care implică faptul că atacatorul are cunoștințe complete despre algoritm și capacitatea de a-l criptoanaliza și totuși nu poate găsi o soluție mai bună decât forța brută.
Pentru a arăta un exemplu de CSPRNG nesigur care ar putea trece orice test statistic, dar nu va trece testul următorului bit, imaginați-vă o sămânță secretă $ S $, o funcție hash sigură $ H(x) $, și un PRNG care iese $ H(S) || H(H(S)) || H(H(H(S))) || ... $. Deoarece funcția noastră hash este sigură, ieșirea sa pare aleatorie, dar de fapt este foarte ușor să ghicim următoarea ieșire având în vedere rezultatul existent.
Este, desigur, total posibil să se realizeze un CSPRNG care scoate un singur octet la un moment dat. RC4 este un stream cipher care are acest design și a fost folosit un CSPRNG în multe sisteme, deși nu mai este considerat sigur. Am putea proiecta alte CSPRNG-uri care sunt sigure și orientate pe octeți. Din punct de vedere practic, totuși, este de obicei mai eficient să operați pe bucăți mai mari de date, motiv pentru care algoritmi precum ChaCha20 sau DRBG-urile NIST tind să fie utilizați mai frecvent.
În ceea ce privește beneficiile unui PRNG rapid non-criptografic, există puține motive pentru a le folosi. ChaCha20 poate scoate date la 3 GB/s pe sistemul meu și este sigur din punct de vedere criptografic. În cazul puțin probabil, acest lucru nu este suficient de rapid, ar putea fi utilizat un număr mai mic de runde (de exemplu, ChaCha12), iar performanța ar fi mai bună, fiind în continuare sigură criptografic. Generarea de numere aleatoare cu un algoritm adecvat este aproape niciodată obstacolul, așa că utilizarea unui CSPRNG, care va trece întotdeauna testul următorului bit și, prin urmare, este de cea mai înaltă calitate posibilă, este suficientă în aproape toate cazurile.