diff options
author | lloyd <[email protected]> | 2008-09-28 18:15:52 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-09-28 18:15:52 +0000 |
commit | 983a8ecb42e844f89466d0ae52bba591d4fc4275 (patch) | |
tree | de01378ee9be0ba8bec28bc08d3bde6e422ff898 /include/eax.h | |
parent | d59f6a2c9e797ee22c21b2d85c662e0fe8d1cf35 (diff) |
Modularize cipher modes
Diffstat (limited to 'include/eax.h')
-rw-r--r-- | include/eax.h | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/include/eax.h b/include/eax.h deleted file mode 100644 index 676e5334e..000000000 --- a/include/eax.h +++ /dev/null @@ -1,72 +0,0 @@ -/************************************************* -* EAX Mode Header File * -* (C) 1999-2007 Jack Lloyd * -*************************************************/ - -#ifndef BOTAN_EAX_H__ -#define BOTAN_EAX_H__ - -#include <botan/basefilt.h> - -namespace Botan { - -/************************************************* -* EAX Base Class * -*************************************************/ -class BOTAN_DLL EAX_Base : public Keyed_Filter - { - public: - void set_key(const SymmetricKey&); - void set_iv(const InitializationVector&); - void set_header(const byte[], u32bit); - std::string name() const; - - bool valid_keylength(u32bit) const; - - ~EAX_Base() { delete cipher; delete mac; } - protected: - EAX_Base(const std::string&, u32bit); - void start_msg(); - void increment_counter(); - - const u32bit TAG_SIZE, BLOCK_SIZE; - BlockCipher* cipher; - MessageAuthenticationCode* mac; - SecureVector<byte> nonce_mac, header_mac, state, buffer; - u32bit position; - }; - -/************************************************* -* EAX Encryption * -*************************************************/ -class BOTAN_DLL EAX_Encryption : public EAX_Base - { - public: - EAX_Encryption(const std::string&, u32bit = 0); - EAX_Encryption(const std::string&, const SymmetricKey&, - const InitializationVector&, u32bit = 0); - private: - void write(const byte[], u32bit); - void end_msg(); - }; - -/************************************************* -* EAX Decryption * -*************************************************/ -class BOTAN_DLL EAX_Decryption : public EAX_Base - { - public: - EAX_Decryption(const std::string&, u32bit = 0); - EAX_Decryption(const std::string&, const SymmetricKey&, - const InitializationVector&, u32bit = 0); - private: - void write(const byte[], u32bit); - void do_write(const byte[], u32bit); - void end_msg(); - SecureVector<byte> queue; - u32bit queue_start, queue_end; - }; - -} - -#endif |