# Math::Prime::Util::ECAffinePoint - Elliptic curve operations for affine points

# NAME

Math::Prime::Util::ECAffinePoint - Elliptic curve operations for affine points

# VERSION

Version 0.69

# SYNOPSIS

```
# Create a point on a curve (a,b,n) with coordinates 0,1
my $ECP = Math::Prime::Util::ECAffinePoint->new($a, $b, $n, 0, 1);
# scalar multiplication by k.
$ECP->mul($k);
# add two points on the same curve
$ECP->add($ECP2);
say "P = O" if $ECP->is_infinity();
```

# DESCRIPTION

This really should just be in Math::EllipticCurve.

To write.

# FUNCTIONS

## new

```
$point = Math::Prime::Util::ECAffinePoint->new(a, b, n, x, y);
```

Returns a new point at `(x,y,1)`

on the curve `(a,b,n)`

.

## a

## b

## n

Returns the `a`

, `b`

, or `n`

values that describe the curve.

## x

## y

Returns the `x`

or `y`

values that define the point on the curve.

## f

Returns a possible factor found during EC multiplication.

## add

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

## 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.

# SEE ALSO

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

# AUTHORS

Dana Jacobsen <dana@acm.org>

# COPYRIGHT

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.