an toàn bảo mật thông tin
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 Z p * . 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 Euler’s Totient function or Euler’s f-function. In particular, f(p) = p – 1. Some Preliminaries: Def: Suppose g is a primitive root mod p. If g x ª y (mod p), then the discrete logarithm or index of y (to the base g) is ind g (y) = x mod (f(p)). Diffie-Hellman Key Exchange Developed in 1976 and published in “New Directions in Cryptography.” The protocol allows two users to exchange a secret key over an insecure medium without any prior secrets. Diffie-Hellman Key Exchange The Setup: Suppose we have two people wishing to communicate: Alice and Bob. They do not want Eve (eavesdropper) to know their message. Alice and Bob agree upon and make public two numbers g and p, where p is a prime and g is a primitive root mod p. Note: Anyone has access to these numbers. Diffie-Hellman Key Exchange The Exchange: 1. Alice chooses a random number a and computes u ª g a (mod p), and sends u to Bob. 2. Bob chooses a random number b and computes v ª g b (mod p), and sends v to Alice. 3. Bob computes the key k ª u b ª (g a ) b (mod p). 4. Alice computes the key k ª v a ª (g b ) a (mod p). Now, both Alice and Bob have the same key, namely k = g ab (mod p). Diffie-Hellman Key Exchange If Eve wants to compute k, then she would need either a or b. Otherwise, Eve would need to solve a Discrete Logarithm Problem. There is no known algorithm to accomplish this in a reasonable amount of time. Discrete Logarithm Problem The Problem: Solve for x if y ª g x (mod p), given you know y, g and p. Solution 1: Brute Force. It would take p steps to calculate the solution. Each trial requires a fair amount of work. Not efficient. . (mod 47) = 24. Diffie-Hellman Key Exchange Thus, Alice and Bob have agreed upon a secret key, k = 24. Diffie-Hellman Key Exchange Susceptibility:. allows two users to exchange a secret key over an insecure medium without any prior secrets. Diffie-Hellman Key Exchange The Setup: Suppose we have