10 #define BOTAN_HKDF_H__
12 #include <botan/mac.h>
13 #include <botan/hash.h>
14 #include <botan/kdf.h>
31 std::string
name()
const override {
return "HKDF(" + m_prf->name() +
")"; }
33 size_t kdf(uint8_t key[],
size_t key_len,
34 const uint8_t secret[],
size_t secret_len,
35 const uint8_t salt[],
size_t salt_len,
36 const uint8_t label[],
size_t label_len)
const override;
39 std::unique_ptr<MessageAuthenticationCode> m_prf;
55 std::string
name()
const override {
return "HKDF-Extract(" + m_prf->name() +
")"; }
57 size_t kdf(uint8_t key[],
size_t key_len,
58 const uint8_t secret[],
size_t secret_len,
59 const uint8_t salt[],
size_t salt_len,
60 const uint8_t label[],
size_t label_len)
const override;
63 std::unique_ptr<MessageAuthenticationCode> m_prf;
79 std::string
name()
const override {
return "HKDF-Expand(" + m_prf->name() +
")"; }
81 size_t kdf(uint8_t key[],
size_t key_len,
82 const uint8_t secret[],
size_t secret_len,
83 const uint8_t salt[],
size_t salt_len,
84 const uint8_t label[],
size_t label_len)
const override;
87 std::unique_ptr<MessageAuthenticationCode> m_prf;
std::string name() const override
std::string name() const override
KDF * clone() const override
KDF * clone() const override
HKDF(MessageAuthenticationCode *prf)
HKDF_Expand(MessageAuthenticationCode *prf)