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