8#ifndef BOTAN_BLAKE2B_H_
9#define BOTAN_BLAKE2B_H_
11#include <botan/hash.h>
12#include <botan/sym_algo.h>
13#include <botan/internal/alignment_buffer.h>
32 explicit BLAKE2b(
size_t output_bits = 512);
42 std::unique_ptr<HashFunction>
new_object()
const override;
43 std::string
name()
const override;
44 void clear()
override;
47 std::unique_ptr<HashFunction>
copy_state()
const override;
52 void key_schedule(std::span<const uint8_t> key)
override;
54 void add_data(std::span<const uint8_t> input)
override;
59 void compress(
const uint8_t* data,
size_t blocks, uint64_t increment);
61 const size_t m_output_bits;
BLAKE2b(size_t output_bits=512)
Key_Length_Specification key_spec() const override
void key_schedule(std::span< const uint8_t > key) override
size_t output_length() const override
std::unique_ptr< HashFunction > new_object() const override
size_t hash_block_size() const override
std::string name() const override
bool has_keying_material() const override
void add_data(std::span< const uint8_t > input) override
std::unique_ptr< HashFunction > copy_state() const override
void final_result(std::span< uint8_t > out) override
int(* final)(unsigned char *, CTX *)
constexpr size_t BLAKE2B_BLOCKBYTES
std::vector< T, secure_allocator< T > > secure_vector