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;
71template<
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__)
Fixed size stack-based SecBlock.
Keccak-224 message digest.
Keccak-256 message digest.
Keccak-384 message digest.
Keccak-512 message digest.
Keccak message digest template.
std::string AlgorithmName() const
Provides the name of this algorithm.
unsigned int BlockSize() const
Provides the block size of the compression function.
Keccak_Final()
Construct a Keccak-X message digest.
Keccak message digest base class.
unsigned int DigestSize() const
Provides the digest size of the hash.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Abstract base classes that provide a uniform interface to this library.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Crypto++ library namespace.
Classes and functions for secure memory allocations.