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 25 static const char *StaticAlgorithmName() {
return "Salsa20";}
31 void CipherSetKey(
const NameValuePairs ¶ms,
const byte *key,
size_t length);
32 void OperateKeystream(KeystreamOperation operation, byte *output,
const byte *input,
size_t iterationCount);
33 void CipherResynchronize(byte *keystreamBuffer,
const byte *
IV,
size_t length);
34 bool CipherIsRandomAccess()
const {
return true;}
35 void SeekToIteration(lword iterationCount);
36 #if (CRYPTOPP_BOOL_X86 || CRYPTOPP_BOOL_X32 || CRYPTOPP_BOOL_X64) && !defined(CRYPTOPP_DISABLE_SALSA_ASM) 37 unsigned int GetAlignment()
const;
38 unsigned int GetOptimalBlockSize()
const;
59 static const char *StaticAlgorithmName() {
return "XSalsa20";}
65 void CipherSetKey(
const NameValuePairs ¶ms,
const byte *key,
size_t length);
66 void CipherResynchronize(byte *keystreamBuffer,
const byte *
IV,
size_t length);
Inherited by keyed algorithms with fixed key length.
XSalsa20 block cipher information.
Salsa block cipher information.
Classes and functions for secure memory allocations.
XSalsa20 block cipher information.
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.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher...
Salsa20 block cipher information.
Crypto++ library namespace.
Interface for retrieving values given their names.