18template <
class B = BigEndian>
21 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return B::ToEnum() ==
LITTLE_ENDIAN_ORDER ?
"SEAL-3.0-LE" :
"SEAL-3.0-BE";}
27template <
class B = BigEndian>
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);
42 word32 m_startCount, m_iterationsPerCount;
43 word32 m_outsideCounter, m_insideCounter;
50template <
class B = BigEndian>
54 typedef Encryption Decryption;
Base class for additive stream ciphers with SymmetricCipher interface.
Inherited by keyed algorithms with fixed key length.
Fixed size stack-based SecBlock.
Interface for retrieving values given their names.
SEAL stream cipher operation.
Secure memory block with allocator and cleanup.
SymmetricCipher implementation.
unsigned int word32
32-bit unsigned datatype
word64 lword
Large word type.
@ LITTLE_ENDIAN_ORDER
byte order is little-endian
Crypto++ library namespace.
Classes and functions for secure memory allocations.
Classes for implementing stream ciphers.
KeystreamOperation
Keystream operation flags.
Base class for additive stream ciphers.
SEAL stream cipher information.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher.