8#ifndef BOTAN_AEAD_MODE_H_
9#define BOTAN_AEAD_MODE_H_
11#include <botan/cipher_mode.h>
33 static std::unique_ptr<AEAD_Mode> create(std::string_view algo,
35 std::string_view provider =
"");
44 static std::unique_ptr<AEAD_Mode> create_or_throw(std::string_view algo,
46 std::string_view provider =
"");
109 template <
typename Alloc>
111 void set_associated_data_vec(const std::vector<uint8_t, Alloc>& ad) {
112 set_associated_data(ad);
124 BOTAN_DEPRECATED(
"Use set_associated_data") void set_ad(std::span<const uint8_t> ad) { set_associated_data(ad); }
void set_associated_data(std::span< const uint8_t > ad)
virtual size_t maximum_associated_data_inputs() const
size_t default_nonce_length() const override
virtual void set_associated_data_n(size_t idx, std::span< const uint8_t > ad)=0
static std::unique_ptr< AEAD_Mode > create(std::string_view algo, Cipher_Dir direction, std::string_view provider="")
void set_associated_data(const uint8_t ad[], size_t ad_len)
~AEAD_Mode() override=default
virtual bool associated_data_requires_key() const
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_DEPRECATED(msg)
AEAD_Mode * get_aead(std::string_view name, Cipher_Dir direction)