9 #ifndef BOTAN_SP800_56A_H_
10 #define BOTAN_SP800_56A_H_
12 #include <botan/kdf.h>
13 #include <botan/hash.h>
14 #include <botan/mac.h>
27 std::string
name()
const override {
return "SP800-56A(" +
m_hash->name() +
")"; }
48 size_t kdf(uint8_t key[],
size_t key_len,
49 const uint8_t secret[],
size_t secret_len,
50 const uint8_t salt[],
size_t salt_len,
51 const uint8_t label[],
size_t label_len)
const override;
58 std::unique_ptr<HashFunction>
m_hash;
67 std::string
name()
const override {
return "SP800-56A(" + m_mac->name() +
")"; }
88 size_t kdf(uint8_t key[],
size_t key_len,
89 const uint8_t secret[],
size_t secret_len,
90 const uint8_t salt[],
size_t salt_len,
91 const uint8_t label[],
size_t label_len)
const override;
98 std::unique_ptr<MessageAuthenticationCode> m_mac;
SP800_56A_Hash(HashFunction *hash)
std::string name() const override
KDF * clone() const override
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
std::string name() const override
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
std::unique_ptr< HashFunction > m_hash
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)