12#ifndef CRYPTOPP_KECCAK_H
13#define CRYPTOPP_KECCAK_H
18NAMESPACE_BEGIN(CryptoPP)
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__)
96 CRYPTOPP_COMPILE_ASSERT(BLOCKSIZE < 200);
Fixed size stack-based SecBlock.
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
Keccak(unsigned int digestSize)
Construct a Keccak.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Abstract base classes that provide a uniform interface to this library.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Classes and functions for secure memory allocations.