Dana Jacobsen > Math-Prime-Util-0.37 > Math::Prime::Util::ECProjectivePoint

Math-Prime-Util-0.37.tar.gz

Dependencies

Annotate this POD

Website

# CPAN RT

 Open 1
View/Report Bugs
Module Version: 0.37   Source   Latest Release: Math-Prime-Util-0.58

# NAME

Math::Prime::Util::ECProjectivePoint - Elliptic curve operations for projective points

Version 0.37

# SYNOPSIS

```  # Create a point on a curve (a,b,n) with coordinates 0,1
my \$ECP = Math::Prime::Util::ECProjectivePoint->new(\$c, \$n, 0, 1);

# scalar multiplication by k.
\$ECP->mul(\$k)

# add two points on the same curve

say "P = O" if \$ECP->is_infinity();```

# DESCRIPTION

This really should just be in Math::EllipticCurve.

To write.

# FUNCTIONS

## new

`  \$point = Math::Prime::Util::ECProjectivePoint->new(c, n, x, z);`

Returns a new point on the curve defined by the Montgomery parameter c.

## n

Returns the `c`, `d`, or `n` values that describe the curve.

## d

Returns the precalculated value of `int( (c + 2) / 4 )`.

## z

Returns the `x` or `z` values that define the point on the curve.

## f

Returns a possible factor found after "normalize".

Takes another point on the same curve as an argument and adds it this point.

## double

Double the current point on the curve.

## mul

Takes an integer and performs scalar multiplication of the point.

## is_infinity

Returns true if the point is (0,1), which is the point at infinity for the affine coordinates.

## copy

Returns a copy of the point.

## normalize

Performs an extended GCD operation to make `z=1`. If a factor of `n` is found it is put in `f`.

Math::EllipticCurve::Prime

This really should just be in a Math::EllipticCurve module.

# AUTHORS

Dana Jacobsen <dana@acm.org>

Copyright 2012-2013 by Dana Jacobsen <dana@acm.org>

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: