Integer Points of First Region as Element Set

This section describes how to use all integer points from the first region on a reduced elliptic curve as the element set to try to construct an Abelian group.

Once we know how find all integer points on an elliptic curve reduced by modular arithmetic of a prime number. We need to consider a way to define an Abelian group out of those integer points.

Let's consider all integer points from the first region on a reduced elliptic curve as the element set:

Element Set in a Single Region:
   All P = (x,y), such that:
      y2 = x3 + ax + b (mod p)
   where:
      a and b are integers
      p is a prime number
      4a3 + 27b2 != 0
      x and y are integers in {0, 1, 2, ..., p-1}

Can we still use the rule of chord operation on this set as the group operation?

Let's take the same reduced elliptic curve from the previous tutorial of (a,b) = (1,4) and p = 23 as an example:

Element Set in a Single Region:
   All P = (x,y), such that:
      y2 = x3 + x + 4 (mod 23)
   where:
      x and y are integers in {0, 1, 2, ..., 22}

If we want perform the point doubling operation of P = (0,2), obviously we can not do it geometrically using the rule of chord. But we can do it using our algebraic equations developed earlier in the book:

Calculation of 2P = P +P:
   2P = P + P = R = (xR, yR)
   P = (xP, yP) = (0, 2)

   xR = m2 - 2xP                  (4)
   yR = m(xP - xR) - yP           (5)

       3(xP)2 + a
   m = ---------                 (6)
         2(yP)

   m = (3*0*0 + 1)/(2*2) = 1/4
   xR = (1/4)*(1/4) - 2*0 = 1/16
   yR = (1/4)*(0 - 1/16) - 2 = -1/64 - 2 = -129/64

Result:
   2P = R = (xR, yR) = (1/16, -129/64)

As you can see, the resulting point R is not an integer point and it is not in the first region! In other words, (0,2) + (0,2) using the original rule of chord operation as the addition operation does not satisfy the "Closure" condition of Abelian group.

See the next tutorial on how to reduce the point addition operation.

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

 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 - E23(1,4)

 Reduced Elliptic Curve Group - E97(-1,1)

 Reduced Elliptic Curve Group - E127(-1,3)

 Reduced Elliptic Curve Group - E1931(443,1045)

 What Is Hasse's Theorem

 Finite Elliptic Curve Group, Eq(a,b), q = p^n

 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