8#ifndef CRYPTOPP_ECPOINT_H 
    9#define CRYPTOPP_ECPOINT_H 
   31        : x(x), y(y), identity(false) {}
 
 
   37        {
return (identity && t.identity) || (!identity && !t.identity && x==t.x && y==t.y);}
 
 
   43        {
return identity ? !t.identity : (!t.identity && (x<t.x || (x==t.x && y<t.y)));}
 
 
 
   64        : x(x), y(y), identity(false) {}
 
 
   70        {
return (identity && t.identity) || (!identity && !t.identity && x==t.x && y==t.y);}
 
 
   76        {
return identity ? !t.identity : (!t.identity && (x<t.x || (x==t.x && y<t.y)));}
 
 
 
  107    virtual bool DecodePoint(Point &P, 
const byte *encodedPoint, 
size_t len) 
const =0;
 
  124    virtual void EncodePoint(
byte *encodedPoint, 
const Point &P, 
bool compressed) 
const =0;
 
 
Classes for performing mathematics over different fields.
 
bool operator<(const OID &lhs, const OID &rhs)
Compare two OIDs for ordering.
 
Abstract class for encoding and decoding ellicptic curve points.
 
virtual bool DecodePoint(Point &P, const byte *encodedPoint, size_t len) const =0
Decodes an elliptic curve point.
 
virtual unsigned int EncodedPointSize(bool compressed=false) const =0
Determines encoded point size.
 
virtual bool VerifyPoint(const Point &P) const =0
Verifies points on elliptic curve.
 
virtual void EncodePoint(byte *encodedPoint, const Point &P, bool compressed) const =0
Encodes an elliptic curve point.
 
virtual void DEREncodePoint(BufferedTransformation &bt, const Point &P, bool compressed) const =0
DER Encodes an elliptic curve point.
 
virtual bool DecodePoint(Point &P, BufferedTransformation &bt, size_t len) const =0
Decodes an elliptic curve point.
 
virtual void EncodePoint(BufferedTransformation &bt, const Point &P, bool compressed) const =0
Encodes an elliptic curve point.
 
virtual Point BERDecodePoint(BufferedTransformation &bt) const =0
BER Decodes an elliptic curve point.
 
Multiple precision integer with arithmetic operations.
 
Polynomial with Coefficients in GF(2)
 
#define CRYPTOPP_DLL_TEMPLATE_CLASS
Instantiate templates in a dynamic library.
 
Abstract base classes that provide a uniform interface to this library.
 
Classes and functions for schemes over GF(2^n)
 
Multiple precision integer with arithmetic operations.
 
Crypto++ library namespace.
 
Elliptical Curve Point over GF(2^n)
 
EC2NPoint()
Construct an EC2NPoint.
 
bool operator==(const EC2NPoint &t) const
Tests points for equality.
 
EC2NPoint(const PolynomialMod2 &x, const PolynomialMod2 &y)
Construct an EC2NPoint from coordinates.
 
Elliptical Curve Point over GF(p), where p is prime.
 
bool operator==(const ECPPoint &t) const
Tests points for equality.
 
ECPPoint()
Construct an ECPPoint.
 
ECPPoint(const Integer &x, const Integer &y)
Construct an ECPPoint from coordinates.