Python Elliptic Curve Arithmetic Library.

# ECCArithmetic

## Installation

``````pip install ECCArithmetic
``````

## Generate the Curve

``````from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)

``````

## PickGenerator

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
G = Curve.pickGenerator()
```

## PickPoint

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
P = Curve.pickPoint()
```

## isPointOnEC

Multiplication is realised with the double and add algorithm.

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
G = Curve.isPointOnEC([14967, 14215])
```

## Identity Element

```from ECCArithmetic.ec import *

O = ECPt.identity()
```

## Find All Points

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
all = Curve.enumerateAllPoints()
```

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
P = Curve.pickPoint()
Q = Curve.pickPoint()

S = P + Q
```

## Subtraction

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
P = Curve.pickPoint()
Q = Curve.pickPoint()

S = P - Q
```

## Multiplication

```from ECCArithmetic.ec import *

Curve = EC(0, 5, 2, 23981)
P = Curve.pickPoint()
Q = Curve.pickPoint()

S = P * Q
```

## Project details

This version 1.0.0