diff options
author | Ed Baak <ed.baak@nokia.com> | 2010-07-26 14:06:13 +1000 |
---|---|---|
committer | Ed Baak <ed.baak@nokia.com> | 2010-07-26 14:06:13 +1000 |
commit | 02e9b6740ff7851b52ab677800e94fb77e6092ed (patch) | |
tree | a38a4f4d44b53a95b5db40e5ec12b513b5896e06 /botan/src/block/des/des.h | |
parent | eb2fbe409d1423c0b707b9986ee1e56fa19b355a (diff) |
Included Botan and ssh code to make QtUItest compile again (as a separate package without creator). Note that this is a temporary hack and will go away when we moveQtUItest into creator.
Diffstat (limited to 'botan/src/block/des/des.h')
-rw-r--r-- | botan/src/block/des/des.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/botan/src/block/des/des.h b/botan/src/block/des/des.h new file mode 100644 index 0000000..6fa59de --- /dev/null +++ b/botan/src/block/des/des.h @@ -0,0 +1,70 @@ +/* +* DES +* (C) 1999-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_DES_H__ +#define BOTAN_DES_H__ + +#include <botan/block_cipher.h> + +namespace Botan { + +/* +* DES +*/ +class BOTAN_DLL DES : public BlockCipher + { + public: + void clear() throw() { round_key.clear(); } + std::string name() const { return "DES"; } + BlockCipher* clone() const { return new DES; } + DES() : BlockCipher(8, 8) {} + private: + void enc(const byte[], byte[]) const; + void dec(const byte[], byte[]) const; + void key_schedule(const byte[], u32bit); + + SecureBuffer<u32bit, 32> round_key; + }; + +/* +* Triple DES +*/ +class BOTAN_DLL TripleDES : public BlockCipher + { + public: + void clear() throw() { round_key.clear(); } + std::string name() const { return "TripleDES"; } + BlockCipher* clone() const { return new TripleDES; } + TripleDES() : BlockCipher(8, 16, 24, 8) {} + private: + void enc(const byte[], byte[]) const; + void dec(const byte[], byte[]) const; + void key_schedule(const byte[], u32bit); + + SecureBuffer<u32bit, 96> round_key; + }; + +/* +* DES Tables +*/ +extern const u32bit DES_SPBOX1[256]; +extern const u32bit DES_SPBOX2[256]; +extern const u32bit DES_SPBOX3[256]; +extern const u32bit DES_SPBOX4[256]; +extern const u32bit DES_SPBOX5[256]; +extern const u32bit DES_SPBOX6[256]; +extern const u32bit DES_SPBOX7[256]; +extern const u32bit DES_SPBOX8[256]; + +extern const u64bit DES_IPTAB1[256]; +extern const u64bit DES_IPTAB2[256]; +extern const u64bit DES_FPTAB1[256]; +extern const u64bit DES_FPTAB2[256]; + +} + +#endif |