6 #ifndef CRYPTOPP_SAFER_H 7 #define CRYPTOPP_SAFER_H 23 void UncheckedSetKey(
const byte *userkey,
unsigned int length,
const NameValuePairs ¶ms);
26 virtual bool Strengthened()
const =0;
29 static const byte exp_tab[256];
30 static const byte log_tab[256];
34 class CRYPTOPP_NO_VTABLE
Enc :
public Base 37 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
41 class CRYPTOPP_NO_VTABLE
Dec :
public Base 44 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
53 template <
class BASE,
class INFO,
bool STR>
57 bool Strengthened()
const {
return STR;}
63 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "SAFER-K";}
78 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "SAFER-SK";}
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Provides Encryption and Decryption typedefs used by derived classes to implement a block cipher...
Interface for one direction (encryption or decryption) of a block cipher.
SAFER block cipher decryption operation.
Classes and functions for secure memory allocations.
Inherited by algorithms with fixed block size.
Inherited by algorithms with variable number of rounds.
SAFER block cipher default operation.
Classes and functions for implementing secret key algorithms.
Provides class member functions to key a block cipher.
SAFER block cipher default implementation.
SAFER-K block cipher information.
Inherited by keyed algorithms with variable key length.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
Crypto++ library namespace.
SAFER-SK block cipher information.
Interface for retrieving values given their names.
SAFER block cipher encryption operation.