|
digestpp 1.0
C++11 header-only message digest library
|
BLAKE2 Algorithms More...
BLAKE2 Algorithms
BLAKE2 Algorithms
| typedef hasher<detail::blake2_provider<uint64_t, detail::blake2_type::hash>, mixin::blake2_mixin> digestpp::blake2b |
BLAKE2b hash function.
Fast cryptographic hash function optimized for 64-bit platforms.
BLAKE2b deliberately reduces the number of rounds from 16 (BLAKE-512) to 12 rounds. The round reduction was based on the argument that BLAKE's original 16 rounds were overly conservative relative to known cryptanalysis. However, users should be aware this is a performance-vs-security trade-off, not a pure improvement. For maximum security margin, consider SHA-3 or original BLAKE.
Designed by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein.
Standardized as RFC 7693 (Informational, November 2015).
| std::runtime_error | if 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 hash randomizationset_personalization() - 16-byte string for domain separationset_key() - Up to 64-byte key for MAC mode (keyed hashing)See mixin::blake2_mixin for the description of optional parameters.
| using digestpp::static_size::blake2b = hasher<detail::blake2_provider<uint64_t, detail::blake2_type::hash, N>, mixin::blake2_mixin> |
BLAKE2b hash function (static-size version)
Variant of BLAKE2b with output size specified as template parameter.
Optional parameters:
set_salt() - 16-byte saltset_personalization() - 16-byte personalizationset_key() - Up to 64-byte keySee mixin::blake2_mixin for the description of optional parameters.
| typedef hasher<detail::blake2p_provider<uint64_t, detail::blake2_type::hash>, mixin::blake2_mixin> digestpp::blake2bp |
BLAKE2bp hash function.
Parallel version of BLAKE2b function.
| std::runtime_error | if 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 hash randomizationset_personalization() - 16-byte string for domain separationset_key() - Up to 64-byte key for MAC mode (keyed hashing)See mixin::blake2_mixin for the description of optional parameters.
| using digestpp::static_size::blake2bp = hasher<detail::blake2p_provider<uint64_t, detail::blake2_type::hash, N>, mixin::blake2_mixin> |
BLAKE2bp hash function (static-size version)
Variant of BLAKE2bp with output size specified as template parameter.
Optional parameters:
set_salt() - 16-byte saltset_personalization() - 16-byte personalizationset_key() - Up to 64-byte keySee 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.
Fast cryptographic hash function optimized for 8- to 32-bit platforms. Designed for environments where BLAKE2b's 64-bit operations are not optimal.
BLAKE2s reduces the number of rounds from 14 (BLAKE-256) to 10 rounds, The round reduction was based on the argument that BLAKE's original 16 rounds were overly conservative relative to known cryptanalysis. However, users should be aware this is a performance-vs-security trade-off, not a pure improvement. For maximum security margin, consider SHA-3 or original BLAKE.
Designed by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein.
Standardized as RFC 7693 (Informational, November 2015).
| std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
Optional parameters:
set_salt() - 8-byte salt for hash randomizationset_personalization() - 8-byte string for domain separationset_key() - Up to 32-byte key for MAC mode (keyed hashing)See mixin::blake2_mixin for the description of optional parameters.
| using digestpp::static_size::blake2s = hasher<detail::blake2_provider<uint32_t, detail::blake2_type::hash, N>, mixin::blake2_mixin> |
BLAKE2s hash function (static-size version)
Variant of BLAKE2s with output size specified as template parameter.
Optional parameters:
set_salt() - 8-byte saltset_personalization() - 8-byte personalizationset_key() - Up to 32-byte keySee mixin::blake2_mixin for the description of optional parameters.
| typedef hasher<detail::blake2p_provider<uint32_t, detail::blake2_type::hash>, mixin::blake2_mixin> digestpp::blake2sp |
BLAKE2sp hash function.
Parallel version of BLAKE2s function.
| std::runtime_error | if the requested digest size is not divisible by 8 (full bytes), or is not within the supported range |
Optional parameters:
set_salt() - 8-byte salt for hash randomizationset_personalization() - 8-byte string for domain separationset_key() - Up to 32-byte key for MAC mode (keyed hashing)See mixin::blake2_mixin for the description of optional parameters.
| using digestpp::static_size::blake2sp = hasher<detail::blake2p_provider<uint32_t, detail::blake2_type::hash, N>, mixin::blake2_mixin> |
BLAKE2sp hash function (static-size version)
Variant of BLAKE2sp with output size specified as template parameter.
Optional parameters:
set_salt() - 8-byte saltset_personalization() - 8-byte personalizationset_key() - Up to 32-byte keySee 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.
Extended output variant of BLAKE2b supporting arbitrary output lengths. Based on BLAKE2b with additional processing for outputs exceeding 64 bytes.
Use this variant when the required hash size is known in advance. For unknown output size (streaming output), use blake2xb_xof
BLAKE2xb outputs are DIFFERENT from BLAKE2b outputs for the same size. For example: blake2xb(512) ≠ blake2b(512)
| std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
Optional parameters:
set_salt() - 16-byte salt for hash randomizationset_personalization() - 16-byte string for domain separationset_key() - Up to 64-byte key for MAC modeSee mixin::blake2_mixin for the description of optional parameters.
| using digestpp::static_size::blake2xb = hasher<detail::blake2_provider<uint64_t, detail::blake2_type::x_hash, N>, mixin::blake2_mixin> |
BLAKE2xb hash function (static-size version)
Variant of BLAKE2xb with output size specified as template parameter.
Optional parameters:
set_salt() - 16-byte saltset_personalization() - 16-byte personalizationset_key() - Up to 64-byte keySee 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.
Extendable Output Function (XOF) mode of BLAKE2xb. Use when the required output length is not known in advance or when streaming output is needed.
In XOF mode, you can call squeeze() multiple times to generate arbitrary amounts of output. For fixed-length output known in advance, use blake2xb
Optional parameters:
set_salt() - 16-byte salt for hash randomizationset_personalization() - 16-byte string for domain separationset_key() - Up to 64-byte key for MAC modeSee 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.
Extended output variant of BLAKE2s supporting arbitrary output lengths.
Use this variant when the required hash size is known in advance. For unknown output size (streaming output), use blake2xs_xof
BLAKE2xs outputs are DIFFERENT from BLAKE2s outputs for the same size. For example: blake2xs(256) ≠ blake2s(256)
| std::runtime_error | if the requested digest size is not divisible by 8 (full bytes) |
Optional parameters:
set_salt() - 8-byte salt for hash randomizationset_personalization() - 8-byte string for domain separationset_key() - Up to 32-byte key for MAC modeSee mixin::blake2_mixin for the description of optional parameters.
| using digestpp::static_size::blake2xs = hasher<detail::blake2_provider<uint32_t, detail::blake2_type::x_hash, N>, mixin::blake2_mixin> |
BLAKE2xs hash function (static-size version)
Variant of BLAKE2xs with output size specified as template parameter.
Optional parameters:
set_salt() - 8-byte saltset_personalization() - 8-byte personalizationset_key() - Up to 32-byte keySee 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.
Extendable Output Function (XOF) mode of BLAKE2xs. 32-bit optimized version. Use when the required output length is not known in advance.
In XOF mode, you can call squeeze() multiple times to generate arbitrary amounts of output. For fixed-length output known in advance, use blake2xs
Optional parameters:
set_salt() - 8-byte salt for hash randomizationset_personalization() - 8-byte string for domain separationset_key() - Up to 32-byte key for MAC modeSee mixin::blake2_mixin for the description of optional parameters.