Security Scol plugin
Public Types | List of all members
ChaChaTLS Struct Reference

IETF ChaCha20 stream cipher. More...

#include <chacha.h>

Inheritance diagram for ChaChaTLS:
ChaChaTLS_Info SymmetricCipherDocumentation FixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 12 > FixedRounds< 20 >

Public Types

typedef SymmetricCipherFinal< ConcretePolicyHolder< ChaChaTLS_Policy, AdditiveCipherTemplate<> >, ChaChaTLS_InfoEncryption
 ChaCha-TLS Encryption.
 
typedef Encryption Decryption
 ChaCha-TLS Decryption.
 
- Public Types inherited from SymmetricCipherDocumentation
typedef SymmetricCipher Encryption
 implements the SymmetricCipher interface
 
typedef SymmetricCipher Decryption
 implements the SymmetricCipher interface
 

Additional Inherited Members

- Public Member Functions inherited from FixedKeyLength< 32, SimpleKeyingInterface::UNIQUE_IV, 12 >
 CRYPTOPP_CONSTANT (KEYLENGTH=N)
 The default key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (MIN_KEYLENGTH=N)
 The minimum key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (MAX_KEYLENGTH=N)
 The maximum key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (DEFAULT_KEYLENGTH=N)
 The default key length used by the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (IV_REQUIREMENT=IV_REQ)
 The default IV requirements for the algorithm provided as a constant.
 
 CRYPTOPP_CONSTANT (IV_LENGTH=IV_L)
 The default IV length used by the algorithm provided as a constant.
 
CRYPTOPP_STATIC_CONSTEXPR size_t CRYPTOPP_API StaticGetValidKeyLength (size_t keylength)
 The default key length for the algorithm provided by a static function.
 
- Public Member Functions inherited from FixedRounds< 20 >
 CRYPTOPP_CONSTANT (ROUNDS=R)
 The number of rounds for the algorithm provided as a constant.
 
- Static Public Member Functions inherited from ChaChaTLS_Info
static const char * StaticAlgorithmName ()
 The algorithm name.
 

Detailed Description

IETF ChaCha20 stream cipher.

This is the IETF's variant of Bernstein's ChaCha from RFC 8439. IETF ChaCha is called ChaChaTLS in the Crypto++ library. It is slightly different from the Bernstein implementation. ChaCha-TLS can be used 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.

See also
RFC 8439, ChaCha20 and Poly1305 for IETF Protocols, How to handle block counter wrap in IETF's ChaCha algorithm? and Issue 790, ChaChaTLS results when counter block wraps.
Since
Crypto++ 8.1

Definition at line 154 of file chacha.h.

Member Typedef Documentation

◆ Decryption

ChaCha-TLS Decryption.

Definition at line 159 of file chacha.h.

◆ Encryption

ChaCha-TLS Encryption.

Definition at line 157 of file chacha.h.


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