1 #ifndef CRYPTOPP_SHARK_H
2 #define CRYPTOPP_SHARK_H
11 NAMESPACE_BEGIN(CryptoPP)
16 static const char *StaticAlgorithmName() {
return "SHARK-E";}
25 void UncheckedSetKey(
const byte *key,
unsigned int length,
const NameValuePairs ¶m);
28 unsigned int m_rounds;
32 class CRYPTOPP_NO_VTABLE Enc :
public Base
35 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
38 void InitForKeySetup();
41 static const byte sbox[256];
42 static const word64 cbox[8][256];
45 class CRYPTOPP_NO_VTABLE Dec :
public Base
48 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
51 static const byte sbox[256];
52 static const word64 cbox[8][256];
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 variable 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