8 #ifndef BOTAN_TWOFISH_H__
9 #define BOTAN_TWOFISH_H__
11 #include <botan/block_cipher.h>
21 void encrypt_n(
const byte in[],
byte out[],
size_t blocks)
const;
22 void decrypt_n(
const byte in[],
byte out[],
size_t blocks)
const;
25 std::string
name()
const {
return "Twofish"; }
30 void key_schedule(
const byte[],
size_t);
32 static void rs_mul(
byte[4],
byte,
size_t);
34 static const u32bit MDS0[256];
35 static const u32bit MDS1[256];
36 static const u32bit MDS2[256];
37 static const u32bit MDS3[256];
38 static const byte Q0[256];
39 static const byte Q1[256];
40 static const byte RS[32];
41 static const byte EXP_TO_POLY[255];
42 static const byte POLY_TO_EXP[255];
BlockCipher * clone() const