14 #ifndef CRYPTOPP_CHACHA_H 15 #define CRYPTOPP_CHACHA_H 47 void CipherSetKey(
const NameValuePairs ¶ms,
const byte *key,
size_t length);
49 void CipherResynchronize(byte *keystreamBuffer,
const byte *
IV,
size_t length);
50 bool CipherIsRandomAccess()
const {
return true;}
51 void SeekToIteration(lword iterationCount);
53 unsigned int GetOptimalBlockSize()
const;
55 std::string AlgorithmName()
const;
56 std::string AlgorithmProvider()
const;
63 inline bool MultiBlockSafe(
unsigned int blocks)
const;
66 unsigned int m_rounds;
85 #endif // CRYPTOPP_CHACHA_H static const char * StaticAlgorithmName()
The algorithm name.
ChaCha stream cipher information.
Base class for additive stream ciphers.
unsigned int GetAlignment() const
Provides data alignment requirements.
Classes and functions for secure memory allocations.
ChaCha stream cipher implementation.
virtual void OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)=0
Operates the keystream.
Interface for algorithms that take byte strings as keys.
Inherited by keyed algorithms with variable key length.
const char * IV()
ConstByteArrayParameter, also accepts const byte * for backwards compatibility.
Classes for implementing stream ciphers.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher...
KeystreamOperation
Keystream operation flags.
Crypto++ library namespace.
SymmetricCipher implementation.
Interface for retrieving values given their names.