8#ifndef BOTAN_STREEBOG_H_
9#define BOTAN_STREEBOG_H_
11#include <botan/hash.h>
13#include <botan/internal/alignment_buffer.h>
25 std::unique_ptr<HashFunction>
new_object()
const override {
return std::make_unique<Streebog>(m_output_bits); }
27 void clear()
override;
28 std::string
name()
const override;
32 std::unique_ptr<HashFunction>
copy_state()
const override;
34 explicit Streebog(
size_t output_bits);
37 void add_data(std::span<const uint8_t> input)
override;
40 void compress(
const uint8_t input[],
bool lastblock =
false);
42 void compress_64(
const uint64_t input[],
bool lastblock =
false);
45 const size_t m_output_bits;
void compress(const uint8_t input[], bool lastblock=false)
void add_data(std::span< const uint8_t > input) override
size_t output_length() const override
std::unique_ptr< HashFunction > new_object() const override
void compress_64(const uint64_t input[], bool lastblock=false)
std::unique_ptr< HashFunction > copy_state() const override
void final_result(std::span< uint8_t > out) override
Streebog(size_t output_bits)
std::string name() const override
size_t hash_block_size() const override
int(* final)(unsigned char *, CTX *)
std::vector< T, secure_allocator< T > > secure_vector