9 #include <botan/parsing.h>    10 #include <botan/internal/xor_buf.h>    21    feedback = fback_bits ? fback_bits / 8: cipher->
block_size();
    27    if(feedback == 0 || fback_bits % 8 != 0 || feedback > cipher->
block_size())
    41    feedback = fback_bits ? fback_bits / 8: cipher->
block_size();
    47    if(feedback == 0 || fback_bits % 8 != 0 || feedback > cipher->
block_size())
    70 void CFB_Encryption::write(
const byte input[], 
size_t length)
    74       size_t xored = 
std::min(feedback - position, length);
    75       xor_buf(&buffer[position], input, xored);
    76       send(&buffer[position], xored);
    81       if(position == feedback)
    83          for(
size_t j = 0; j != cipher->
block_size() - feedback; ++j)
    84             state[j] = state[j + feedback];
    98    feedback = fback_bits ? fback_bits / 8: cipher->
block_size();
   104    if(feedback == 0 || fback_bits % 8 != 0 || feedback > cipher->
block_size())
   118    feedback = fback_bits ? fback_bits / 8: cipher->
block_size();
   124    if(feedback == 0 || fback_bits % 8 != 0 || feedback > cipher->
block_size())
   141    cipher->
encrypt(state, buffer);
   147 void CFB_Decryption::write(
const byte input[], 
size_t length)
   151       size_t xored = 
std::min(feedback - position, length);
   152       xor_buf(&buffer[position], input, xored);
   153       send(&buffer[position], xored);
   154       buffer.
copy(position, input, xored);
   158       if(position == feedback)
   160          for(
size_t j = 0; j != cipher->
block_size() - feedback; ++j)
   161             state[j] = state[j + feedback];
   163          cipher->
encrypt(state, buffer);
 
CFB_Decryption(BlockCipher *cipher, size_t feedback=0)
std::invalid_argument Invalid_Argument
void copy(const T in[], size_t n)
void set_iv(const InitializationVector &)
void send(const byte in[], size_t length)
CFB_Encryption(BlockCipher *cipher, size_t feedback=0)
void encrypt(const byte in[], byte out[]) const
void set_iv(const InitializationVector &)
bool valid_iv_length(size_t iv_len) const
void set_key(const SymmetricKey &key)
std::string to_string(u64bit n, size_t min_len)
SecureVector< byte > bits_of() const
void xor_buf(byte out[], const byte in[], size_t length)
void zeroise(MemoryRegion< T > &vec)
virtual size_t block_size() const =0