9#ifndef BOTAN_KYBER_SYMMETRIC_PRIMITIVES_H_
10#define BOTAN_KYBER_SYMMETRIC_PRIMITIVES_H_
12#include <botan/hash.h>
13#include <botan/secmem.h>
32 virtual std::unique_ptr<HashFunction>
G()
const = 0;
33 virtual std::unique_ptr<HashFunction>
H()
const = 0;
34 virtual std::unique_ptr<HashFunction>
KDF()
const = 0;
36 virtual Botan::XOF&
XOF(std::span<const uint8_t> seed, std::tuple<uint8_t, uint8_t> matrix_position)
const = 0;
virtual ~Kyber_Symmetric_Primitives()=default
virtual secure_vector< uint8_t > PRF(std::span< const uint8_t > seed, uint8_t nonce, size_t outlen) const =0
virtual Botan::XOF & XOF(std::span< const uint8_t > seed, std::tuple< uint8_t, uint8_t > matrix_position) const =0
virtual std::unique_ptr< HashFunction > KDF() const =0
virtual std::unique_ptr< HashFunction > H() const =0
virtual std::unique_ptr< HashFunction > G() const =0
std::vector< T, secure_allocator< T > > secure_vector