15#ifndef CRYPTOPP_RABBIT_H
16#define CRYPTOPP_RABBIT_H
31 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "Rabbit"; }
38 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "RabbitWithIV"; }
46 void CipherSetKey(
const NameValuePairs ¶ms,
const byte *key,
size_t length);
47 void OperateKeystream(
KeystreamOperation operation,
byte *output,
const byte *input,
size_t iterationCount);
48 bool CanOperateKeystream()
const {
return true; }
49 bool CipherIsRandomAccess()
const {
return false; }
64 void CipherSetKey(
const NameValuePairs ¶ms,
const byte *key,
size_t length);
65 void OperateKeystream(
KeystreamOperation operation,
byte *output,
const byte *input,
size_t iterationCount);
66 void CipherResynchronize(
byte *keystreamBuffer,
const byte *iv,
size_t length);
67 bool CanOperateKeystream()
const {
return true; }
68 bool CipherIsRandomAccess()
const {
return false; }
Inherited by keyed algorithms with fixed key length.
Fixed size stack-based SecBlock.
Interface for retrieving values given their names.
Rabbit stream cipher implementation.
Rabbit stream cipher implementation.
Interface for algorithms that take byte strings as keys.
SymmetricCipher implementation.
unsigned int word32
32-bit unsigned datatype
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.
Rabbit stream cipher information.
Rabbit stream cipher information.
Provides Encryption and Decryption typedefs used by derived classes to implement a symmetric cipher.