Diffie-Hellman Key Exchange
Diffie-Hellman Key Exchange
By Will Garner
Some Preliminaries:
Def: An element g is called a generator of a group G if every element in G can be expressed as the product of finitely many powers of g.
Some Preliminaries:
Def: If p 1 is an integer, then the numbers coprime to p, taken modulo p, form a group with multiplication as its operation. It is written as (Z/pZ) or Zp*. This group is cyclic and any generator, g, of the group is called a primitive root mod p.
Some Preliminaries:
Def: The number of invertible elements modulo n is denoted by f(n). The function f is called Eulers Totient function or Eulers f-function. In particular, f(p) = p 1.
Some Preliminaries:
Def: Suppose g is a primitive root mod p. If gx y (mod p), then the discrete logarithm or index of y (to the base g) is indg(y) = x mod (f(p)).
Now, both Alice and Bob have the same key, namely k = gab (mod p).
then it would take roughly 1.14824 1021 steps to solve. (Each step requires many calculations.) Even using Googles computers which are estimated to perform 300 trillion calculations per second, it would take roughly 5 years to solve.