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

ECHO Algorithm More...

Typedefs

typedef hasher< detail::echo_provider<>, mixin::echo_mixindigestpp::echo
 Echo hash function.
 
template<size_t N>
using digestpp::static_size::echo = hasher<detail::echo_provider<N>, mixin::echo_mixin>
 Echo hash function (static-size version)
 

Detailed Description

ECHO Algorithm

Typedef Documentation

◆ echo [1/2]

Echo hash function.

SHA-3 competition candidate based on AES-like operations. Designed by Ryad Benadjila, Olivier Billet, Henri Gilbert, Gilles Macario-Rat, Thomas Peyrin, Matt Robshaw, and Yannick Seurin.

Echo uses AES-like components in a wide-pipe construction and supports salted hashing for additional security in specific scenarios.

SHA-3 candidate (second round).

Type:
Cryptographic hash function.
Output size:
8 - 512 bits
Default size:
none (must be specified)
Exceptions
std::runtime_errorif the requested digest size is not divisible by 8 (full bytes), or is not within the supported range

Optional parameters:

  • set_salt() - 16-byte salt for randomized hashing
Optional parameters:
salt

See mixin::echo_mixin for the description of optional parameters.

Example:
// Output a 256-bit Echo 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:
3c3c10b84e818cbddfd71e1aefc6cb9cd7fd1b84acb5765813e716734a97d422
See also
hasher, digestpp::static_size::echo

◆ echo [2/2]

Echo hash function (static-size version)

Variant of Echo with output size specified as template parameter.

Type:
Cryptographic hash function.
Output size:
8 - 512 bits

Optional parameters:

  • set_salt() - 16-byte salt for randomized hashing
Optional parameters:
salt

See mixin::echo_mixin for the description of optional parameters.

Example:
// Output a 256-bit Echo digest of a string
hasher.absorb("The quick brown fox jumps over the lazy dog");
std::cout << hasher.hexdigest() << '\n';
Example output:
3c3c10b84e818cbddfd71e1aefc6cb9cd7fd1b84acb5765813e716734a97d422
See also
hasher, groestl, digestpp::echo