25 explicit HKDF(std::unique_ptr<MessageAuthenticationCode> prf) : m_prf(std::move(prf)) {}
27 std::unique_ptr<KDF>
new_object()
const override;
29 std::string
name()
const override;
31 void kdf(uint8_t key[],
33 const uint8_t secret[],
37 const uint8_t label[],
38 size_t label_len)
const override;
41 std::unique_ptr<MessageAuthenticationCode> m_prf;
52 explicit HKDF_Extract(std::unique_ptr<MessageAuthenticationCode> prf) : m_prf(std::move(prf)) {}
54 std::unique_ptr<KDF>
new_object()
const override;
56 std::string
name()
const override;
58 void kdf(uint8_t key[],
60 const uint8_t secret[],
64 const uint8_t label[],
65 size_t label_len)
const override;
68 std::unique_ptr<MessageAuthenticationCode> m_prf;
79 explicit HKDF_Expand(std::unique_ptr<MessageAuthenticationCode> prf) : m_prf(std::move(prf)) {}
81 std::unique_ptr<KDF>
new_object()
const override;
83 std::string
name()
const override;
85 void kdf(uint8_t key[],
87 const uint8_t secret[],
91 const uint8_t label[],
92 size_t label_len)
const override;
95 std::unique_ptr<MessageAuthenticationCode> m_prf;
110 const uint8_t secret[],
112 std::string_view label,
113 const uint8_t hash_val[],
std::string name() const override
std::unique_ptr< KDF > new_object() const override
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 override
HKDF_Expand(std::unique_ptr< MessageAuthenticationCode > prf)
std::string name() const override
std::unique_ptr< KDF > new_object() const override
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 override
HKDF(std::unique_ptr< MessageAuthenticationCode > prf)
int(* final)(unsigned char *, CTX *)
secure_vector< uint8_t > hkdf_expand_label(std::string_view hash_fn, const uint8_t secret[], size_t secret_len, std::string_view label, const uint8_t hash_val[], size_t hash_val_len, size_t length)
std::vector< T, secure_allocator< T > > secure_vector