8#ifndef BOTAN_SP800_108_H_
9#define BOTAN_SP800_108_H_
24 std::string
name()
const override {
return "SP800-108-Counter(" + m_prf->name() +
")"; }
45 size_t kdf(uint8_t key[],
size_t key_len,
46 const uint8_t secret[],
size_t secret_len,
47 const uint8_t salt[],
size_t salt_len,
48 const uint8_t label[],
size_t label_len)
const override;
55 std::unique_ptr<MessageAuthenticationCode> m_prf;
64 std::string
name()
const override {
return "SP800-108-Feedback(" + m_prf->name() +
")"; }
85 size_t kdf(uint8_t key[],
size_t key_len,
86 const uint8_t secret[],
size_t secret_len,
87 const uint8_t salt[],
size_t salt_len,
88 const uint8_t label[],
size_t label_len)
const override;
92 std::unique_ptr<MessageAuthenticationCode> m_prf;
101 std::string
name()
const override {
return "SP800-108-Pipeline(" + m_prf->name() +
")"; }
122 size_t kdf(uint8_t key[],
size_t key_len,
123 const uint8_t secret[],
size_t secret_len,
124 const uint8_t salt[],
size_t salt_len,
125 const uint8_t label[],
size_t label_len)
const override;
130 std::unique_ptr<MessageAuthenticationCode> m_prf;
virtual size_t 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 =0
KDF * clone() const override
SP800_108_Counter(MessageAuthenticationCode *mac)
std::string name() const override
std::string name() const override
KDF * clone() const override
SP800_108_Feedback(MessageAuthenticationCode *mac)
SP800_108_Pipeline(MessageAuthenticationCode *mac)
KDF * clone() const override
std::string name() const override
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)