digestpp 1.0
C++11 header-only message digest library
Loading...
Searching...
No Matches
Groestl

Groestl Algorithm More...

Typedefs

typedef hasher< detail::groestl_provider<> > digestpp::groestl
 Grøstl hash function.
 
template<size_t N>
using digestpp::static_size::groestl = hasher<detail::groestl_provider<N>>
 Grøstl hash function (static-size version)
 

Detailed Description

Groestl Algorithm

Typedef Documentation

◆ groestl [1/2]

Grøstl hash function.

SHA-3 competition finalist based on AES-like operations. Designed by Praveen Gauravaram, Lars Knudsen, Krystian Matusiewicz, Florian Mendel, Christian Rechberger, Martin Schläffer, and Søren S. Thomsen.

Grøstl uses two AES-like permutations.

SHA-3 finalist (2012) - did not win but remains a secure alternative.

Type:
Cryptographic hash function.
Output size:
8 - 512 bits
Default size:
none
Exceptions
std::runtime_errorif the requested digest size is not divisible by 8 (full bytes), or is not within the supported range
Example:
// Output a 256-bit Grøstl digest of a string
hasher.absorb("The quick brown fox jumps over the lazy dog");
std::cout << hasher.hexdigest() << '\n';
Main class template implementing the public API for hashing.
Definition hasher.hpp:38
std::string hexdigest() const
Return hex digest of absorbed data.
Definition hasher.hpp:372
hasher & absorb(const T *data, size_t len)
Absorbs bytes from a C-style pointer to character buffer.
Definition hasher.hpp:86
Example output:
8c7ad62eb26a21297bc39c2d7293b4bd4d3399fa8afab29e970471739e28b301
See also
hasher, digestpp::static_size::groestl

◆ groestl [2/2]

Grøstl hash function (static-size version)

Variant of Grøstl with output size specified as template parameter.

Type:
Cryptographic hash function.
Output size:
8 - 512 bits
Example:
// Output a 256-bit Grøstl digest of a string
hasher.absorb("The quick brown fox jumps over the lazy dog");
std::cout << hasher.hexdigest() << '\n';
Example output:
8c7ad62eb26a21297bc39c2d7293b4bd4d3399fa8afab29e970471739e28b301
See also
hasher, digestpp::groestl