1
/*************************************************
2
* Serpent Header File *
3
* (C) 1999-2007 The Botan Project *
4
*************************************************/
6
#ifndef BOTAN_SERPENT_H__
7
#define BOTAN_SERPENT_H__
9
#include <botan/base.h>
13
/*************************************************
15
*************************************************/
16
class Serpent : public BlockCipher
19
void clear() throw() { round_key.clear(); }
20
std::string name() const { return "Serpent"; }
21
BlockCipher* clone() const { return new Serpent; }
22
Serpent() : BlockCipher(16, 16, 32, 8) {}
24
void enc(const byte[], byte[]) const;
25
void dec(const byte[], byte[]) const;
26
void key(const byte[], u32bit);
28
SecureBuffer<u32bit, 132> round_key;