6 #ifndef CRYPTOPP_SAFER_H 7 #define CRYPTOPP_SAFER_H 22 void UncheckedSetKey(
const byte *userkey,
unsigned int length,
const NameValuePairs ¶ms);
25 virtual bool Strengthened()
const =0;
28 static const byte exp_tab[256];
29 static const byte log_tab[256];
32 class CRYPTOPP_NO_VTABLE
Enc :
public Base 35 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
38 class CRYPTOPP_NO_VTABLE
Dec :
public Base 41 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
45 template <
class BASE,
class INFO,
bool STR>
49 bool Strengthened()
const {
return STR;}
55 static const char *StaticAlgorithmName() {
return "SAFER-K";}
69 static const char *StaticAlgorithmName() {
return "SAFER-SK";}
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher...
SecByteBlock is a SecBlock<byte> typedef.
Interface for one direction (encryption or decryption) of a block cipher.
Classes and functions for secure memory allocations.
Inherited by block ciphers with fixed block size.
Inherited by ciphers with variable number of rounds.
base class, do not use directly
Classes and functions for implementing secret key algorithms.
Provides class member functions to key a block cipher.
Inherited by keyed algorithms with variable key length.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Provides class member functions to access BlockCipher constants.
Crypto++ library namespace.
Interface for retrieving values given their names.