summaryrefslogtreecommitdiff
path: root/ec2n.h
diff options
context:
space:
mode:
authorJeffrey Walton <noloader@gmail.com>2016-11-04 11:13:07 -0400
committerJeffrey Walton <noloader@gmail.com>2016-11-04 11:13:07 -0400
commit7363c49a675afeb8a1f8268713c341811c4ad3bd (patch)
tree7307c5a2802f87d6995fd6902f2ca8b293aea100 /ec2n.h
parent456bd2b1b7ea3dc9e840f1392374aeb489aee3f8 (diff)
downloadcryptopp-git-7363c49a675afeb8a1f8268713c341811c4ad3bd.tar.gz
Add ecpoint.h header file. Add EncodedPoint interface. Add documntation
Diffstat (limited to 'ec2n.h')
-rw-r--r--ec2n.h26
1 files changed, 2 insertions, 24 deletions
diff --git a/ec2n.h b/ec2n.h
index b300644f..ab3ceeee 100644
--- a/ec2n.h
+++ b/ec2n.h
@@ -12,38 +12,16 @@
#include "gf2n.h"
#include "integer.h"
#include "algebra.h"
+#include "ecpoint.h"
#include "eprecomp.h"
#include "smartptr.h"
#include "pubkey.h"
NAMESPACE_BEGIN(CryptoPP)
-//! \class EC2NPoint
-//! \brief Elliptical Curve Point over GF(2^n)
-struct CRYPTOPP_DLL EC2NPoint
-{
-#ifndef CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
- virtual ~EC2NPoint() {}
-#endif
-
- EC2NPoint() : identity(true) {}
- EC2NPoint(const PolynomialMod2 &x, const PolynomialMod2 &y)
- : x(x), y(y), identity(false) {}
-
- bool operator==(const EC2NPoint &t) const
- {return (identity && t.identity) || (!identity && !t.identity && x==t.x && y==t.y);}
- bool operator< (const EC2NPoint &t) const
- {return identity ? !t.identity : (!t.identity && (x<t.x || (x==t.x && y<t.y)));}
-
- PolynomialMod2 x, y;
- bool identity;
-};
-
-CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup<EC2NPoint>;
-
//! \class EC2N
//! \brief Elliptic Curve over GF(2^n)
-class CRYPTOPP_DLL EC2N : public AbstractGroup<EC2NPoint>
+class CRYPTOPP_DLL EC2N : public AbstractGroup<EC2NPoint>, public EncodedPoint<EC2NPoint>
{
public:
typedef GF2NP Field;