A super-friendly guide to finite fields for programmers Chapter 5
Going from FizzBuzz to writing your own Finite Field Arithmetic Library
Apologies for the Paywall
LeetArxiv and the Finite Field Assembly (FF-asm) programming language are entirely funded by our Substack readers. Thank you for your understanding and support!
Chapter 5 : The Discrete Logarithm Problem and the Index Calculus Solution
Discrete logarithms lie at the heart of applied finite field theory. This chapter aims to guide through the key equations in plain language.
By the end of this chapter, you will:
Be able to define the discrete logarithm and establish its importance.
Grasp the properties of discrete logarithms.
Learn to implement brute force and calculus-based solutions to solve the discrete logarithm problem.
1. Formal Introduction to the Discrete Logarithm
First, we define the discrete logarithm as the exponent to which you raise a generator to produce a target value.
*Remember, from Chapter 2, a generator is an element of a finite field that can produce all other elements in the field through repeated multiplication. It’s like a seed that grows the entire field.
In the equation above :
g is the group generator.
x is the discrete logarithm.
p is a modulus.
h is the target value.
The discrete logarithm problem is to determine, for any two given elements, g and h, the integer x satisfying the relation shown in the formal definition.
Keep reading with a 7-day free trial
Subscribe to LeetArxiv to keep reading this post and get 7 days of free access to the full post archives.