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

_{q}(a,b), q = p^{n}

This section describes finite elliptic curve groups constructed with modular arithmetic reduction of prime power numbers, p^{n}.

Finite elliptic curve groups can also be constructed using modular arithmetic reduction of prime power numbers.

Let's assume we have an elliptic curve, E(a,b):

y^{2}= x^{3}+ ax + b where: a and b are integers 4a^{3}+ 27b^{2}!= 0

Let's assume we have a prime number p,
and a prime power number, q = p^{k}.
An Abelian group can be defined as:

1. Group Element Set -

All P = (x,y), such that: y^{2}= x^{3}+ ax + b (mod q) where: q = p^{k}k is positive integer p is a prime number a and b are integers 4a^{3}+ 27b^{2}!= 0 x and y are integers in {0, 1, 2, ..., q-1}

2. Group Operation -

For any two given points on the curve: P = (x_{P}, y_{P}) Q = (x_{Q}, y_{Q}) R = P + Q is a third point on the curve: R = (x_{R}, y_{R}) Where: x_{R}= m^{2}- x_{P}- x_{Q}(mod q) (20) y_{R}= m(x_{P}- x_{R}) - y_{P}(mod q) (21) If P != Q, m is determined by: m(x_{P}- x_{Q}) = y_{P}- y_{Q}(mod q) (22) If P = Q, m is determined by: 2m(y_{P}) = 3(x_{P})^{2}+ a (mod q) (23)

3. Identity Element - The infinite point of 0 = (∞, ∞).

Examples of finite elliptic curve groups using prime power numbers will be provided later.

Table of Contents

Geometric Introduction to Elliptic Curves

Algebraic Introduction to Elliptic Curves

Abelian Group and Elliptic Curves

Discrete Logarithm Problem (DLP)

Generators and Cyclic Subgroups

►Reduced Elliptic Curve Groups

Converting Elliptic Curve Groups

Elliptic Curves in Integer Space

Python Program for Integer Elliptic Curves

Elliptic Curves Reduced by Modular Arithmetic

Python Program for Reduced Elliptic Curves

Point Pattern of Reduced Elliptic Curves

Integer Points of First Region as Element Set

Reduced Point Additive Operation

Modular Arithmetic Reduction on Rational Numbers

Reduced Point Additive Operation Improved

What Is Reduced Elliptic Curve Group

Reduced Elliptic Curve Group - E_{23}(1,4)

Reduced Elliptic Curve Group - E_{97}(-1,1)

Reduced Elliptic Curve Group - E_{127}(-1,3)

Reduced Elliptic Curve Group - E_{1931}(443,1045)

►Finite Elliptic Curve Group, E_{q}(a,b), q = p^{n}

tinyec - Python Library for ECC

ECDH (Elliptic Curve Diffie-Hellman) Key Exchange

ECDSA (Elliptic Curve Digital Signature Algorithm)