6 #ifndef CRYPTOPP_SALSA_H 7 #define CRYPTOPP_SALSA_H 15 #if CRYPTOPP_BOOL_X32 || defined(CRYPTOPP_DISABLE_INTEL_ASM) || (CRYPTOPP_GCC_VERSION >= 40800) 16 # define CRYPTOPP_DISABLE_SALSA_ASM 35 void CipherResynchronize(
byte *keystreamBuffer,
const byte *IV,
size_t length);
37 void SeekToIteration(
lword iterationCount);
38 #if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SALSA_ASM) 40 unsigned int GetOptimalBlockSize()
const;
70 void CipherResynchronize(
byte *keystreamBuffer,
const byte *IV,
size_t length);
FixedSizeSecBlock< word32, 8 > m_key
Inherited by keyed algorithms with fixed key length.
#define CRYPTOPP_STATIC_CONSTEXPR
unsigned int GetAlignment() const
Provides data alignment requirements.
Base class for additive stream ciphers.
#define NAMESPACE_BEGIN(x)
XSalsa20 stream cipher information.
Salsa20 stream cipher information.
Classes and functions for secure memory allocations.
XSalsa20 stream cipher operation.
SymmetricCipherFinal< ConcretePolicyHolder< Salsa20_Policy, AdditiveCipherTemplate<> >, Salsa20_Info > Encryption
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.
SymmetricCipherFinal< ConcretePolicyHolder< XSalsa20_Policy, AdditiveCipherTemplate<> >, XSalsa20_Info > Encryption
CRYPTOPP_STATIC_CONSTEXPR const char * StaticAlgorithmName()
Inherited by keyed algorithms with variable key length.
#define CRYPTOPP_NO_VTABLE
Classes for implementing stream ciphers.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher...
KeystreamOperation
Keystream operation flags.
SymmetricCipher implementation.
FixedSizeAlignedSecBlock< word32, 16 > m_state
bool CipherIsRandomAccess() const
Flag indicating random access.
CRYPTOPP_STATIC_CONSTEXPR const char * StaticAlgorithmName()
Salsa20 stream cipher operation.
Interface for retrieving values given their names.