diff options
Diffstat (limited to 'modules/cipher/skipjack/skipjack.h')
-rw-r--r-- | modules/cipher/skipjack/skipjack.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/modules/cipher/skipjack/skipjack.h b/modules/cipher/skipjack/skipjack.h new file mode 100644 index 000000000..240148f19 --- /dev/null +++ b/modules/cipher/skipjack/skipjack.h @@ -0,0 +1,36 @@ +/************************************************* +* Skipjack Header File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#ifndef BOTAN_SKIPJACK_H__ +#define BOTAN_SKIPJACK_H__ + +#include <botan/base.h> + +namespace Botan { + +/************************************************* +* Skipjack * +*************************************************/ +class BOTAN_DLL Skipjack : public BlockCipher + { + public: + void clear() throw(); + std::string name() const { return "Skipjack"; } + BlockCipher* clone() const { return new Skipjack; } + Skipjack() : BlockCipher(8, 10) {} + private: + void enc(const byte[], byte[]) const; + void dec(const byte[], byte[]) const; + void key(const byte[], u32bit); + void step_A(u16bit&, u16bit&, u32bit) const; + void step_B(u16bit&, u16bit&, u32bit) const; + void step_Ai(u16bit&, u16bit&, u32bit) const; + void step_Bi(u16bit&, u16bit&, u32bit) const; + SecureBuffer<byte, 256> FTABLE[10]; + }; + +} + +#endif |