8#ifndef BOTAN_PUBKEY_EMSA_H_
9#define BOTAN_PUBKEY_EMSA_H_
11#include <botan/types.h>
36 static std::unique_ptr<EMSA>
create(std::string_view algo_spec);
44 static std::unique_ptr<EMSA>
create_or_throw(std::string_view algo_spec);
51 virtual void update(
const uint8_t input[],
size_t length) = 0;
65 virtual std::vector<uint8_t>
encoding_of(std::span<const uint8_t> msg,
76 virtual bool verify(std::span<const uint8_t> encoding, std::span<const uint8_t> raw_hash,
size_t key_bits) = 0;
86 virtual std::string
name()
const = 0;
static std::unique_ptr< EMSA > create_or_throw(std::string_view algo_spec)
virtual bool verify(std::span< const uint8_t > encoding, std::span< const uint8_t > raw_hash, size_t key_bits)=0
static std::unique_ptr< EMSA > create(std::string_view algo_spec)
virtual std::vector< uint8_t > encoding_of(std::span< const uint8_t > msg, size_t output_bits, RandomNumberGenerator &rng)=0
virtual std::string hash_function() const =0
virtual std::string name() const =0
virtual std::vector< uint8_t > raw_data()=0
virtual void update(const uint8_t input[], size_t length)=0