digestpp
0.01
Experimental C++11 header-only message digest library.
|
digestpp namespace More...
Classes | |
class | hasher |
Main class template implementing the public API for hashing. More... | |
Typedefs | |
typedef hasher< detail::blake_provider, mixin::blake_mixin > | blake |
BLAKE hash function (SHA-3 finalist) More... | |
typedef hasher< detail::blake2_provider< uint64_t, detail::blake2_type::hash >, mixin::blake2_mixin > | blake2b |
BLAKE2b hash function. More... | |
typedef hasher< detail::blake2_provider< uint32_t, detail::blake2_type::hash >, mixin::blake2_mixin > | blake2s |
BLAKE2s hash function. More... | |
typedef hasher< detail::blake2_provider< uint64_t, detail::blake2_type::x_hash >, mixin::blake2_mixin > | blake2xb |
BLAKE2xb hash function. More... | |
typedef hasher< detail::blake2_provider< uint32_t, detail::blake2_type::x_hash >, mixin::blake2_mixin > | blake2xs |
BLAKE2xs hash function. More... | |
typedef hasher< detail::blake2_provider< uint64_t, detail::blake2_type::xof >, mixin::blake2_mixin > | blake2xb_xof |
BLAKE2xb in XOF mode. More... | |
typedef hasher< detail::blake2_provider< uint32_t, detail::blake2_type::xof >, mixin::blake2_mixin > | blake2xs_xof |
BLAKE2xs in XOF mode. More... | |
typedef hasher< detail::groestl_provider > | groestl |
Grøstl hash function. More... | |
typedef hasher< detail::jh_provider > | jh |
JH hash function. More... | |
typedef hasher< detail::k12m14_provider< 128 >, mixin::k12m14_mixin > | k12 |
KangarooTwelve function. More... | |
typedef hasher< detail::k12m14_provider< 256 >, mixin::k12m14_mixin > | m14 |
MarsupilamiFourteen function. More... | |
typedef hasher< detail::kmac_provider< 128, false >, mixin::kmac_mixin > | kmac128 |
KMAC128 in hash mode. More... | |
typedef hasher< detail::kmac_provider< 256, false >, mixin::kmac_mixin > | kmac256 |
KMAC256 in hash mode. More... | |
typedef hasher< detail::kmac_provider< 128, true >, mixin::kmac_mixin > | kmac128_xof |
KMAC128 in XOF mode (KMACXOF128) More... | |
typedef hasher< detail::kmac_provider< 256, true >, mixin::kmac_mixin > | kmac256_xof |
KMAC256 in XOF mode (KMACXOF256) More... | |
typedef hasher< detail::kupyna_provider > | kupyna |
Kupyna hash function. More... | |
typedef hasher< detail::md5_provider > | md5 |
MD5 hash function. More... | |
typedef hasher< detail::sha1_provider > | sha1 |
SHA-1 hash function. More... | |
typedef hasher< detail::sha2_provider< uint64_t > > | sha512 |
SHA-512 hash function. More... | |
typedef hasher< detail::sha2_provider< uint64_t, 384 > > | sha384 |
SHA-384 hash function. More... | |
typedef hasher< detail::sha2_provider< uint32_t, 256 > > | sha256 |
SHA-256 hash function. More... | |
typedef hasher< detail::sha2_provider< uint32_t, 224 > > | sha224 |
SHA-224 hash function. More... | |
typedef hasher< detail::sha3_provider > | sha3 |
SHA-3 hash function. More... | |
typedef hasher< detail::shake_provider< 128, 24 > > | shake128 |
SHAKE128 function. More... | |
typedef hasher< detail::shake_provider< 256, 24 > > | shake256 |
SHAKE256 function. More... | |
typedef hasher< detail::shake_provider< 128, 24 >, mixin::cshake_mixin > | cshake128 |
Customizable cSHAKE128 function. More... | |
typedef hasher< detail::shake_provider< 256, 24 >, mixin::cshake_mixin > | cshake256 |
Customizable cSHAKE256 function. More... | |
typedef hasher< detail::skein_provider< 1024, false >, mixin::skein_mixin > | skein1024 |
Skein1024 hash function. More... | |
typedef hasher< detail::skein_provider< 512, false >, mixin::skein_mixin > | skein512 |
Skein512 hash function. More... | |
typedef hasher< detail::skein_provider< 256, false >, mixin::skein_mixin > | skein256 |
Skein256 hash function. More... | |
typedef hasher< detail::skein_provider< 1024, true >, mixin::skein_mixin > | skein1024_xof |
Skein1024 in XOF mode. More... | |
typedef hasher< detail::skein_provider< 512, true >, mixin::skein_mixin > | skein512_xof |
Skein512 in XOF mode. More... | |
typedef hasher< detail::skein_provider< 256, true >, mixin::skein_mixin > | skein256_xof |
Skein256 in XOF mode. More... | |
typedef hasher< detail::sm3_provider > | sm3 |
SM3 hash function. More... | |
typedef hasher< detail::streebog_provider > | streebog |
Streebog hash function. More... | |
typedef hasher< detail::whirlpool_provider > | whirlpool |
Whirlpool hash function. More... | |
digestpp namespace
typedef hasher<detail::blake_provider, mixin::blake_mixin> digestpp::blake |
BLAKE hash function (SHA-3 finalist)
std::runtime_error | if the requested digest size is not supported |
See mixin::blake_mixin for the description of optional parameters.
typedef hasher<detail::blake2_provider<uint64_t, detail::blake2_type::hash>, mixin::blake2_mixin> digestpp::blake2b |
BLAKE2b hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
See mixin::blake2_mixin for the description of optional parameters.
typedef hasher<detail::blake2_provider<uint32_t, detail::blake2_type::hash>, mixin::blake2_mixin> digestpp::blake2s |
BLAKE2s hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
See mixin::blake2_mixin for the description of optional parameters.
typedef hasher<detail::blake2_provider<uint64_t, detail::blake2_type::x_hash>, mixin::blake2_mixin> digestpp::blake2xb |
BLAKE2xb hash function.
Use this variant when the required hash size is known in advance. Otherwise, use blake2xb_xof
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::blake2_mixin for the description of optional parameters.
typedef hasher<detail::blake2_provider<uint64_t, detail::blake2_type::xof>, mixin::blake2_mixin> digestpp::blake2xb_xof |
BLAKE2xb in XOF mode.
Use this variant when the required hash size is not known in advance. Otherwise, use blake2xb
See mixin::blake2_mixin for the description of optional parameters.
typedef hasher<detail::blake2_provider<uint32_t, detail::blake2_type::x_hash>, mixin::blake2_mixin> digestpp::blake2xs |
BLAKE2xs hash function.
Use this variant when the required hash size is known in advance. Otherwise, use blake2xs_xof
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::blake2_mixin for the description of optional parameters.
typedef hasher<detail::blake2_provider<uint32_t, detail::blake2_type::xof>, mixin::blake2_mixin> digestpp::blake2xs_xof |
BLAKE2xs in XOF mode.
Use this variant when the required hash size is not known in advance. Otherwise, use blake2xs
See mixin::blake2_mixin for the description of optional parameters.
typedef hasher<detail::shake_provider<128, 24>, mixin::cshake_mixin> digestpp::cshake128 |
Customizable cSHAKE128 function.
Extendable output function similar to SHAKE128 but with possibility to use a customization string. When used without a customization string, the output is identical to shake128.
See mixin::cshake_mixin for the description of optional parameters.
typedef hasher<detail::shake_provider<256, 24>, mixin::cshake_mixin> digestpp::cshake256 |
Customizable cSHAKE256 function.
Extendable output function similar to SHAKE256 but with possibility to use a customization string. When used without a customization string, the output is identical to shake256.
See mixin::cshake_mixin for the description of optional parameters.
typedef hasher<detail::groestl_provider> digestpp::groestl |
Grøstl hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
typedef hasher<detail::jh_provider> digestpp::jh |
JH hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
typedef hasher<detail::k12m14_provider<128>, mixin::k12m14_mixin> digestpp::k12 |
KangarooTwelve function.
Extendable output function similar to SHAKE128 but with reduced number of round.
See mixin::k12m14_mixin for the description of optional parameters.
typedef hasher<detail::kmac_provider<128, false>, mixin::kmac_mixin> digestpp::kmac128 |
KMAC128 in hash mode.
Use this variant when the required hash size is known in advance. Otherwise, use kmac128_xof. While primary usage of KMAC is message authentication, it can also be used without a key as a regular hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::kmac_mixin for the description of optional parameters.
typedef hasher<detail::kmac_provider<128, true>, mixin::kmac_mixin> digestpp::kmac128_xof |
KMAC128 in XOF mode (KMACXOF128)
Use this variant when the required hash size is not known in advance. Otherwise, use kmac128. This hasher can also be used without a key, but there are no advantages over cshake128 in this case.
See mixin::kmac_mixin for the description of optional parameters.
typedef hasher<detail::kmac_provider<256, false>, mixin::kmac_mixin> digestpp::kmac256 |
KMAC256 in hash mode.
Use this variant when the required hash size is known in advance. Otherwise, use kmac256_xof. While primary usage of KMAC is message authentication, it can also be used without a key as a regular hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::kmac_mixin for the description of optional parameters.
typedef hasher<detail::kmac_provider<256, true>, mixin::kmac_mixin> digestpp::kmac256_xof |
KMAC256 in XOF mode (KMACXOF256)
Use this variant when the required hash size is not known in advance. Otherwise, use kmac256. This hasher can also be used without a key, but there are no advantages over cshake256 in this case.
See mixin::kmac_mixin for the description of optional parameters.
typedef hasher<detail::kupyna_provider> digestpp::kupyna |
Kupyna hash function.
std::runtime_error | if the requested digest size is not supported |
typedef hasher<detail::k12m14_provider<256>, mixin::k12m14_mixin> digestpp::m14 |
MarsupilamiFourteen function.
Extendable output function similar to KangarooTwelve, but providing 256-bit security.
See mixin::k12m14_mixin for the description of optional parameters.
typedef hasher<detail::md5_provider> digestpp::md5 |
MD5 hash function.
Note that MD5 hash function is considered insecure and is not recommended for new applications.
typedef hasher<detail::sha1_provider> digestpp::sha1 |
SHA-1 hash function.
Note that SHA-1 hash function is considered insecure and is not recommended for new applications.
typedef hasher<detail::sha2_provider<uint32_t, 224> > digestpp::sha224 |
SHA-224 hash function.
typedef hasher<detail::sha2_provider<uint32_t, 256> > digestpp::sha256 |
SHA-256 hash function.
Note that this function is slower than SHA-512/256 on 64-bit systems.
typedef hasher<detail::sha3_provider> digestpp::sha3 |
SHA-3 hash function.
std::runtime_error | if the requested digest size is not supported |
typedef hasher<detail::sha2_provider<uint64_t, 384> > digestpp::sha384 |
SHA-384 hash function.
typedef hasher<detail::sha2_provider<uint64_t> > digestpp::sha512 |
SHA-512 hash function.
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
typedef hasher<detail::shake_provider<128, 24> > digestpp::shake128 |
SHAKE128 function.
typedef hasher<detail::shake_provider<256, 24> > digestpp::shake256 |
SHAKE256 function.
typedef hasher<detail::skein_provider<1024, false>, mixin::skein_mixin> digestpp::skein1024 |
Skein1024 hash function.
Use this variant when the required hash size is known in advance. Otherwise, use skein1024_xof
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::skein_mixin for the description of optional parameters.
typedef hasher<detail::skein_provider<1024, true>, mixin::skein_mixin> digestpp::skein1024_xof |
Skein1024 in XOF mode.
Use this variant when the required hash size is not known in advance. Otherwise, use skein1024
See mixin::skein_mixin for the description of optional parameters.
typedef hasher<detail::skein_provider<256, false>, mixin::skein_mixin> digestpp::skein256 |
Skein256 hash function.
Use this variant when the required hash size is known in advance. Otherwise, use skein256_xof
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::skein_mixin for the description of optional parameters.
typedef hasher<detail::skein_provider<256, true>, mixin::skein_mixin> digestpp::skein256_xof |
Skein256 in XOF mode.
Use this variant when the required hash size is not known in advance. Otherwise, use skein256
See mixin::skein_mixin for the description of optional parameters.
typedef hasher<detail::skein_provider<512, false>, mixin::skein_mixin> digestpp::skein512 |
Skein512 hash function.
Use this variant when the required hash size is known in advance. Otherwise, use skein512_xof
std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
See mixin::skein_mixin for the description of optional parameters.
typedef hasher<detail::skein_provider<512, true>, mixin::skein_mixin> digestpp::skein512_xof |
Skein512 in XOF mode.
Use this variant when the required hash size is not known in advance. Otherwise, use skein512
See mixin::skein_mixin for the description of optional parameters.
typedef hasher<detail::sm3_provider> digestpp::sm3 |
SM3 hash function.
typedef hasher<detail::streebog_provider> digestpp::streebog |
Streebog hash function.
std::runtime_error | if the requested digest size is not supported |
typedef hasher<detail::whirlpool_provider> digestpp::whirlpool |
Whirlpool hash function.