12 #ifndef CRYPTOPP_KECCAK_H 13 #define CRYPTOPP_KECCAK_H 50 Keccak(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
56 void Update(
const byte *input,
size_t length);
58 void TruncatedFinal(
byte *hash,
size_t size);
63 inline unsigned int r()
const {
return 200 - 2 * m_digestSize;}
73 template<
unsigned int T_DigestSize>
83 unsigned int BlockSize()
const {
return BLOCKSIZE; }
unsigned int BlockSize() const
Provides the block size of the compression function.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
#define CRYPTOPP_STATIC_CONSTEXPR
static std::string StaticAlgorithmName()
#define NAMESPACE_BEGIN(x)
std::string AlgorithmName() const
Provides the name of this algorithm.
Abstract base classes that provide a uniform interface to this library.
Keccak_Final< 64 > Keccak_512
unsigned int DigestSize() const
Provides the digest size of the hash.
Keccak_Final< 28 > Keccak_224
Classes and functions for secure memory allocations.
Keccak(unsigned int digestSize)
Construct a Keccak.
Keccak message digest base class.
#define CRYPTOPP_CONSTANT(x)
CRYPTOPP_STATIC_CONSTEXPR const char * StaticAlgorithmName()
Keccak_Final< 48 > Keccak_384
FixedSizeSecBlock< word64, 25 > m_state
Keccak_Final< 32 > Keccak_256
unsigned int m_digestSize
uint8_t const size_t const size
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
CRYPTOPP_COMPILE_ASSERT(BLOCKSIZE< 200)