8#ifndef BOTAN_ISO9796_H_
9#define BOTAN_ISO9796_H_
11#include <botan/emsa.h>
12#include <botan/hash.h>
29 m_SALT_SIZE(
hash->output_length()) {}
41 std::string
name()
const override;
43 void update(
const uint8_t input[],
size_t length)
override;
53 size_t key_bits)
override;
55 std::unique_ptr<HashFunction> m_hash;
76 std::string
name()
const override;
78 void update(
const uint8_t input[],
size_t length)
override;
88 size_t key_bits)
override;
90 std::unique_ptr<HashFunction> m_hash;
virtual secure_vector< uint8_t > encoding_of(const secure_vector< uint8_t > &msg, size_t output_bits, RandomNumberGenerator &rng)=0
virtual bool verify(const secure_vector< uint8_t > &coded, const secure_vector< uint8_t > &raw, size_t key_bits)=0
virtual secure_vector< uint8_t > raw_data()=0
virtual std::string name() const =0
virtual void update(const uint8_t input[], size_t length)=0
ISO_9796_DS2(HashFunction *hash, bool implicit=false)
ISO_9796_DS2(HashFunction *hash, bool implicit, size_t salt_size)
ISO_9796_DS3(HashFunction *hash, bool implicit=false)
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
std::vector< T, secure_allocator< T > > secure_vector