12 #ifndef CRYPTOPP_KECCAK_H 13 #define CRYPTOPP_KECCAK_H 51 Keccak(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
57 void Update(
const byte *input,
size_t length);
59 void TruncatedFinal(byte *hash,
size_t size);
62 inline unsigned int r()
const {
return BlockSize();}
65 unsigned int m_digestSize, m_counter;
71 template<
unsigned int T_DigestSize>
75 CRYPTOPP_CONSTANT(DIGESTSIZE = T_DigestSize)
76 CRYPTOPP_CONSTANT(BLOCKSIZE = 200 - 2 * DIGESTSIZE)
77 static std::string StaticAlgorithmName()
89 unsigned int BlockSize()
const {
return BLOCKSIZE; }
94 #if !defined(__BORLANDC__) Abstract base classes that provide a uniform interface to this library.
unsigned int DigestSize() const
Provides the digest size of the hash.
Classes and functions for secure memory allocations.
std::string AlgorithmName() const
Provides the name of this algorithm.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Keccak_Final()
Construct a Keccak-X message digest.
unsigned int BlockSize() const
Provides the block size of the compression function.
Keccak message digest base class.
Keccak-224 message digest.
const char * BlockSize()
int, in bytes
Keccak-384 message digest.
Keccak-512 message digest.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Keccak message digest template.
Keccak-256 message digest.
Crypto++ library namespace.