1 #ifndef CRYPTOPP_CAST_H
2 #define CRYPTOPP_CAST_H
10 NAMESPACE_BEGIN(CryptoPP)
15 static const word32 S[8][256];
21 static const char *StaticAlgorithmName() {
return "CAST-128";}
30 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
37 class CRYPTOPP_NO_VTABLE Enc :
public Base
40 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
43 class CRYPTOPP_NO_VTABLE Dec :
public Base
46 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
57 static const char *StaticAlgorithmName() {
return "CAST-256";}
66 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
67 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
70 static const word32 t_m[8][24];
71 static const unsigned int t_r[8][24];
73 static void Omega(
int i, word32 kappa[8]);
These objects usually should not be used directly. See CipherModeDocumentation instead.
to be inherited by block ciphers with fixed block size
support query of variable key length, template parameters are default, min, max, multiple (default mu...
interface for retrieving values given their names