]> git.proxmox.com Git - cargo.git/blob - vendor/rand_chacha/README.md
New upstream version 0.37.0
[cargo.git] / vendor / rand_chacha / README.md
1 # rand_chacha
2
3 [![Build Status](https://travis-ci.org/rust-random/rand.svg)](https://travis-ci.org/rust-random/rand)
4 [![Build Status](https://ci.appveyor.com/api/projects/status/github/rust-random/rand?svg=true)](https://ci.appveyor.com/project/rust-random/rand)
5 [![Latest version](https://img.shields.io/crates/v/rand_chacha.svg)](https://crates.io/crates/rand_chacha)
6 [![Book](https://img.shields.io/badge/book-master-yellow.svg)](https://rust-random.github.io/book/)
7 [![API](https://img.shields.io/badge/api-master-yellow.svg)](https://rust-random.github.io/rand/rand_chacha)
8 [![API](https://docs.rs/rand_chacha/badge.svg)](https://docs.rs/rand_chacha)
9 [![Minimum rustc version](https://img.shields.io/badge/rustc-1.32+-lightgray.svg)](https://github.com/rust-random/rand#rust-version-requirements)
10
11 A cryptographically secure random number generator that uses the ChaCha
12 algorithm.
13
14 ChaCha is a stream cipher designed by Daniel J. Bernstein[^1], that we use
15 as an RNG. It is an improved variant of the Salsa20 cipher family, which was
16 selected as one of the "stream ciphers suitable for widespread adoption" by
17 eSTREAM[^2].
18
19 The RNGs provided by this crate are implemented via the fast stream ciphers of
20 the [`c2-chacha`](https://crates.io/crates/c2-chacha) crate.
21
22 Links:
23
24 - [API documentation (master)](https://rust-random.github.io/rand/rand_chacha)
25 - [API documentation (docs.rs)](https://docs.rs/rand_chacha)
26 - [Changelog](https://github.com/rust-random/rand/blob/master/rand_chacha/CHANGELOG.md)
27
28 [rand]: https://crates.io/crates/rand
29 [^1]: D. J. Bernstein, [*ChaCha, a variant of Salsa20*](
30 https://cr.yp.to/chacha.html)
31
32 [^2]: [eSTREAM: the ECRYPT Stream Cipher Project](
33 http://www.ecrypt.eu.org/stream/)
34
35
36 ## Crate Features
37
38 `rand_chacha` is `no_std` compatible. It does not require any functionality
39 outside of the `core` lib, thus there are no features to configure.
40
41
42 # License
43
44 `rand_chacha` is distributed under the terms of both the MIT license and the
45 Apache License (Version 2.0).
46
47 See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT), and
48 [COPYRIGHT](COPYRIGHT) for details.