Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ECP Class Reference

#include <ecp.h>

Inheritance diagram for ECP:

AbstractGroup< ECPPoint > List of all members.

Detailed Description

Elliptic Curve over GF(p), where p is prime.

Definition at line 30 of file ecp.h.

Public Types

typedef ModularArithmetic Field
typedef Integer FieldElement
typedef ECPPoint Point
typedef ECPPoint Element

Public Member Functions

 ECP (const ECP &ecp, bool convertToMontgomeryRepresentation=false)
 ECP (const Integer &modulus, const FieldElement &a, const FieldElement &b)
 ECP (BufferedTransformation &bt)
void DEREncode (BufferedTransformation &bt) const
bool Equal (const Point &P, const Point &Q) const
const PointIdentity () const
const PointInverse (const Point &P) const
bool InversionIsFast () const
const PointAdd (const Point &P, const Point &Q) const
const PointDouble (const Point &P) const
Point ScalarMultiply (const Point &P, const Integer &k) const
Point CascadeScalarMultiply (const Point &P, const Integer &k1, const Point &Q, const Integer &k2) const
void SimultaneousMultiply (Point *results, const Point &base, const Integer *exponents, unsigned int exponentsCount) const
Point Multiply (const Integer &k, const Point &P) const
Point CascadeMultiply (const Integer &k1, const Point &P, const Integer &k2, const Point &Q) const
bool ValidateParameters (RandomNumberGenerator &rng, unsigned int level=3) const
bool VerifyPoint (const Point &P) const
unsigned int EncodedPointSize (bool compressed=false) const
bool DecodePoint (Point &P, BufferedTransformation &bt, unsigned int len) const
bool DecodePoint (Point &P, const byte *encodedPoint, unsigned int len) const
void EncodePoint (byte *encodedPoint, const Point &P, bool compressed) const
void EncodePoint (BufferedTransformation &bt, const Point &P, bool compressed) const
Point BERDecodePoint (BufferedTransformation &bt) const
void DEREncodePoint (BufferedTransformation &bt, const Point &P, bool compressed) const
Integer FieldSize () const
const FieldGetField () const
const FieldElementGetA () const
const FieldElementGetB () const
bool operator== (const ECP &rhs) const
virtual bool Equal (const Element &a, const Element &b) const=0
virtual const Element & Add (const Element &a, const Element &b) const=0
virtual const Element & Inverse (const Element &a) const=0
virtual const Element & Double (const Element &a) const
virtual const Element & Subtract (const Element &a, const Element &b) const
virtual Element & Accumulate (Element &a, const Element &b) const
virtual Element & Reduce (Element &a, const Element &b) const
virtual Element ScalarMultiply (const Element &a, const Integer &e) const
virtual Element CascadeScalarMultiply (const Element &x, const Integer &e1, const Element &y, const Integer &e2) const
virtual void SimultaneousMultiply (Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const


The documentation for this class was generated from the following file:
Generated on Wed Jul 21 19:15:50 2004 for Crypto++ by doxygen 1.3.7-20040704