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

Reduced Point Additive Operation Improved

This section describes the improved version of the reduced point additive operation by applying the same modular arithmetic reduction on the parameter m as the reduced elliptic curve equation.

In previous tutorials, we learned how to apply the same modular arithmetic reduction
as the reduced elliptic equation on coordinates (x_{R}, y_{R})
of the resulting point R of the point addition operation:

Reduced addition operation based rule of chord 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 p) (11) y_{R}= m(x_{P}- x_{R}) - y_{P}(mod p) (12) If P != Q, m is determined by: y_{P}- y_{Q}m = --------- (10) x_{P}- x_{Q}If P = Q, m is determined by: 3(x_{P})^{2}+ a m = --------- (6) 2(y_{P})

Because of the associativity of modular arithmetic, we can actually apply the same modular arithmetic reduction on the parameter m, to bring it to integer.

Improved reduced addition operation based rule of chord 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 p) (11) y_{R}= m(x_{P}- x_{R}) - y_{P}(mod p) (12) If P != Q, m is determined by: y_{P}- y_{Q}m = --------- (mod p) (16) x_{P}- x_{Q}If P = Q, m is determined by: 3(x_{P})^{2}+ a m = --------- (mod p) (17) 2(y_{P})

If you are not comfortable with modular arithmetic division, we can rewrite those equations as in modular arithmetic multiplication:

Improved reduced addition operation based rule of chord 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 p) (11) y_{R}= m(x_{P}- x_{R}) - y_{P}(mod p) (12) If P != Q, m is determined by: m(x_{P}- x_{Q}) = y_{P}- y_{Q}(mod p) (18) If P = Q, m is determined by: 2m(y_{P}) = 3(x_{P})^{2}+ a (mod p) (19)

You can prove that equations (11), (12), (18) and (19) will provide the
same (x_{R}, y_{R}) as questions (11), (12), (10) and (6).
But equations (11), (12), (10) and (6) are better, because only 1 possible
modular multiplicative inverse operation is needed on m.
And equations (11), (12), (18) and (19) requires 2
possible modular multiplicative inverse operations on x_{R} and y_{R}.

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)