A cryptographically secure random number generator that uses the ChaCha algorithm.
ChaCha is a stream cipher designed by Daniel J. Bernstein[^1], that we use as an RNG. It is an improved variant of the Salsa20 cipher family, which was selected as one of the "stream ciphers suitable for widespread adoption" by eSTREAM[^2].
The RNGs provided by this crate are implemented via the fast stream ciphers of
[^1]: D. J. Bernstein, ChaCha, a variant of Salsa20
no_std compatible when disabling default features; the
feature can be explicitly required to re-enable
std support. Using
allows detection of CPU features and thus better optimisation.
rand_chacha is distributed under the terms of both the MIT license and the
Apache License (Version 2.0).