EC Cryptography Tutorials - Herong's Tutorial Examples
∟Algebraic Introduction to Elliptic Curves
This chapter provides an algebraic introduction of addition operations on elliptic curves. Algebraic solutions are provided to calculate addition operations by dividing the problem into 4 cases: two symmetric points, one infinity point, two identical points, and two distinct points.
Algebraic Description of Elliptic Curve Addition
Algebraic Solution for Symmetrical Points
Algebraic Solution for the Infinity Point
Algebraic Solution for Point Doubling
Algebraic Solution for Distinct Points
Elliptic Curves with Singularities
Elliptic Curve Point Addition Example
Elliptic Curve Point Doubling Example
Takeaways:
- Calculating the addition operation of two symmetric points
on an elliptic curve is easy: R = P + (-P) = (∞, ∞).
 
- Calculating the addition operation of two points and one of them is
infinity point is also easy: R = P + O = P, or R = O + Q = Q
 
- Calculating the addition operation of two identical points is not hard:
R = 2P = (m2-2xP, m(xP-xR)-yP),
where m is the slop of the straight line passing P and tangent to the curve:
m = 3(xP)2+a)/2(yP).
 
- Calculating the addition operation of two distinct points is not hard:
R = P + Q = (m2-xP-xQ, m(xP-xR)-yP),
where m is the slop of the straight line passing P and Q:
m = (yP-yQ)/(xP-xQ).
 
- Vieta's first formula is used to help calculating the addition operation:
The sum of 3 roots of a cubic equation is the negation of the coefficient of
the second term.
 
- Condition of "4a3 + 27b2 != 0"
can be used to avoid elliptic curves with singularities.
 
Table of Contents
 About This Book
 Geometric Introduction to Elliptic Curves
►Algebraic Introduction to Elliptic Curves
 Abelian Group and Elliptic Curves
 Discrete Logarithm Problem (DLP)
 Finite Fields
 Generators and Cyclic Subgroups
 Reduced Elliptic Curve Groups
 Elliptic Curve Subgroups
 tinyec - Python Library for ECC
 EC (Elliptic Curve) Key Pair
 ECDH (Elliptic Curve Diffie-Hellman) Key Exchange
 ECDSA (Elliptic Curve Digital Signature Algorithm)
 ECES (Elliptic Curve Encryption Scheme)
 EC Cryptography in Java
 Standard Elliptic Curves
 Terminology
 References
 Full Version in PDF/EPUB