Math Primer
modern day discrete logarithms are done over a elliptic curve operations, which makes them faster. old school shit = finite field crypto... but they’re basically the same.
p, q = prime numbers where p= alpha*q +1
- alpha = integer
- Zn = set of integers mod n
$$a^{-1}$$ element of Zn = multiplicative inverse a element of Zn, $$aa^{-1}=1 mod n$$
Zn* = set of ints mod n, where a multiplicative inverse exists
- if n is prime, Zp = {1,2,..., n-1}
a = element in Zp* = generator of Zp*
t = order of a = smallest int where $$a^t = 1\ mod p$$
- if t = p (prime number from pt 1), a is a generator of Zp*
- Gq = cyclic subgroup of Zp* of order q. a is an element of Gq AND of Zp*
- let g = generator of Gq
- look at last point in the gray above
p = (q*alpha) +1, p and q are primes, alpha is just an int
g is a generator, where g^0 to g^q-1 mod p gives a unique number each time (then it wraps)