]> git.proxmox.com Git - rustc.git/blob - vendor/c2-chacha/README.md
New upstream version 1.42.0+dfsg0+pve1
[rustc.git] / vendor / c2-chacha / README.md
1 # The ChaCha family of stream ciphers
2
3 ## Features
4
5 - pure Rust implementation
6 - supports the RustCrypto API
7 - builds on stable Rust
8 - portable
9 - fast: within 15% of throughput of a hand-optimized ASM SIMD implementation
10 (floodberry/chacha-opt) on my machine (a Xeon X5650, using ppv-lite86)
11 - no-std compatible (std required only for runtime algorithm selection)
12
13 ## Supported Variants
14
15 ChaCha20: used in chacha20-poly1305 in TLS, OpenSSH; arc4random in the BSDs,
16 Linux /dev/urandom since 4.8.
17
18 Ietf: IETF RFC 7539. Longer nonce, short block counter.
19
20 XChaCha20: constructed analogously to XSalsa20; a mixing step during
21 initialization allows using a long nonce and along with a full-sized block
22 counter.
23
24 ChaCha12, ChaCha8: faster; lower security margin of safety.