|
Botan 3.9.0
Crypto and TLS for C&
|
#include <sp800_56c_one_step.h>
Public Member Functions | |
| KDF * | clone () const |
| template<concepts::resizable_byte_buffer T = secure_vector<uint8_t>> | |
| T | derive_key (size_t key_len, const uint8_t secret[], size_t secret_len, const uint8_t salt[], size_t salt_len, const uint8_t label[]=nullptr, size_t label_len=0) const |
| template<concepts::resizable_byte_buffer T = secure_vector<uint8_t>> | |
| T | derive_key (size_t key_len, const uint8_t secret[], size_t secret_len, std::string_view salt="", std::string_view label="") const |
| template<concepts::resizable_byte_buffer T = secure_vector<uint8_t>> | |
| T | derive_key (size_t key_len, std::span< const uint8_t > secret, const uint8_t salt[], size_t salt_len, std::string_view label="") const |
| template<concepts::resizable_byte_buffer T = secure_vector<uint8_t>> | |
| T | derive_key (size_t key_len, std::span< const uint8_t > secret, std::span< const uint8_t > salt, std::span< const uint8_t > label) const |
| template<concepts::resizable_byte_buffer T = secure_vector<uint8_t>> | |
| T | derive_key (size_t key_len, std::span< const uint8_t > secret, std::string_view salt="", std::string_view label="") const |
| template<size_t key_len> | |
| std::array< uint8_t, key_len > | derive_key (std::span< const uint8_t > secret, std::span< const uint8_t > salt={}, std::span< const uint8_t > label={}) |
| template<size_t key_len> | |
| std::array< uint8_t, key_len > | derive_key (std::span< const uint8_t > secret, std::span< const uint8_t > salt={}, std::string_view label="") |
| template<size_t key_len> | |
| std::array< uint8_t, key_len > | derive_key (std::span< const uint8_t > secret, std::string_view salt="", std::string_view label="") |
| void | derive_key (std::span< uint8_t > key, std::span< const uint8_t > secret, std::span< const uint8_t > salt, std::span< const uint8_t > label) const |
| void | kdf (uint8_t key[], size_t key_len, const uint8_t secret[], size_t secret_len, const uint8_t salt[], size_t salt_len, const uint8_t label[], size_t label_len) const |
| std::string | name () const override |
| std::unique_ptr< KDF > | new_object () const override |
Static Public Member Functions | |
| static std::unique_ptr< KDF > | create (std::string_view algo_spec, std::string_view provider="") |
| static std::unique_ptr< KDF > | create_or_throw (std::string_view algo_spec, std::string_view provider="") |
| static std::vector< std::string > | providers (std::string_view algo_spec) |
NIST SP800-56Cr2 One-Step KDF using KMAC-256
Definition at line 135 of file sp800_56c_one_step.h.
|
inlineinherited |
Definition at line 242 of file kdf.h.
References new_object().
|
staticinherited |
Create an instance based on a name If provider is empty then best available is chosen.
| algo_spec | algorithm name |
| provider | provider implementation to choose |
Definition at line 73 of file kdf.cpp.
References Botan::SCAN_Name::algo_name(), Botan::SCAN_Name::arg(), Botan::SCAN_Name::arg_as_integer(), Botan::SCAN_Name::arg_count(), Botan::SCAN_Name::arg_count_between(), BOTAN_UNUSED, Botan::HashFunction::create(), Botan::MessageAuthenticationCode::create(), and Botan::fmt().
Referenced by create_or_throw(), and ~KDF().
|
staticinherited |
Create an instance based on a name, or throw if the algo/provider combination cannot be found. If provider is empty then best available is chosen.
Definition at line 204 of file kdf.cpp.
References create(), and kdf().
Referenced by botan_kdf(), Botan::ECIES_KA_Operation::derive_secret(), Botan::get_kdf(), Botan::PK_Ops::KEM_Decryption_with_KDF::KEM_Decryption_with_KDF(), Botan::PK_Ops::KEM_Encryption_with_KDF::KEM_Encryption_with_KDF(), Botan::PK_Ops::Key_Agreement_with_KDF::Key_Agreement_with_KDF(), Botan::TLS::Handshake_State::protocol_specific_prf(), and ~KDF().
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| secret_len | size of secret in bytes |
| salt | a diversifier |
| salt_len | size of salt in bytes |
| label | purpose for the derived keying material |
| label_len | size of label in bytes |
Definition at line 91 of file kdf.h.
References derive_key().
Referenced by derive_key(), derive_key(), derive_key(), derive_key(), derive_key(), Botan::hkdf_expand_label(), and kdf().
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| secret_len | size of secret in bytes |
| salt | a diversifier |
| label | purpose for the derived keying material |
Definition at line 179 of file kdf.h.
References derive_key().
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
| salt_len | size of salt in bytes |
| label | purpose for the derived keying material |
Definition at line 160 of file kdf.h.
References derive_key().
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
| label | purpose for the derived keying material |
Definition at line 140 of file kdf.h.
References perform_kdf().
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
| label | purpose for the derived keying material |
Definition at line 110 of file kdf.h.
References derive_key().
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
| label | purpose for the derived keying material |
Definition at line 196 of file kdf.h.
|
inlineinherited |
|
inlineinherited |
Derive a key
| key_len | the desired output length in bytes |
| secret | the secret input |
| salt | a diversifier |
| label | purpose for the derived keying material |
Definition at line 228 of file kdf.h.
References derive_key().
|
inlineinherited |
Derive a key
| key | the output buffer for the to-be-derived key |
| secret | the secret input |
| salt | a diversifier |
| label | purpose for the derived keying material |
Definition at line 124 of file kdf.h.
References perform_kdf().
|
inlineinherited |
Derive a key
| key | buffer holding the derived key, must be of length key_len |
| key_len | the desired output length in bytes |
| secret | the secret input |
| secret_len | size of secret in bytes |
| salt | a diversifier |
| salt_len | size of salt in bytes |
| label | purpose for the derived keying material |
| label_len | size of label in bytes |
Definition at line 67 of file kdf.h.
References derive_key(), and kdf().
Referenced by create_or_throw(), and kdf().
|
inlineoverridevirtual |
Implements Botan::KDF.
Definition at line 137 of file sp800_56c_one_step.h.
|
inlineoverridevirtual |
Implements Botan::KDF.
Definition at line 139 of file sp800_56c_one_step.h.
|
staticinherited |
Definition at line 211 of file kdf.cpp.
References Botan::probe_providers_of().
Referenced by ~KDF().