rustc/vendor/c2-chacha
2020-03-25 15:04:31 +01:00
..
benches New upstream version 1.42.0+dfsg0+pve1 2020-03-25 15:04:31 +01:00
src New upstream version 1.42.0+dfsg0+pve1 2020-03-25 15:04:31 +01:00
.cargo-checksum.json New upstream version 1.42.0+dfsg0+pve1 2020-03-25 15:04:31 +01:00
Cargo.toml New upstream version 1.42.0+dfsg0+pve1 2020-03-25 15:04:31 +01:00
LICENSE-APACHE New upstream version 1.38.0+dfsg1 2019-11-25 21:38:20 +00:00
LICENSE-MIT New upstream version 1.38.0+dfsg1 2019-11-25 21:38:20 +00:00
README.md New upstream version 1.38.0+dfsg1 2019-11-25 21:38:20 +00:00

The ChaCha family of stream ciphers

Features

  • pure Rust implementation
  • supports the RustCrypto API
  • builds on stable Rust
  • portable
  • fast: within 15% of throughput of a hand-optimized ASM SIMD implementation (floodberry/chacha-opt) on my machine (a Xeon X5650, using ppv-lite86)
  • no-std compatible (std required only for runtime algorithm selection)

Supported Variants

ChaCha20: used in chacha20-poly1305 in TLS, OpenSSH; arc4random in the BSDs, Linux /dev/urandom since 4.8.

Ietf: IETF RFC 7539. Longer nonce, short block counter.

XChaCha20: constructed analogously to XSalsa20; a mixing step during initialization allows using a long nonce and along with a full-sized block counter.

ChaCha12, ChaCha8: faster; lower security margin of safety.