11 #ifndef CRYPTOPP_SHA3_H 12 #define CRYPTOPP_SHA3_H 36 SHA3(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
41 void Update(
const byte *input,
size_t length);
43 void TruncatedFinal(byte *hash,
size_t size);
46 inline unsigned int r()
const {
return 200 - 2 * m_digestSize;}
49 unsigned int m_digestSize, m_counter;
58 CRYPTOPP_CONSTANT(DIGESTSIZE = 28)
62 CRYPTOPP_CONSTEXPR
static const char *StaticAlgorithmName() {
return "SHA3-224";}
71 CRYPTOPP_CONSTANT(DIGESTSIZE = 32)
75 CRYPTOPP_CONSTEXPR
static const char *StaticAlgorithmName() {
return "SHA3-256";}
84 CRYPTOPP_CONSTANT(DIGESTSIZE = 48)
88 CRYPTOPP_CONSTEXPR
static const char *StaticAlgorithmName() {
return "SHA3-384";}
97 CRYPTOPP_CONSTANT(DIGESTSIZE = 64)
101 CRYPTOPP_CONSTEXPR
static const char *StaticAlgorithmName() {
return "SHA3-512";}
SHA3 message digest base class.
Abstract base classes that provide a uniform interface to this library.
std::string AlgorithmName() const
Provides the name of this algorithm.
SHA3(unsigned int digestSize)
Construct a SHA3.
Classes and functions for secure memory allocations.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Crypto++ library namespace.
unsigned int DigestSize() const
Provides the digest size of the hash.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.