22 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "TEA";}
33 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
41 class CRYPTOPP_NO_VTABLE Enc :
public Base
44 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
48 class CRYPTOPP_NO_VTABLE Dec :
public Base
51 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
80 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
88 class CRYPTOPP_NO_VTABLE Enc :
public Base
91 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
95 class CRYPTOPP_NO_VTABLE Dec :
public Base
98 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
123 class CRYPTOPP_NO_VTABLE Base :
public AlgorithmImpl<SimpleKeyingInterfaceImpl<BlockCipher, BTEA_Info>, BTEA_Info>
126 void UncheckedSetKey(
const byte *key,
unsigned int length,
const NameValuePairs ¶ms)
128 CRYPTOPP_UNUSED(length), CRYPTOPP_UNUSED(params);
133 unsigned int BlockSize()
const {
return m_blockSize;}
137 unsigned int m_blockSize;
141 class CRYPTOPP_NO_VTABLE Enc :
public Base
144 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
148 class CRYPTOPP_NO_VTABLE Dec :
public Base
151 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
Interface for one direction (encryption or decryption) of a block cipher.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Inherited by algorithms with fixed block size.
Inherited by keyed algorithms with fixed key length.
static const int KEYLENGTH
The default key length used by the algorithm provided as a constant.
Interface for retrieving values given their names.
CRYPTOPP_DLL int GetIntValueWithDefault(const char *name, int defaultValue) const
Get a named value with type int, with default.
Inherited by algorithms with variable number of rounds.
unsigned int word32
32-bit unsigned datatype
@ BIG_ENDIAN_ORDER
byte order is big-endian
Utility functions for the Crypto++ library.
void GetUserKey(ByteOrder order, T *out, size_t outlen, const byte *in, size_t inlen)
Copy bytes in a buffer to an array of elements in big-endian order.
Crypto++ library namespace.
const char * BlockSize()
int, in bytes
Classes and functions for secure memory allocations.
Classes and functions for implementing secret key algorithms.
BTEA block cipher information.
static const char * StaticAlgorithmName()
The algorithm name.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher.
TEA block cipher information.
XTEA block cipher information.
static const char * StaticAlgorithmName()
The algorithm name.