11#ifndef CRYPTOPP_SHA3_H
12#define CRYPTOPP_SHA3_H
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__)
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
Provides the digest size of the hash.
Abstract base classes that provide a uniform interface to this library.
Utility functions for the Crypto++ library.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
Crypto++ library namespace.
Classes and functions for secure memory allocations.