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.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
unsigned int DigestSize() const
Provides the digest size of the hash.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Crypto++ library namespace.