chacha.h File Reference

Classes for ChaCha8, ChaCha12 and ChaCha20 stream ciphers. More...

Go to the source code of this file.

## Classes

struct | ChaCha_Info
| ChaCha stream cipher information. More...
class | ChaCha_Policy
| ChaCha stream cipher implementation. More...
struct | ChaCha
| ChaCha stream cipher. More...
struct | ChaChaTLS_Info
| IETF ChaCha20 stream cipher information. More...
class | ChaChaTLS_Policy
| IETF ChaCha20 stream cipher implementation. More...
struct | ChaChaTLS
| IETF ChaCha20 stream cipher. More...
struct | XChaCha20_Info
| IETF XChaCha20 stream cipher information. More...
class | XChaCha20_Policy
| IETF XChaCha20 stream cipher implementation. More...
struct | XChaCha20
| IETF XChaCha20 stream cipher. More...

## Detailed Description

Classes for ChaCha8, ChaCha12 and ChaCha20 stream ciphers.

Crypto++ provides Bernstein and ECRYPT's ChaCha from ChaCha, a variant of Salsa20 (2008.01.28). Crypto++ also provides the IETF implementation of ChaCha using the ChaChaTLS name. Bernstein's implementation is _slightly_ different from the TLS working group's implementation for cipher suites `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256`, `TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256`, and `TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256`. Finally, the library provides XChaCha: eXtended-nonce ChaCha and AEAD_XChaCha20_Poly1305 (rev. 03).

Since
  ChaCha since Crypto++ 5.6.4, ChaChaTLS and XChaCha20 since Crypto++ 8.1

Definition in file chacha.h.