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

Generators and Cyclic Subgroups

This chapter provides introduction on generating subgroups from elements in finite Abelian groups; definitions and examples of subgroup generators, subgroup order, cyclic subgroups, Lagrange-Theorem.

What Is Subgroup in Abelian Group

What Is Subgroup Generator in Abelian Group

Every Element Is Subgroup Generator

Takeaways:

- A subgroup in an Abelian Group is a subset of the Abelian Group that itself is an Abelian Group.
- A subgroup generator is an element in an finite Abelian Group that can be used to generate a subgroup using a series of scalar multiplication operations in additive notation.
- The order of an element P in a finite Abelian Group is the least positive integer n, such that the scalar multiplication of n and P is 0, where 0 is the identity element in additive notation.
- Every element in a finite Abelian group is a subgroup generator, which can be used to generate an subgroup.
- Lagrange Theorem states that the order of any subgroup in an finite Abelian group divides the order of the parent group.
- A Cyclic Subgroup is a finite Abelian group that can be generated by a single element using the scalar multiplication operation in additive notation (or exponentiation operation in multiplicative notation).
- All subgroups generated from elements in finite Abelian groups are cyclic groups.

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

tinyec - Python Library for ECC

ECDH (Elliptic Curve Diffie-Hellman) Key Exchange

ECDSA (Elliptic Curve Digital Signature Algorithm)