8 #ifndef BOTAN_BLOCK_CIPHER_H__     9 #define BOTAN_BLOCK_CIPHER_H__    11 #include <botan/sym_algo.h>    25       virtual size_t block_size() 
const = 0;
    37          return parallelism() * block_size() * BOTAN_BLOCK_CIPHER_PAR_MULT;
    48          { encrypt_n(in, out, 1); }
    58          { decrypt_n(in, out, 1); }
    66       void encrypt(
byte block[])
 const { encrypt_n(block, block, 1); }
    74       void decrypt(
byte block[])
 const { decrypt_n(block, block, 1); }
    82       virtual void encrypt_n(
const byte in[], 
byte out[],
    83                              size_t blocks) 
const = 0;
    91       virtual void decrypt_n(
const byte in[], 
byte out[],
    92                              size_t blocks) 
const = 0;
   103 template<
size_t BS, 
size_t KMIN, 
size_t KMAX = 0, 
size_t KMOD = 1>
   107       enum { BLOCK_SIZE = BS };
 size_t parallel_bytes() const
virtual size_t parallelism() const
size_t block_size() const
void decrypt(const byte in[], byte out[]) const
void encrypt(const byte in[], byte out[]) const
void decrypt(byte block[]) const
Key_Length_Specification key_spec() const
void encrypt(byte block[]) const