7#ifndef BOTAN_SIGNATURE_PADDING_SCHEME_H_
8#define BOTAN_SIGNATURE_PADDING_SCHEME_H_
10#include <botan/types.h>
35 static std::unique_ptr<SignaturePaddingScheme>
create(std::string_view algo_spec);
43 static std::unique_ptr<SignaturePaddingScheme>
create_or_throw(std::string_view algo_spec);
50 virtual void update(
const uint8_t input[],
size_t length) = 0;
64 virtual std::vector<uint8_t>
encoding_of(std::span<const uint8_t> msg,
75 virtual bool verify(std::span<const uint8_t> encoding, std::span<const uint8_t> raw_hash,
size_t key_bits) = 0;
85 virtual std::string
name()
const = 0;
virtual std::string hash_function() const =0
virtual std::vector< uint8_t > encoding_of(std::span< const uint8_t > msg, size_t output_bits, RandomNumberGenerator &rng)=0
static std::unique_ptr< SignaturePaddingScheme > create(std::string_view algo_spec)
virtual std::vector< uint8_t > raw_data()=0
virtual ~SignaturePaddingScheme()=default
virtual std::string name() const =0
virtual void update(const uint8_t input[], size_t length)=0
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< SignaturePaddingScheme > create_or_throw(std::string_view algo_spec)