rand_chacha

Crates.iorand_chacha
lib.rsrand_chacha
version0.9.0-alpha.2
sourcesrc
created_at2018-10-17 10:08:22.907614
updated_at2024-07-29 10:46:45.49801
descriptionChaCha random number generator
homepagehttps://rust-random.github.io/book
repositoryhttps://github.com/rust-random/rand
max_upload_size
id91129
size55,814
maintainers (github:rust-random:maintainers)

documentation

https://docs.rs/rand_chacha

README

rand_chacha

Test Status Latest version Book API API

A cryptographically secure random number generator that uses the ChaCha algorithm.

ChaCha is a stream cipher designed by Daniel J. Bernstein1, 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 eSTREAM2.

The RNGs provided by this crate are implemented via the fast stream ciphers of the c2-chacha crate.

Links:

Crate Features

rand_chacha is no_std compatible when disabling default features; the std feature can be explicitly required to re-enable std support. Using std allows detection of CPU features and thus better optimisation. Using std also enables getrandom functionality, such as ChaCha20Rng::from_os_rng().

License

rand_chacha is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.

Footnotes

  1. D. J. Bernstein, ChaCha, a variant of Salsa20

  2. eSTREAM: the ECRYPT Stream Cipher Project

Commit count: 3215

cargo fmt