8#ifndef BOTAN_EMSA_PKCS1_H_
9#define BOTAN_EMSA_PKCS1_H_
11#include <botan/hash.h>
12#include <botan/internal/emsa.h>
28 void update(
const uint8_t[],
size_t)
override;
30 std::vector<uint8_t>
raw_data()
override;
34 bool verify(
const std::vector<uint8_t>&,
const std::vector<uint8_t>&,
size_t)
override;
36 std::string
name()
const override {
return "EMSA3(" + m_hash->name() +
")"; }
41 std::unique_ptr<HashFunction> m_hash;
42 std::vector<uint8_t> m_hash_id;
52 void update(
const uint8_t[],
size_t)
override;
54 std::vector<uint8_t>
raw_data()
override;
58 bool verify(
const std::vector<uint8_t>&,
const std::vector<uint8_t>&,
size_t)
override;
70 std::string
name()
const override {
71 if(m_hash_name.empty()) {
74 return "EMSA3(Raw," + m_hash_name +
")";
79 size_t m_hash_output_len = 0;
80 std::string m_hash_name;
81 std::vector<uint8_t> m_hash_id;
82 std::vector<uint8_t> m_message;
std::vector< uint8_t > encoding_of(const std::vector< uint8_t > &, size_t, RandomNumberGenerator &rng) override
std::string name() const override
std::vector< uint8_t > raw_data() override
bool verify(const std::vector< uint8_t > &, const std::vector< uint8_t > &, size_t) override
std::string hash_function() const override
std::string name() const override
std::vector< uint8_t > raw_data() override
EMSA_PKCS1v15(std::unique_ptr< HashFunction > hash)
bool verify(const std::vector< uint8_t > &, const std::vector< uint8_t > &, size_t) override
std::string hash_function() const override
std::vector< uint8_t > encoding_of(const std::vector< uint8_t > &, size_t, RandomNumberGenerator &rng) override
int(* update)(CTX *, const void *, CC_LONG len)
int(* final)(unsigned char *, CTX *)