10 NAMESPACE_BEGIN(CryptoPP)
15 void RawSetKey(
CipherDir direction,
const byte *userKey);
16 void RawProcessBlock(word32 &l, word32 &r)
const;
19 static const word32 Spbox[8][64];
28 static const char * StaticAlgorithmName() {
return "DES";}
41 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
42 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
58 CRYPTOPP_DLL
static const char * CRYPTOPP_API StaticAlgorithmName() {
return "DES-EDE2";}
64 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base :
public BlockCipherImpl<DES_EDE2_Info>
67 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
68 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
82 CRYPTOPP_DLL
static const char * CRYPTOPP_API StaticAlgorithmName() {
return "DES-EDE3";}
88 class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE Base :
public BlockCipherImpl<DES_EDE3_Info>
91 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
92 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
95 RawDES m_des1, m_des2, m_des3;
106 static const char *StaticAlgorithmName() {
return "DES-XEX3";}
115 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
116 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
to be inherited by keyed algorithms with fixed key length
These objects usually should not be used directly. See CipherModeDocumentation instead.
CipherDir
used to specify a direction for a cipher to operate in (encrypt or decrypt)
to be inherited by block ciphers with fixed block size
static bool CheckKeyParityBits(const byte *key)
check DES key parity bits
static void CorrectKeyParityBits(byte *key)
correct DES key parity bits
interface for retrieving values given their names