Crypto++  5.6.5
Free C++ class library of cryptographic schemes
Public Types | List of all members
ChaCha20 Class Reference

ChaCha20 stream cipher. More...

+ Inheritance diagram for ChaCha20:

Public Types

typedef SymmetricCipherFinal< ConcretePolicyHolder< ChaCha_Policy< 20 >, AdditiveCipherTemplate<> >, ChaCha_Info< 20 > > Encryption
 
typedef Encryption Decryption
 
- Public Types inherited from SymmetricCipherDocumentation
typedef SymmetricCipher Encryption
 implements the SymmetricCipher interface
 
typedef SymmetricCipher Decryption
 implements the SymmetricCipher interface
 

Additional Inherited Members

- Static Public Member Functions inherited from ChaCha_Info< 20 >
static const char * StaticAlgorithmName ()
 
- Static Public Member Functions inherited from VariableKeyLength< 32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
static size_t StaticGetValidKeyLength (size_t keylength)
 Provides a valid key length for the algorithm provided by a static function. More...
 
- Static Public Attributes inherited from VariableKeyLength< 32, 16, 32, 16, SimpleKeyingInterface::UNIQUE_IV, 8 >
static const int MIN_KEYLENGTH
 The minimum key length used by the algorithm provided as a constant. More...
 
static const int MAX_KEYLENGTH
 The maximum key length used by the algorithm provided as a constant. More...
 
static const int DEFAULT_KEYLENGTH
 The default key length used by the algorithm provided as a constant. More...
 
static const int KEYLENGTH_MULTIPLE
 The key length multiple used by the algorithm provided as a constant. More...
 
static const int IV_REQUIREMENT
 The default IV requirements for the algorithm provided as a constant. More...
 
static const int IV_LENGTH
 The default initialization vector length for the algorithm provided as a constant. More...
 
- Static Public Attributes inherited from FixedRounds< R >
static const int ROUNDS = R
 The number of rounds for the algorithm provided as a constant.
 

Detailed Description

ChaCha20 stream cipher.

See also
ChaCha, a variant of Salsa20 (2008.01.28).

Bernstein and ECRYPT's ChaCha 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.

Since
Crypto++ 5.6.4

Definition at line 82 of file chacha.h.


The documentation for this class was generated from the following file: