3 #ifndef CRYPTOPP_SHA3_H
4 #define CRYPTOPP_SHA3_H
9 NAMESPACE_BEGIN(CryptoPP)
15 SHA3(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
17 std::string
AlgorithmName()
const {
return "SHA-3-" + IntToString(m_digestSize*8);}
20 void Update(
const byte *input,
size_t length);
22 void TruncatedFinal(byte *hash,
size_t size);
25 inline unsigned int r()
const {
return 200 - 2 * m_digestSize;}
28 unsigned int m_digestSize, m_counter;
34 CRYPTOPP_CONSTANT(DIGESTSIZE = 28)
36 static const char * StaticAlgorithmName() {
return "SHA-3-224";}
42 CRYPTOPP_CONSTANT(DIGESTSIZE = 32)
44 static const char * StaticAlgorithmName() {
return "SHA-3-256";}
50 CRYPTOPP_CONSTANT(DIGESTSIZE = 48)
52 static const char * StaticAlgorithmName() {
return "SHA-3-384";}
58 CRYPTOPP_CONSTANT(DIGESTSIZE = 64)
60 static const char * StaticAlgorithmName() {
return "SHA-3-512";}