NAME

Crypt::ECDSA::Curve::Koblitz -- binary (F(2**N)) curves for EC cryptography

DESCRIPTION

These are for use with Crypt::ECDSA, a Math::GMPz based cryptography module.

METHODS

new
Delegated to base class Crypt::ECDSA::Curve
reduce_F2m
Special binary field function--reduce the result of addition or multiplication on
the curve by the 'irreducible' basis polynomial.  Akin to modular addition, but slower :(.
multiply_F2m
Binary field multiplication
invert_F2m
Binary field inversion: used for binary field division, so that
  $x * $y             becomes 
  $x * invert_F2m($y)
is_on_curve
return 1 if (x, y) is on the curve, otherwise undef.
add_on_curve
Add a point on the curve to itself or another
subtract_on_curve
Subtract a point on the curve.  Same as addition.
double_on_curve
Double a point on the curve.   
Returns a new point, does NOT change the original.
inverse_on_curve
get a point's additive inverse
multiply_on_curve
my $Q = $G * n;

Multiply a curve point by a scalar.  
Note this should always be Point * scalar, not scalar * Point.
is_weak_curve
tests for known weak curve parameters
tau_point_multiply
Koblitz curve binary field point multiply algorithm from draft FIPS 186-3, pages 111-114  
FUNCTIONS
equation
Return ascii string representation of the field equation

BUGS

Windows compatibility needs work. Some of this is the GMP library.

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.

3 POD Errors

The following errors were encountered while parsing the POD:

Around line 322:

'=item' outside of any '=over'

Around line 332:

You forgot a '=back' before '=head1'

Around line 347:

=over without closing =back