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 clear()
override;
26 std::string provider()
const override;
27 std::string
name()
const override {
return "AES-128"; }
30 void key_schedule(
const uint8_t key[],
size_t length)
override;
32 #if defined(BOTAN_HAS_AES_SSSE3)
33 void ssse3_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
34 void ssse3_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
35 void ssse3_key_schedule(
const uint8_t key[],
size_t length);
38 #if defined(BOTAN_HAS_AES_NI)
39 void aesni_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
40 void aesni_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
41 void aesni_key_schedule(
const uint8_t key[],
size_t length);
54 void encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
55 void decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
57 void clear()
override;
59 std::string provider()
const override;
60 std::string
name()
const override {
return "AES-192"; }
63 #if defined(BOTAN_HAS_AES_SSSE3)
64 void ssse3_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
65 void ssse3_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
66 void ssse3_key_schedule(
const uint8_t key[],
size_t length);
69 #if defined(BOTAN_HAS_AES_NI)
70 void aesni_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
71 void aesni_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
72 void aesni_key_schedule(
const uint8_t key[],
size_t length);
75 void key_schedule(
const uint8_t key[],
size_t length)
override;
87 void encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
88 void decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
90 void clear()
override;
92 std::string provider()
const override;
94 std::string
name()
const override {
return "AES-256"; }
97 #if defined(BOTAN_HAS_AES_SSSE3)
98 void ssse3_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
99 void ssse3_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
100 void ssse3_key_schedule(
const uint8_t key[],
size_t length);
103 #if defined(BOTAN_HAS_AES_NI)
104 void aesni_encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
105 void aesni_decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const;
106 void aesni_key_schedule(
const uint8_t key[],
size_t length);
109 void key_schedule(
const uint8_t key[],
size_t length)
override;
std::string name() const override
BlockCipher * clone() const override
std::vector< T, secure_allocator< T >> secure_vector
std::string name() const override
BlockCipher * clone() const override
BlockCipher * clone() const override
std::string name() const override