Bug: 160625211

Clone this repo:
  1. 7696436 Migrate to cargo_embargo. am: e2a9f1d164 by Andrew Walbran · 4 months ago emu-34-2-dev emu-34-2-release emu-34-3-release emu-35-1-release main master
  2. e2a9f1d Migrate to cargo_embargo. by Andrew Walbran · 4 months ago
  3. 20ecbad Make rand_chacha available to product and vendor am: 63509b91b6 am: e7eaedf402 am: cb18d8725f am: 7fb741f77a by Matthew Maurer · 12 months ago android14-qpr1-release android14-qpr1-s2-release android-14.0.0_r16 android-14.0.0_r17 android-14.0.0_r18 android-14.0.0_r19 android-14.0.0_r20 android-14.0.0_r21 android-14.0.0_r22 android-14.0.0_r23 android-14.0.0_r24 android-14.0.0_r25 android-14.0.0_r26 android-14.0.0_r27
  4. 7fb741f Make rand_chacha available to product and vendor am: 63509b91b6 am: e7eaedf402 am: cb18d8725f by Matthew Maurer · 12 months ago android14-dev
  5. cb18d87 Make rand_chacha available to product and vendor am: 63509b91b6 am: e7eaedf402 by Matthew Maurer · 12 months ago emu-33-dev

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.