diff options
Diffstat (limited to 'src/hash/tiger/tiger.h')
-rw-r--r-- | src/hash/tiger/tiger.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/hash/tiger/tiger.h b/src/hash/tiger/tiger.h new file mode 100644 index 000000000..4c95fa784 --- /dev/null +++ b/src/hash/tiger/tiger.h @@ -0,0 +1,42 @@ +/************************************************* +* Tiger Header File * +* (C) 1999-2007 Jack Lloyd * +*************************************************/ + +#ifndef BOTAN_TIGER_H__ +#define BOTAN_TIGER_H__ + +#include <botan/mdx_hash.h> + +namespace Botan { + +/************************************************* +* Tiger * +*************************************************/ +class BOTAN_DLL Tiger : public MDx_HashFunction + { + public: + void clear() throw(); + std::string name() const; + HashFunction* clone() const { return new Tiger(OUTPUT_LENGTH); } + Tiger(u32bit = 24, u32bit = 3); + private: + void hash(const byte[]); + void copy_out(byte[]); + + static void pass(u64bit&, u64bit&, u64bit&, u64bit[8], byte); + static void mix(u64bit[8]); + + static const u64bit SBOX1[256]; + static const u64bit SBOX2[256]; + static const u64bit SBOX3[256]; + static const u64bit SBOX4[256]; + + SecureBuffer<u64bit, 8> X; + SecureBuffer<u64bit, 3> digest; + const u32bit PASS; + }; + +} + +#endif |