7 #ifndef CRYPTOPP_SHA3_H 8 #define CRYPTOPP_SHA3_H 19 SHA3(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
24 void Update(
const byte *input,
size_t length);
26 void TruncatedFinal(byte *hash,
size_t size);
29 inline unsigned int r()
const {
return 200 - 2 * m_digestSize;}
32 unsigned int m_digestSize, m_counter;
38 CRYPTOPP_CONSTANT(DIGESTSIZE = 28)
40 static const char * StaticAlgorithmName() {
return "SHA-3-224";}
46 CRYPTOPP_CONSTANT(DIGESTSIZE = 32)
48 static const char * StaticAlgorithmName() {
return "SHA-3-256";}
54 CRYPTOPP_CONSTANT(DIGESTSIZE = 48)
56 static const char * StaticAlgorithmName() {
return "SHA-3-384";}
62 CRYPTOPP_CONSTANT(DIGESTSIZE = 64)
64 static const char * StaticAlgorithmName() {
return "SHA-3-512";}
Abstract base classes that provide a uniform interface to this library.
std::string AlgorithmName() const
Provides the name of this algorithm.
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.