19 void RawSetKey(
CipherDir direction,
const byte *userKey);
23 static const word32 Spbox[8][64];
33 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "DES";}
48 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
49 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
66 CRYPTOPP_DLL
static const char *
CRYPTOPP_API StaticAlgorithmName() {
return "DES-EDE2";}
75 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base :
public BlockCipherImpl<DES_EDE2_Info>
78 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
79 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
94 CRYPTOPP_DLL
static const char *
CRYPTOPP_API StaticAlgorithmName() {
return "DES-EDE3";}
103 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base :
public BlockCipherImpl<DES_EDE3_Info>
106 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
107 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
110 RawDES m_des1, m_des2, m_des3;
122 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "DES-XEX3";}
134 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
135 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock,
byte *outBlock)
const;
Provides class member functions to key a block cipher.
Provides a base implementation of Algorithm and SimpleKeyingInterface for block ciphers.
2-key TripleDES block cipher
3-key TripleDES block cipher
static bool CheckKeyParityBits(const byte *key)
check DES key parity bits
static void CorrectKeyParityBits(byte *key)
correct DES key parity bits
Inherited by algorithms with fixed block size.
Inherited by keyed algorithms with fixed key length.
Fixed size stack-based SecBlock.
Interface for retrieving values given their names.
DES block cipher base class.
#define CRYPTOPP_API
Win32 calling convention.
unsigned int word32
32-bit unsigned datatype
CipherDir
Specifies a direction for a cipher to operate.
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.
2-key TripleDES block cipher information
3-key TripleDES block cipher information
DES block cipher information.
DESX block cipher information.