NAME

Crypt::ECDSA::Point -- Elliptic curve points for EC cryptography

DESCRIPTION

These are for use with Crypt::ECDSA, a Math::BigInt based cryptography module. These routines work most efficiently if the GMP math library is installed, and in particular the point multiply function may be quite tedious without the GMP math library, which enables Math::BigInt::GMP.

METHODS

new
Constructor.  Takes the following named pair arguments:

X           => x coordinate,
Y           => y coordinate,
curve       => Crypt::ECDSA::Curve derived curve,
order       => point order,
is_infinity => set to 1 if this is to be the point at infinity  (optional)
X
Returns or sets the point's x coordinate 
Y
Returns or sets the point's y coordinate 
order
returns or sets the point order, if known
order
Returns or sets the Crypt::ECDSA::Curve upon which the point exists
is_point_at_infinity
Returns 1 if the point is the point at infinity for the EC curve, 
otherwise undef.
deep_copy
Overloaded to '='
Returns a new point that copies the internals of the point (a cloned copy 
rather than just a reference).
add
my $P3 = $P1 + $P2;

Overloaded to '+'
Returns the point that is the sum of two points on the curve
double
my $double = $p->double(); 

returns a point that is the point's double on the curve.
multiply
my $Q = $G * $d;

Multiply a point by a scalar (not a point by a point!)

Overloaded to '*'
Note: in order to be sure the proper multiply is done, I suggest that a mutiply
of point $P by scalar $k be written $P * $k, not $k * $P.
is_equal_to
if( $p1 == $p2) { ; }

Overloaded to '=='
Returns 1 if the points are equal (on the same curve as well).

AUTHOR

William Herrera B<wherrera@skylightview.com>. 

SUPPORT

Questions, feature requests and bug reports should go to <wherrera@skylightview.com>.

COPYRIGHT

    Copyright (c) 2007 William Herrera. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 226:

=over without closing =back