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.
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.