Crypto++
8.4
Free C++ class library of cryptographic schemes
|
Go to the documentation of this file.
29 #ifndef CRYPTOPP_CHACHA_H
30 #define CRYPTOPP_CHACHA_H
72 std::string AlgorithmName()
const;
75 CRYPTOPP_CONSTANT(ROUNDS = 20);
77 unsigned int m_rounds;
129 std::string AlgorithmName()
const;
133 unsigned int m_counter;
135 CRYPTOPP_CONSTANT(KEY = 16);
136 CRYPTOPP_CONSTANT(CTR = 24);
195 std::string AlgorithmName()
const;
199 unsigned int m_counter, m_rounds;
200 CRYPTOPP_CONSTANT(ROUNDS = 20);
201 CRYPTOPP_CONSTANT(KEY = 16);
223 #endif // CRYPTOPP_CHACHA_H
virtual bool CipherIsRandomAccess() const =0
Flag indicating random access.
SymmetricCipherFinal< ConcretePolicyHolder< XChaCha20_Policy, AdditiveCipherTemplate<> >, XChaCha20_Info > Encryption
XChaCha Encryption.
virtual void CipherResynchronize(byte *keystreamBuffer, const byte *iv, size_t length)
Resynchronize the cipher.
IETF ChaCha20 stream cipher.
virtual unsigned int GetAlignment() const
Provides data alignment requirements.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher.
static const char * StaticAlgorithmName()
The algorithm name.
SymmetricCipher implementation.
Base class for additive stream ciphers.
ChaCha stream cipher implementation.
virtual void CipherSetKey(const NameValuePairs ¶ms, const byte *key, size_t length)=0
Key the cipher.
Classes and functions for secure memory allocations.
Interface for algorithms that take byte strings as keys.
IETF XChaCha20 stream cipher information.
SymmetricCipherFinal< ConcretePolicyHolder< ChaChaTLS_Policy, AdditiveCipherTemplate<> >, ChaChaTLS_Info > Encryption
ChaCha-TLS Encryption.
static const int ROUNDS
The number of rounds for the algorithm provided as a constant.
Encryption Decryption
ChaCha Decryption.
Inherited by keyed algorithms with fixed key length.
const char * IV()
ConstByteArrayParameter, also accepts const byte * for backwards compatibility.
static const char * StaticAlgorithmName()
The algorithm name.
IETF ChaCha20 stream cipher implementation.
KeystreamOperation
Keystream operation flags.
static const char * StaticAlgorithmName()
The algorithm name.
ChaCha stream cipher information.
IETF ChaCha20 stream cipher information.
Encryption Decryption
XChaCha Decryption.
word64 lword
Large word type.
Encryption Decryption
ChaCha-TLS Decryption.
Crypto++ library namespace.
virtual void SeekToIteration(lword iterationCount)
Seeks to a random position in the stream.
IETF XChaCha20 stream cipher implementation.
IETF XChaCha20 stream cipher.
SymmetricCipherFinal< ConcretePolicyHolder< ChaCha_Policy, AdditiveCipherTemplate<> >, ChaCha_Info > Encryption
ChaCha Encryption.
virtual void OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)=0
Operates the keystream.
virtual unsigned int GetOptimalBlockSize() const
Provides number of ideal bytes to process.
Interface for retrieving values given their names.
Inherited by algorithms with fixed number of rounds.
virtual std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
Classes for implementing stream ciphers.
Inherited by keyed algorithms with variable key length.