8#ifndef BOTAN_SQUARE_H__
9#define BOTAN_SQUARE_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 "Square"; }
28 Square() : EK(28), DK(28), ME(32), MD(32) {}
30 void key_schedule(
const byte[],
size_t);
34 static const byte SE[256];
35 static const byte SD[256];
36 static const byte Log[256];
37 static const byte ALog[255];
39 static const u32bit TE0[256];
40 static const u32bit TE1[256];
41 static const u32bit TE2[256];
42 static const u32bit TE3[256];
43 static const u32bit TD0[256];
44 static const u32bit TD1[256];
45 static const u32bit TD2[256];
46 static const u32bit TD3[256];
void encrypt_n(const byte in[], byte out[], size_t blocks) const
BlockCipher * clone() const
void decrypt_n(const byte in[], byte out[], size_t blocks) const
#define transform(B0, B1, B2, B3)