8 #ifndef BOTAN_OUTPUT_FEEDBACK_MODE_H__
9 #define BOTAN_OUTPUT_FEEDBACK_MODE_H__
11 #include <botan/stream_cipher.h>
12 #include <botan/block_cipher.h>
22 void cipher(
const uint8_t in[], uint8_t out[],
size_t length)
override;
24 void set_iv(
const uint8_t iv[],
size_t iv_len)
override;
27 {
return (iv_len <= m_cipher->block_size()); }
31 return m_cipher->key_spec();
34 std::string name()
const override;
37 {
return new OFB(m_cipher->clone()); }
39 void clear()
override;
46 void seek(uint64_t offset)
override;
48 void key_schedule(
const uint8_t key[],
size_t key_len)
override;
50 std::unique_ptr<BlockCipher> m_cipher;
Key_Length_Specification key_spec() const override
std::vector< T, secure_allocator< T >> secure_vector
bool valid_iv_length(size_t iv_len) const override
OFB * clone() const override