|
digestpp 1.0
C++11 header-only message digest library
|
Streebog Algorithm More...
Typedefs | |
| typedef hasher< detail::streebog_provider<> > | digestpp::streebog |
| Streebog hash function. | |
| template<size_t N> | |
| using | digestpp::static_size::streebog = hasher<detail::streebog_provider<N>> |
| Streebog hash function (static-size version) | |
Streebog Algorithm
| using digestpp::static_size::streebog = hasher<detail::streebog_provider<N>> |
Streebog hash function (static-size version)
Variant of Streebog with output size specified as template parameter.
In 2019, cryptographer Léo Perrin (INRIA) discovered that Streebog's S-box has a hidden mathematical structure that was not disclosed by its designers [1][2]. Key concerns:
At IETF CFRG Meeting 105, Perrin stated: "the designers of these algorithms have provided misleading information" and recommended that "these algorithms cannot be trusted and should be deprecated" [3].
References:
| typedef hasher<detail::streebog_provider<> > digestpp::streebog |
Streebog hash function.
Russian national standard hash function (GOST R 34.11-2012).
Designed by the Russian Federal Security Service (FSB) and CryptoPro. Streebog is the successor to GOST R 34.11-94 and is mandatory for use in Russian government digital signature systems.
Based on a Merkle-Damgård construction with an AES-like compression function. The algorithm uses a large 512-bit block size and S-boxes derived from the Kuznyechik block cipher.
Standardized as RFC 6986 (Informational, August 2013). Also in ISO/IEC 10118-3:2018.
In 2019, cryptographer Léo Perrin (INRIA) discovered that Streebog's S-box has a hidden mathematical structure that was not disclosed by its designers [1][2]. Key concerns:
At IETF CFRG Meeting 105, Perrin stated: "the designers of these algorithms have provided misleading information" and recommended that "these algorithms cannot be trusted and should be deprecated" [3].
References:
| std::runtime_error | if the requested digest size is not supported |