8#ifndef BOTAN_SHAKE_HASH_H_
9#define BOTAN_SHAKE_HASH_H_
11#include <botan/hash.h>
12#include <botan/secmem.h>
36 std::unique_ptr<HashFunction>
copy_state()
const override;
37 std::string
name()
const override;
38 void clear()
override;
41 void add_data(
const uint8_t input[],
size_t length)
override;
42 void final_result(uint8_t out[])
override;
44 static const size_t SHAKE_128_BITRATE = 1600 - 256;
68 std::unique_ptr<HashFunction>
copy_state()
const override;
69 std::string
name()
const override;
70 void clear()
override;
73 void add_data(
const uint8_t input[],
size_t length)
override;
74 void final_result(uint8_t out[])
override;
76 static const size_t SHAKE_256_BITRATE = 1600 - 512;
virtual HashFunction * clone() const =0
virtual std::unique_ptr< HashFunction > copy_state() const =0
virtual std::string name() const =0
size_t hash_block_size() const override
size_t output_length() const override
size_t output_length() const override
size_t hash_block_size() const override
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