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.
Interface for retrieving values given their names.
SEAL stream cipher operation.
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.
const char * IV()
ConstByteArrayParameter, also accepts const byte * for backwards compatibility.
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.