1
$\begingroup$

In terms of period length, uniformity/distribution, what is the most secure/reliable CSPRNG currently available?

$\endgroup$

closed as primarily opinion-based by kelalaka, AleksanderRas, Maarten Bodewes Sep 1 at 16:18

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • $\begingroup$ Try the Yarrow suite of Algorithms by Bruce Schneier $\endgroup$ – crytoknight Sep 1 at 13:50
1
$\begingroup$

The most secure CSPRNG would be one which produces a stream indistinguishable from random data without knowledge of the key, and which takes a key large enough that an exhaustive search of the key space is impossible. It turns out that there are many such CSPRNGs, so there's more than one answer:

  • ChaCha and Salsa20 are 256-bit stream ciphers which can output $2^{64} \times 512$ bits of data per key.

  • AES in CTR mode is secure, but becomes distinguishable after generating about $2^{64} \times 128$ bits.

  • HMAC_DRBG and Hash_DRBG are NIST standards that use a secure hash function, but are slow.

There are many more which I could list, but not all are popular. ISAAC for example is a secure CSPRNG with no known weaknesses, but it hasn't been the subject of a large amount of research for this reason.

If you are asking which CSPRNG is least likely to be the subject of major cryptanalytic breakthroughs in the future (i.e. which have the highest security margin), then the answer would be complex enough to fill entire cryptography journals, and indeed, they do. In general, ChaCha20 (ChaCha with 20 rounds) is currently thought by many to have one of the highest security margins. But they're all unbreakable.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.