**EC Cryptography Tutorials - Herong's Tutorial Examples** - v1.03, by Herong Yang

What Is an Elliptic Curve?

This section describes what is elliptic curve - A set of 2 dimensional points of (x, y) that satisfy the y^{2} = x^{3} + ax + b equation with given values of a and b.

**What Is an Elliptic Curve?**
An elliptic curve is the set of 2 dimensional points of (x, y)
that satisfy the following mathematical equation with given values of a and b:

y^{2}= x^{3}+ ax + b

Here are two examples of elliptic curves (source: wikipedia.org):

Here are more examples of elliptic curves (source: wikipedia.org):

Here are some elliptic curves superposed like contour lines (source: cosec.bit.uni-bonn.de):

By the way, the earliest text book discussing elliptic curves is probably the "Arithmetica" by "the father of algebra", Diophantus of Alexandria in the third century.

Table of Contents

►Geometric Introduction to Elliptic Curves

Elliptic Curve Geometric Properties

Addition Operation on an Elliptic Curve

Prove of Elliptic Curve Addition Operation

Same Point Addition on an Elliptic Curve

Infinity Point on an Elliptic Curve

Negation Operation on an Elliptic Curve

Subtraction Operation on an Elliptic Curve

Identity Element on an Elliptic Curve

Commutativity of Elliptic Curve Operations

Associativity of Elliptic Curve Operations

Elliptic Curve Operation Summary

Algebraic Introduction to Elliptic Curves

Abelian Group and Elliptic Curves

Discrete Logarithm Problem (DLP)

Generators and Cyclic Subgroups

tinyec - Python Library for ECC

ECDH (Elliptic Curve Diffie-Hellman) Key Exchange

ECDSA (Elliptic Curve Digital Signature Algorithm)