aboutsummaryrefslogtreecommitdiffstats
path: root/src/pubkey/ecdsa/eckaeg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pubkey/ecdsa/eckaeg.h')
-rw-r--r--src/pubkey/ecdsa/eckaeg.h121
1 files changed, 0 insertions, 121 deletions
diff --git a/src/pubkey/ecdsa/eckaeg.h b/src/pubkey/ecdsa/eckaeg.h
deleted file mode 100644
index 7ab286424..000000000
--- a/src/pubkey/ecdsa/eckaeg.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*************************************************
-* ECKAEG Header File *
-* (C) 2007 Falko Strenzke, FlexSecure GmbH *
-* Manuel hartl, FlexSecure GmbH *
-* (C) 2008 Jack Lloyd *
-*************************************************/
-
-#ifndef BOTAN_ECKAEG_KEY_H__
-#define BOTAN_ECKAEG_KEY_H__
-
-#include <botan/ecc_key.h>
-
-namespace Botan {
-
-/**
-* This class represents ECKAEG Public Keys.
-*/
-class ECKAEG_PublicKey : public virtual EC_PublicKey
- {
- public:
- /**
- * Default constructor. Use this one if you want to later fill this object with data
- * from an encoded key.
- */
- ECKAEG_PublicKey()
- {};
- /**
- * Construct a public key from a given public point.
- * @param dom_par the domain parameters associated with this key
- * @param public_point the public point defining this key
- */
- ECKAEG_PublicKey(EC_Domain_Params const& dom_par, Botan::PointGFp const& public_point);
-
- /**
- * Get this keys algorithm name.
- * @result this keys algorithm name
- */
- std::string algo_name() const
- {
- return "ECKAEG";
- }
- /**
- * Get the maximum number of bits allowed to be fed to this key.
- * This is the bitlength of the order of the base point.
- *
- * @result the maximum number of input bits
- */
- u32bit max_input_bits() const
- {
- if (!mp_dom_pars.get())
- {
- throw Invalid_State("ECKAEG_PublicKey::max_input_bits(): domain parameters not set");
- }
- return mp_dom_pars->get_order().bits();
- }
- ECKAEG_PublicKey(ECKAEG_PublicKey const& other);
- ECKAEG_PublicKey const& operator= (ECKAEG_PublicKey const& rhs);
-
-
- /**
- * Make sure that the public point and domain parameters of this key are set.
- * @throw Invalid_State if either of the two data members is not set
- */
- virtual void affirm_init() const;
- protected:
- void X509_load_hook();
- virtual void set_all_values ( ECKAEG_PublicKey const& other );
-
- ECKAEG_Core m_eckaeg_core;
- };
-
-/**
-* This class represents ECKAEG Private Keys.
-*/
-class ECKAEG_PrivateKey : public ECKAEG_PublicKey, public EC_PrivateKey, public PK_Key_Agreement_Key
- {
- public:
- /**
- * Generate a new private key
- * @param the domain parameters to used for this key
- */
- ECKAEG_PrivateKey(RandomNumberGenerator& rng,
- EC_Domain_Params const& dom_pars)
- {
- mp_dom_pars = std::auto_ptr<EC_Domain_Params>(new EC_Domain_Params(dom_pars));
- generate_private_key(rng);
- mp_public_point->check_invariants();
- m_eckaeg_core = ECKAEG_Core(*mp_dom_pars, m_private_value, *mp_public_point);
- }
- /**
- * Default constructor. Use this one if you want to later fill this object with data
- * from an encoded key.
- */
- ECKAEG_PrivateKey()
- {}
- ECKAEG_PrivateKey(ECKAEG_PrivateKey const& other);
- ECKAEG_PrivateKey const& operator= (ECKAEG_PrivateKey const& rhs);
-
- void PKCS8_load_hook(bool = false);
-
- /**
- * Derive a shared key with the other partys public key.
- * @param pub_key the other partys public key
- */
- SecureVector<byte> derive_key(const Public_Key& pub_key) const;
-
- /**
- * Make sure that the public key parts of this object are set
- * (calls EC_PublicKey::affirm_init()) as well as the private key
- * value.
- * @throw Invalid_State if the above conditions are not satisfied
- */
- virtual void affirm_init() const;
-
- protected:
- virtual void set_all_values ( ECKAEG_PrivateKey const& other );
- };
-
-}
-
-#endif