11 #include <botan/block_cipher.h>
12 #include <botan/stream_cipher.h>
13 #include <botan/hash.h>
28 void encrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
29 void decrypt_n(
const uint8_t in[], uint8_t out[],
size_t blocks)
const override;
31 size_t block_size()
const override {
return m_block_size; }
38 void clear()
override;
39 std::string name()
const override;
51 void key_schedule(
const uint8_t[],
size_t)
override;
53 size_t left_size()
const {
return m_hash->output_length(); }
54 size_t right_size()
const {
return m_block_size - left_size(); }
56 const size_t m_block_size;
57 std::unique_ptr<HashFunction>
m_hash;
58 std::unique_ptr<StreamCipher> m_cipher;
59 secure_vector<uint8_t> m_key1, m_key2;
Key_Length_Specification key_spec() const override
size_t block_size() const override
std::unique_ptr< HashFunction > m_hash