1
/*************************************************
3
* (C) 1999-2007 The Botan Project *
4
*************************************************/
9
#include <botan/base.h>
13
/*************************************************
15
*************************************************/
16
class GOST : public BlockCipher
19
void clear() throw() { EK.clear(); }
20
std::string name() const { return "GOST"; }
21
BlockCipher* clone() const { return new GOST; }
22
GOST() : BlockCipher(8, 32) {}
24
void enc(const byte[], byte[]) const;
25
void dec(const byte[], byte[]) const;
26
void key(const byte[], u32bit);
28
static const u32bit SBOX1[256], SBOX2[256], SBOX3[256], SBOX4[256];
30
SecureBuffer<u32bit, 32> EK;