Diffie-Hellman Key Exchange
Diffie-Hellman Key Exchange
Diffie-Hellman Key Exchange
Exchange
1
What is Diffie-Hellman?
A Public Key Algorithm
Only for Key Exchange
Does NOT Encrypt or Decrypt
Based on Discrete Logarithms
Widely used in Security Protocols and
Commercial Products
Williamson of Britains CESG claims to have
discovered it several years prior to 1976
2
Discrete Logarithms
What is a logarithm?
log10100 = 2 because 102 = 100
In general if logmb = a then ma = b
Where m is called the base of the logarithm
A discrete logarithm can be defined for
integers only
In fact we can define discrete logarithms mod
p also where p is any prime number
3
Discrete Logarithm Problem
The security of the Diffie-Hellman algorithm
depends on the difficulty of solving the discrete
logarithm problem (DLP) in the multiplicative
group of a finite field
4
Sets, Groups and Fields
A set is any collection of objects called the
elements of the set
Examples of sets: R, Z, Q
If we can define an operation on the elements of
the set and certain rules are followed then we
get other mathematical structures called groups
and fields
5
Groups
A group is a set G with a custom-defined binary
operation + such that:
The group is closed under +, i.e., for a, b G:
a+bG
The Associative Law holds i.e., for any a, b, c G:
a + (b + c) = (a + b) + c
There exists an identity element 0, such that
a+0=a
For each a G there exists an inverse element a such that
a + (-a) = 0
If for all a, b G: a + b = b + a then the group is
called an Abelian or commutative group
If a group G has a finite number of elements it is called
a finite group
6
More About Group
Operations
+ does not necessarily mean normal arithmetic
addition
+ just indicates a binary operation which can be
custom defined
The group operation could be denoted as
The group notation with + is called the additive
notation and the group notation with is called
the multiplicative notation
7
Fields
A field is a set F with two custom-defined binary
operations + and such that:
The Field is closed under + and , i.e., for a, b F:
a + b F and a b F
The Associative Law holds i.e., for any a, b, c F:
a + (b + c) = (a + b) + c and a (b c) = (a b) c
There exist identity elements 0 and 1, such that
a + 0 = a and a 1 = a
For each a F there exist inverse elements a and a-1such
that
a + (-a) = 0 and a a-1 = 1
If a field F has a finite number of elements it is called
a finite field
8
Examples of Groups
Groups
Set of real numbers R under +
Set of real numbers R under *
Set of integers Z under +
Set of integers Z under *?
Set of integers modulo a prime number p under +
Set of integers modulo a prime number p under *
Set of 3 X 3 matrices under + meaning matrix addition
Set of 3 X 3 matrices under * meaning matrix multiplication?
Fields
Set of real numbers R under + and *
Set of integers Z under + and *
Set of integers modulo a prime number p under + and *
9
Generator of Group
If for a G, all members of the group can be written
in terms of a by applying the group operation * on a a
number of times then a is called a generator of the
group G
Examples
2 is a generator of Z*11
2 and 3 are generator of Z*19
m 1 2 3 4 5 6 7 8 9 10
2m mod 11 2 4 8 5 10 9 7 3 6 1
m 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
2m mod 19 2 4 8 16 13 7 14 3 6 17 15 11 3 6 12 5 10 1
3m mod 19 3 9 8 5 15 7 2 6 18 16 10 11 14 4 12 17 13 1
10
Primitive Roots
If xn = a then a is called the n-th root of x
For any prime number p, if we have a number a such that
powers of a mod p generate all the numbers between 1 to
p-1 then a is called a Primitive Root of p.
In terms of the Group terminology a is the generator
element of the multiplicative group of the finite field
formed by mod p
Then for any integer b and a primitive root a of prime
number p we can find a unique exponent i such that
b = ai mod p
The exponent i is referred to as the discrete logarithm or
index, of b for the base a.
11
12
13
Diffie-Hellman Algorithm
Five Parts
1. Global Public Elements
2. User A Key Generation
3. User B Key Generation
4. Generation of Secret Key by User A
5. Generation of Secret Key by User B
14
Global Public Elements
q Prime number
< q and is a primitive root
of q
The global public elements are also sometimes
called the domain parameters
15
User A Key Generation
Select private XA XA < q
Calculate public YA YA = XA mod q
16
User B Key Generation
Select private XB XB < q
Calculate public YB YB = XB mod q
17
Generation of Secret Key by
User A
K = (YB)XA mod q
18
Generation of Secret Key by
User B
K = (YA)XB mod q
19
Diffie-Hellman Key
Exchange
20
Diffie-Hellman Example
q = 97
=5
XA = 36
XB = 58
YA = 536 = 50 mod 97
YB = 558 = 44 mod 97
K = (YB)XA mod q = 4436 mod 97 = 75 mod 97
K = (YA)XB mod q = 5058 mod 97 = 75 mod 97
21
Why Diffie-Hellman is
Secure?
Opponent has q, , YA and YB
To get XA or XB the opponent is forced to take a
discrete logarithm
The security of the Diffie-Hellman Key
Exchange lies in the fact that, while it is
relatively easy to calculate exponentials modulo
a prime, it is very difficult to calculate discrete
logarithms. For large primes, the latter task is
considered infeasible.
22