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

What Is Hasse's Theorem

This section describes Hasse's Theorem, which states that the order, n, of a reduced elliptic curve group, E_{p}(a,b), is bounded in the range of [p+1 - 2*sqrt(p), p+1 + 2*sqrt(p)].

**What Is Hasse's Theorem?**
Hasse's Theorem is also called Hasse Bound, which
provides an estimate of the number of points on an elliptic
curve over a finite field,
bounding the value both above and below.

For a given elliptic curve E(a,b) over a finite field with p elements, the number of points, n, on the curve satisfies the following condition: |n - (p+1)| <= 2*sqrt(p)

If we apply Hasse's Theorem to our reduced elliptic curve group
definition, E_{p}(a,b)), we have:

Given reduced elliptic curve group E_{p}(a,b), the group order, n, satisfies the following condition: |n - (p+1)| <= 2*sqrt(p) Or n is in a range as expressed below: p+1 - 2*sqrt(p) <= n <= p+1 + 2*sqrt(p)

It's interesting to see that the group order is only depending on the prime number used in the modular arithmetic reduction, not on coefficients, a and b, of the elliptic curve equation.

Hasse's Theorem is named after German mathematician Helmut Hasse (25 August 1898 - 26 December 1979):

For more details, see "Hasse's theorem on elliptic curves" at en.wikipedia.org/wiki/Hasse%27s_theorem_on_elliptic_curves.

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)