8 #ifndef BOTAN_THREEFISH_H__
9 #define BOTAN_THREEFISH_H__
11 #include <botan/block_cipher.h>
21 void encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
22 void decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
24 void set_tweak(
const uint8_t tweak[],
size_t len);
26 void clear()
override;
27 std::string provider()
const override;
28 std::string
name()
const override {
return "Threefish-512"; }
35 #if defined(BOTAN_HAS_THREEFISH_512_AVX2)
36 void avx2_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
37 void avx2_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
40 void key_schedule(
const uint8_t key[],
size_t key_len)
override;
std::vector< T, secure_allocator< T >> secure_vector
const secure_vector< uint64_t > & get_K() const
BlockCipher * clone() const override
std::string name() const override
const secure_vector< uint64_t > & get_T() const