diff options
author | lloyd <[email protected]> | 2008-10-08 02:32:56 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2008-10-08 02:32:56 +0000 |
commit | 89fed41be3c9a77aff495a636d40bf67ac503fa9 (patch) | |
tree | 7ce90033aead61eec1f6b70eb79c47cdc2a43fe4 /src/pubkey/eckaeg/eckaeg_op.h | |
parent | dbec5c3bbbd53f1a208707300752e59213cf53c6 (diff) |
Split ecdsa module into ecc_key, ecdsa, eckaeg
Add actual implementations (from InSiTo) for ECDSA_Operation and
ECKAEG_Operation.
Diffstat (limited to 'src/pubkey/eckaeg/eckaeg_op.h')
-rw-r--r-- | src/pubkey/eckaeg/eckaeg_op.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/src/pubkey/eckaeg/eckaeg_op.h b/src/pubkey/eckaeg/eckaeg_op.h new file mode 100644 index 000000000..be2ff50f8 --- /dev/null +++ b/src/pubkey/eckaeg/eckaeg_op.h @@ -0,0 +1,47 @@ +/************************************************* +* ECKAEG Operations Header File * +* (C) 1999-2008 Jack Lloyd * +* 2007 FlexSecure GmbH * +*************************************************/ + +#ifndef BOTAN_ECKAEG_OPERATIONS_H__ +#define BOTAN_ECKAEG_OPERATIONS_H__ + +#include <botan/ec_dompar.h> + +namespace Botan { + +/************************************************* +* ECKAEG Operation * +*************************************************/ +class BOTAN_DLL ECKAEG_Operation + { + public: + virtual SecureVector<byte> agree(const PointGFp&) const = 0; + virtual ECKAEG_Operation* clone() const = 0; + virtual ~ECKAEG_Operation() {} + }; + +/************************************************* +* Default ECKAEG operation * +*************************************************/ +class Default_ECKAEG_Op : public ECKAEG_Operation + { + public: + SecureVector<byte> agree(const PointGFp& i) const; + + ECKAEG_Operation* clone() const { return new Default_ECKAEG_Op(*this); } + + Default_ECKAEG_Op(const EC_Domain_Params& dom_pars, + const BigInt& priv_key, + const PointGFp& pub_key); + private: + EC_Domain_Params m_dom_pars; + PointGFp m_pub_key; + BigInt m_priv_key; + }; + + +} + +#endif |