[automerger skipped] Merge sc-qpr1-dev-plus-aosp-without-vendor@7810918 am: 05466fae6e -s ours am: 15e365ad71 -s ours am: 0eedde5ed3 -s ours

am skip reason: Merged-In I58e56ca2f93f17ae8eea14873996d380943cd07d with SHA-1 27d7ad288e is already in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/rust/crates/rand_chacha/+/16278336

Change-Id: I33154561aaaceb2deb8d617ff9a5ba8915118ed7
tree: e5c19e6dedead598cb804e2c65a0766aefec6dbd
  1. src/
  2. .cargo_vcs_info.json
  3. Android.bp
  4. Cargo.toml
  5. Cargo.toml.orig
  6. cargo2android.json
  7. CHANGELOG.md
  8. COPYRIGHT
  9. LICENSE-APACHE
  10. LICENSE-MIT
  11. METADATA
  12. MODULE_LICENSE_APACHE2
  13. OWNERS
  14. README.md
  15. TEST_MAPPING
README.md

rand_chacha

Test Status Latest version Book API API Minimum rustc version

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 the c2-chacha crate.

Links:

[^1]: D. J. Bernstein, ChaCha, a variant of Salsa20

[^2]: eSTREAM: the ECRYPT Stream Cipher Project

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.

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.