Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

EC2N Class Reference

Elliptic Curve over GF(2^n). More...

#include <ec2n.h>

Inheritance diagram for EC2N:

AbstractGroup List of all members.

Public Types

typedef GF2NP Field
typedef Field::Element FieldElement
typedef EC2NPoint Point

Public Methods

 EC2N (const Field &field,const Field::Element &a,const Field::Element &b)
 EC2N (BufferedTransformation &bt)
void DEREncode (BufferedTransformation &bt)const
bool Equal (const Point &P,const Point &Q)const
const Point& Zero ()const
const Point& Inverse (const Point &P)const
bool InversionIsFast ()const
const Point& Add (const Point &P,const Point &Q)const
const Point& Double (const Point &P)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)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=false)const
Point BERDecodePoint (BufferedTransformation &bt)const
void DEREncodePoint (BufferedTransformation &bt,const Point &P,bool compressed=false)const
Integer FieldSize ()const
const Field& GetField ()const
const FieldElement& GetA ()const
const FieldElement& GetB ()const

Detailed Description

Elliptic Curve over GF(2^n).

Definition at line 27 of file ec2n.h.


Member Typedef Documentation

typedef GF2NP EC2N::Field
 

Definition at line 30 of file ec2n.h.

typedef Field::Element EC2N::FieldElement
 

Definition at line 31 of file ec2n.h.

typedef EC2NPoint EC2N::Point
 

Definition at line 32 of file ec2n.h.


Constructor & Destructor Documentation

EC2N::EC2N ( const Field & field,
const Field::Element & a,
const Field::Element & b ) [inline]
 

Definition at line 34 of file ec2n.h.

EC2N::EC2N ( BufferedTransformation & bt )
 

Definition at line 13 of file ec2n.cpp.


Member Function Documentation

const EC2N::Point & EC2N::Add ( const Point & P,
const Point & Q ) const
 

Definition at line 171 of file ec2n.cpp.

EC2N::Point EC2N::BERDecodePoint ( BufferedTransformation & bt ) const
 

Definition at line 111 of file ec2n.cpp.

Point EC2N::CascadeMultiply ( const Integer & k1,
const Point & P,
const Integer & k2,
const Point & Q ) const [inline]
 

Definition at line 52 of file ec2n.h.

void EC2N::DEREncode ( BufferedTransformation & bt ) const
 

Definition at line 25 of file ec2n.cpp.

void EC2N::DEREncodePoint ( BufferedTransformation & bt,
const Point & P,
bool compressed = false ) const
 

Definition at line 121 of file ec2n.cpp.

bool EC2N::DecodePoint ( EC2N::Point & P,
const byte * encodedPoint,
unsigned int encodedPointLen ) const
 

Definition at line 34 of file ec2n.cpp.

bool EC2N::DecodePoint ( EC2N::Point & P,
BufferedTransformation & bt,
unsigned int encodedPointLen ) const
 

Definition at line 40 of file ec2n.cpp.

const EC2N::Point & EC2N::Double ( const Point & P ) const
 

Definition at line 193 of file ec2n.cpp.

void EC2N::EncodePoint ( byte * encodedPoint,
const Point & P,
bool compressed = false ) const
 

Definition at line 93 of file ec2n.cpp.

unsigned int EC2N::EncodedPointSize ( bool compressed = false ) const [inline]
 

Definition at line 58 of file ec2n.h.

bool EC2N::Equal ( const Point & P,
const Point & Q ) const
 

Definition at line 144 of file ec2n.cpp.

Integer EC2N::FieldSize ( ) const [inline]
 

Definition at line 68 of file ec2n.h.

const FieldElement & EC2N::GetA ( ) const [inline]
 

Definition at line 70 of file ec2n.h.

const FieldElement & EC2N::GetB ( ) const [inline]
 

Definition at line 71 of file ec2n.h.

const Field & EC2N::GetField ( ) const [inline]
 

Definition at line 69 of file ec2n.h.

const EC2N::Point & EC2N::Inverse ( const Point & P ) const
 

Definition at line 158 of file ec2n.cpp.

bool EC2N::InversionIsFast ( ) const [inline, virtual]
 

Reimplemented from AbstractGroup.

Definition at line 46 of file ec2n.h.

Point EC2N::Multiply ( const Integer & k,
const Point & P ) const [inline]
 

Definition at line 50 of file ec2n.h.

bool EC2N::ValidateParameters ( RandomNumberGenerator & rng ) const
 

Definition at line 128 of file ec2n.cpp.

bool EC2N::VerifyPoint ( const Point & P ) const
 

Definition at line 135 of file ec2n.cpp.

const Point & EC2N::Zero ( ) const [inline, virtual]
 

Reimplemented from AbstractGroup.

Definition at line 44 of file ec2n.h.


The documentation for this class was generated from the following files:
Generated at Mon Jan 15 01:16:46 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000