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>
42 word32 m_startCount, m_iterationsPerCount;
43 word32 m_outsideCounter, m_insideCounter;
50template <
class B = BigEndian>
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.
virtual void SeekToIteration(lword iterationCount)
Seeks to a random position in the stream.
virtual void CipherSetKey(const NameValuePairs ¶ms, const byte *key, size_t length)=0
Key the cipher.
virtual bool CipherIsRandomAccess() const =0
Flag indicating random access.
virtual void CipherResynchronize(byte *keystreamBuffer, const byte *iv, size_t length)
Resynchronize the cipher.
Base class for additive stream ciphers.
virtual void OperateKeystream(KeystreamOperation operation, byte *output, const byte *input, size_t iterationCount)=0
Operates the keystream.
SEAL stream cipher information.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher.