1 #ifndef CRYPTOPP_TWOFISH_H
2 #define CRYPTOPP_TWOFISH_H
10 NAMESPACE_BEGIN(CryptoPP)
15 static const char *StaticAlgorithmName() {
return "Twofish";}
24 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
27 static word32 h0(word32 x,
const word32 *key,
unsigned int kLen);
28 static word32 h(word32 x,
const word32 *key,
unsigned int kLen);
30 static const byte q[2][256];
31 static const word32 mds[4][256];
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;
These objects usually should not be used directly. See CipherModeDocumentation instead.
interface for one direction (encryption or decryption) of a block cipher
to be inherited by block ciphers with fixed block size
to be inherited by ciphers with fixed number of rounds
support query of variable key length, template parameters are default, min, max, multiple (default mu...
interface for retrieving values given their names