30 Skein_512(
size_t output_bits = 512, std::string_view personalization =
"");
36 std::unique_ptr<HashFunction>
new_object()
const override;
37 std::unique_ptr<HashFunction>
copy_state()
const override;
38 std::string
name()
const override;
39 void clear()
override;
45 SKEIN_PERSONALIZATION = 8,
46 SKEIN_PUBLIC_KEY = 12,
47 SKEIN_KEY_IDENTIFIER = 16,
53 void add_data(std::span<const uint8_t> input)
override;
54 void final_result(std::span<uint8_t> out)
override;
56 void ubi_512(
const uint8_t msg[],
size_t msg_len);
59 void reset_tweak(type_code type,
bool is_final);
61 std::string m_personalization;
64 std::unique_ptr<Threefish_512> m_threefish;
66 AlignmentBuffer<uint8_t, 64, AlignmentBufferFinalBlock::must_be_deferred> m_buffer;