#include <point.h>
Public Types | |
typedef Polynomial | polynomial_type |
The type of the field over which the elliptic curve is defined. | |
Public Member Functions | |
point (void) | |
Construct the point at infinity (zero). | |
point (std::string x, std::string y) | |
Construct a point (x, y) from the strings x and y. | |
point (polynomial_type const &x, polynomial_type const &y) | |
Construct a point (x, y) from the polynomials x and y. | |
point & | operator= (point const &p1) |
Copy constructor. | |
point & | operator+= (point const &p1) |
Add point p1 to this point. | |
void | MULTIPLY_and_assign (point const &pnt, mpz_class const &scalar) |
Multiply the point pnt with scalar and assign the result to this object. | |
mpz_class | order (order_algorithm algorithm=order_default) const |
Calculate the order of this point. | |
bool | operator== (point const &p1) const |
Compare for equality. | |
bool | operator!= (point const &p1) const |
Compare for inequality. | |
bool | check (void) const |
Check if the current point is a solution of the elliptic curve. | |
polynomial_type const & | get_x (void) const |
Retrieve the value of the x coordinate. | |
polynomial_type const & | get_y (void) const |
Retrieve the value of the y coordinate. | |
bool | is_zero (void) const |
Return if this is the point at infinity or not. | |
void | print_on (std::ostream &os) const |
Print the coordinates of this point to an ostream. |
This class represents a point (x,y) on the elliptic curve x3 + ax2 + b = y2 + xy where x, y, a and b are of the type Polynomial, elements of F2m.
|
The type of the field over which the elliptic curve is defined.
|
|
Construct the point at infinity (zero).
|
|
Construct a point (x, y) from the strings x and y. The strings are passed directly to two variables of type polynomial_type. |
|
Construct a point (x, y) from the polynomials x and y.
|
|
Check if the current point is a solution of the elliptic curve.
|
|
Retrieve the value of the x coordinate. This value is only valid when is_zero returns false. |
|
Retrieve the value of the y coordinate. This value is only valid when is_zero returns false. |
|
Return if this is the point at infinity or not.
|
|
Multiply the point pnt with scalar and assign the result to this object.
|
|
Compare for inequality.
|
|
Add point p1 to this point.
|
|
Copy constructor.
|
|
Compare for equality.
|
|
Calculate the order of this point.
|
|
Print the coordinates of this point to an ostream.
|