8#ifndef BOTAN_WHIRLPOOL_H_
9#define BOTAN_WHIRLPOOL_H_
11#include <botan/mdx_hash.h>
23 std::string
name()
const override {
return "Whirlpool"; }
26 std::unique_ptr<HashFunction>
copy_state()
const override;
28 void clear()
override;
33 void compress_n(
const uint8_t[],
size_t blocks)
override;
36 static const uint64_t C0[256];
37 static const uint64_t C1[256];
38 static const uint64_t C2[256];
39 static const uint64_t C3[256];
40 static const uint64_t C4[256];
41 static const uint64_t C5[256];
42 static const uint64_t C6[256];
43 static const uint64_t C7[256];
virtual std::unique_ptr< HashFunction > copy_state() const =0
virtual void compress_n(const uint8_t blocks[], size_t block_n)=0
virtual void copy_out(uint8_t buffer[])=0
HashFunction * clone() const override
size_t output_length() const override
std::string name() 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