8 #ifndef BOTAN_BLOCK_CIPHER_H__
9 #define BOTAN_BLOCK_CIPHER_H__
11 #include <botan/sym_algo.h>
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>
void decrypt(const byte in[], byte out[]) const
void decrypt(byte block[]) const
size_t parallel_bytes() const
Key_Length_Specification key_spec() const
virtual size_t parallelism() const
size_t block_size() const
void encrypt(byte block[]) const
void encrypt(const byte in[], byte out[]) const