Crypto++
5.6.5
Free C++ class library of cryptographic schemes
|
Go to the documentation of this file.
12 #ifndef CRYPTOPP_KECCAK_H
13 #define CRYPTOPP_KECCAK_H
50 Keccak(
unsigned int digestSize) : m_digestSize(digestSize) {Restart();}
53 CRYPTOPP_CONSTEXPR
static const char* StaticAlgorithmName() {
return "Keccak"; }
56 void Update(
const byte *input,
size_t length);
58 void TruncatedFinal(
byte *hash,
size_t size);
63 inline unsigned int r()
const {
return 200 - 2 * m_digestSize;}
66 unsigned int m_digestSize, m_counter;
73 template<
unsigned int T_DigestSize>
77 CRYPTOPP_CONSTANT(DIGESTSIZE = T_DigestSize)
78 CRYPTOPP_CONSTANT(BLOCKSIZE = 200 - 2 * DIGESTSIZE)
82 static std::string StaticAlgorithmName() {
return "Keccak-" +
IntToString(DIGESTSIZE * 8); }
83 unsigned int BlockSize()
const {
return BLOCKSIZE; }
unsigned int OptimalDataAlignment() const
Provides input and output data alignment for optimal performance.
Classes and functions for secure memory allocations.
Keccak-X message digest, template for more fine-grained typedefs.
Keccak(unsigned int digestSize)
Construct a Keccak.
#define CRYPTOPP_COMPILE_ASSERT(expr)
Compile time assertion.
Keccak-384 message digest.
Keccak message digest base class.
std::string IntToString(T value, unsigned int base=10)
Converts a value to a string.
unsigned int DigestSize() const
Provides the digest size of the hash.
Keccak-256 message digest.
unsigned int BlockSize() const
Provides the block size of the compression function.
Crypto++ library namespace.
Keccak-512 message digest.
std::string AlgorithmName() const
Provides the name of this algorithm.
Abstract base classes that provide a uniform interface to this library.