1
$\begingroup$

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

$\endgroup$
  • $\begingroup$ Try the Yarrow suite of Algorithms by Bruce Schneier $\endgroup$ – cryptoknight Sep 1 '19 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.

| improve this answer | |
$\endgroup$

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