8 #ifndef BOTAN_SKEIN_512_H__
9 #define BOTAN_SKEIN_512_H__
11 #include <botan/hash.h>
12 #include <botan/threefish.h>
30 const std::string& personalization =
"");
36 std::string name()
const override;
37 void clear()
override;
42 SKEIN_PERSONALIZATION = 8,
43 SKEIN_PUBLIC_KEY = 12,
44 SKEIN_KEY_IDENTIFIER = 16,
50 void add_data(
const uint8_t input[],
size_t length)
override;
51 void final_result(uint8_t out[])
override;
53 void ubi_512(
const uint8_t msg[],
size_t msg_len);
56 void reset_tweak(type_code
type,
bool is_final);
58 std::string m_personalization;
61 std::unique_ptr<Threefish_512> m_threefish;
62 secure_vector<uint64_t> m_T;
63 secure_vector<uint8_t> m_buffer;
size_t hash_block_size() const override
size_t output_length() const override