aboutsummaryrefslogtreecommitdiffstats
path: root/src/algo_base/sym_algo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/algo_base/sym_algo.h')
-rw-r--r--src/algo_base/sym_algo.h97
1 files changed, 0 insertions, 97 deletions
diff --git a/src/algo_base/sym_algo.h b/src/algo_base/sym_algo.h
deleted file mode 100644
index c937d08ff..000000000
--- a/src/algo_base/sym_algo.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
-* Symmetric Algorithm Base Class
-* (C) 1999-2007 Jack Lloyd
-*
-* Distributed under the terms of the Botan license
-*/
-
-#ifndef BOTAN_SYMMETRIC_ALGORITHM_H__
-#define BOTAN_SYMMETRIC_ALGORITHM_H__
-
-#include <botan/algo_base.h>
-#include <botan/key_spec.h>
-#include <botan/exceptn.h>
-#include <botan/symkey.h>
-#include <botan/types.h>
-
-namespace Botan {
-
-/**
-* This class represents a symmetric algorithm object.
-*/
-class BOTAN_DLL SymmetricAlgorithm : public Algorithm
- {
- public:
- /**
- * @return object describing limits on key size
- */
- virtual Key_Length_Specification key_spec() const = 0;
-
- /**
- * @return minimum allowed key length
- */
- size_t maximum_keylength() const
- {
- return key_spec().maximum_keylength();
- }
-
- /**
- * @return maxmium allowed key length
- */
- size_t minimum_keylength() const
- {
- return key_spec().minimum_keylength();
- }
-
- /**
- * Check whether a given key length is valid for this algorithm.
- * @param length the key length to be checked.
- * @return true if the key length is valid.
- */
- bool valid_keylength(size_t length) const
- {
- return key_spec().valid_keylength(length);
- }
-
- /**
- * Set the symmetric key of this object.
- * @param key the SymmetricKey to be set.
- */
- void set_key(const SymmetricKey& key)
- { set_key(key.begin(), key.length()); }
-
- /**
- * Set the symmetric key of this object.
- * @param key the to be set as a byte array.
- * @param length in bytes of key param
- */
- void set_key(const byte key[], size_t length)
- {
- if(!valid_keylength(length))
- throw Invalid_Key_Length(name(), length);
- key_schedule(key, length);
- }
-
- template<typename Alloc>
- void set_key(const std::vector<byte, Alloc>& v)
- {
- set_key(&v[0], v.size());
- }
- private:
- /**
- * Run the key schedule
- * @param key the key
- * @param length of key
- */
- virtual void key_schedule(const byte key[], size_t length) = 0;
- };
-
-/**
-* The two possible directions for cipher filters, determining whether they
-* actually perform encryption or decryption.
-*/
-enum Cipher_Dir { ENCRYPTION, DECRYPTION };
-
-}
-
-#endif