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]);