11#ifndef CRYPTOPP_SHA3_H
12#define CRYPTOPP_SHA3_H
18NAMESPACE_BEGIN(CryptoPP)
39 SHA3(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
45 void Update(
const byte *input,
size_t length);
47 void TruncatedFinal(
byte *hash,
size_t size);
50 inline unsigned int r()
const {
return BlockSize();}
53 unsigned int m_digestSize, m_counter;
59template<
unsigned int T_DigestSize>
63 CRYPTOPP_CONSTANT(DIGESTSIZE = T_DigestSize);
64 CRYPTOPP_CONSTANT(BLOCKSIZE = 200 - 2 * DIGESTSIZE);
65 static std::string StaticAlgorithmName()
77 unsigned int BlockSize()
const {
return BLOCKSIZE; }
82#if !defined(__BORLANDC__)
84 CRYPTOPP_COMPILE_ASSERT(BLOCKSIZE < 200);
Fixed size stack-based SecBlock.
SHA3 message digest template.
unsigned int BlockSize() const
Provides the block size of the compression function.
SHA3_Final()
Construct a SHA3-X message digest.
std::string AlgorithmName() const
Provides the name of this algorithm.
SHA3 message digest base class.
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
unsigned int DigestSize() const
SHA3(unsigned int digestSize)
Construct a SHA3.
Abstract base classes that provide a uniform interface to this library.
Utility functions for the Crypto++ library.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Classes and functions for secure memory allocations.