1 #ifndef CRYPTOPP_GOST_H
2 #define CRYPTOPP_GOST_H
10 NAMESPACE_BEGIN(CryptoPP)
15 static const char *StaticAlgorithmName() {
return "GOST";}
24 void UncheckedSetKey(
const byte *userKey,
unsigned int length,
const NameValuePairs ¶ms);
27 static void PrecalculateSTable();
29 static const byte sBox[8][16];
30 static volatile bool sTableCalculated;
31 static word32 sTable[4][256];
36 class CRYPTOPP_NO_VTABLE Enc :
public Base
39 void ProcessAndXorBlock(
const byte *inBlock,
const byte *xorBlock, byte *outBlock)
const;
42 class CRYPTOPP_NO_VTABLE Dec :
public Base
45 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.
to be inherited by block ciphers with fixed block size
interface for retrieving values given their names