8#ifndef BOTAN_PUBKEY_EMSA_H_
9#define BOTAN_PUBKEY_EMSA_H_
11#include <botan/secmem.h>
16class RandomNumberGenerator;
33 static std::unique_ptr<EMSA> create(std::string_view algo_spec);
41 static std::unique_ptr<EMSA> create_or_throw(std::string_view algo_spec);
48 virtual void update(
const uint8_t input[],
size_t length) = 0;
62 virtual std::vector<uint8_t>
encoding_of(
const std::vector<uint8_t>& msg,
73 virtual bool verify(
const std::vector<uint8_t>& coded,
const std::vector<uint8_t>& raw,
size_t key_bits) = 0;
83 virtual std::string
name()
const = 0;
virtual std::string hash_function() const =0
virtual std::string name() const =0
virtual std::vector< uint8_t > encoding_of(const std::vector< uint8_t > &msg, size_t output_bits, RandomNumberGenerator &rng)=0
virtual bool verify(const std::vector< uint8_t > &coded, const std::vector< uint8_t > &raw, size_t key_bits)=0
virtual std::vector< uint8_t > raw_data()=0
virtual void update(const uint8_t input[], size_t length)=0