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