**EC Cryptography Tutorials - Herong's Tutorial Examples** - Version 1.00, by Dr. Herong Yang

What Is Discrete Logarithm Problem (DLP)

This section describes what is Discrete Logarithm Problem (DLP), which is the reverse operation of an exponentiation (or scalar multiplication) operation in an Abelian group.

**What Is Discrete Logarithm Problem (DLP)?**
DLP in an Abelian Group can be described as the following:

For a given element, P, in an Abelian Group, the resulting point of
an exponentiation operation, Q = P^{n}, in multiplicative notation is provided.
The problem of finding the smallest exponent, n, such that P^{n} = Q,
is called Discrete Logarithm Problem (DLP).

In other words, the reverse operation of an exponentiation is called DLP, which can be expressed as the following using the "Logarithm" function, log(). This is where the "Discrete Logarithm Problem (DLP)" name comes from:

Given P and (Q = P^{n}), find the smallest n: n = log_{P}(Q)

In additive notation, Discrete Logarithm Problem (DLP) can be expressed as the following using the "division" operation:

Given P and (Q = nP), find the smallest n: n = Q/P

Last update: 2019.

Table of Contents

Geometric Introduction to Elliptic Curves

Algebraic Introduction to Elliptic Curves

Abelian Group and Elliptic Curves

►Discrete Logarithm Problem (DLP)

Doubling or Squaring in Abelian Group

Scalar Multiplication or Exponentiation

►What Is Discrete Logarithm Problem (DLP)

Examples of Discrete Logarithm Problem (DLP)

Scalar Multiplication on Elliptic Curve as Trapdoor Function

Generators and Cyclic Subgroups

tinyec - Python Library for ECC

ECDH (Elliptic Curve Diffie-Hellman) Key Exchange

ECDSA (Elliptic Curve Digital Signature Algorithm)