18 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "IDEA";}
27#ifdef CRYPTOPP_NATIVE_DWORD_AVAILABLE
37 unsigned int OptimalDataAlignment()
const {
return 2;}
38 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
40 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
43 void EnKey(
const byte *);
47 #ifdef IDEA_LARGECACHE
48 static inline void LookupMUL(
word &a,
word b);
50 static void BuildLogTables();
51 static volatile bool tablesBuilt;
52 static word16 log[0x10000], antilog[0x10000];
Provides class member functions to key 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.
Inherited by algorithms with fixed number of rounds.
Interface for retrieving values given their names.
word64 word
Full word used for multiprecision integer arithmetic.
unsigned short word16
16-bit unsigned datatype
word32 hword
Half word used for multiprecision integer arithmetic.
Crypto++ library namespace.
Classes and functions for secure memory allocations.
Classes and functions for implementing secret key algorithms.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher.
IDEA block cipher information.