Friday 5 December 2014

Some Details About Diffie-Hellman

Who are those people? Diffie and Hellman are researchers.
These people invented the algorithm of "Diffie-Hellman key exchange" in the field of cryptography.
What they have done? They published the first public-key algorithm known as a "Diffie-Hellman key exchange" the same year, finally making exchange of the keys real and secure.

Overview of the Algorithm Diffie-Hellman key exchange (D-H) is a cryptographic that allows two parties that have no prior knowledge of each other to jointly establish a shared secret key over an insecure communication channel. This key can then be used to encrypt subsequent communications using a symmetric key cipher. Synonyms of Diffie-Hellman key exchange include: o Key agreement o Key establishment o Key negotiation o Exponential key exchange o Diffie-Hellman protocol The agreement was invented in 1976 during collaboration between Whitfield Diffie and Martin Hellman and was the first practical method for establishing a shared secret over an unprotected communication channel.

The method was followed shortly afterwards by RSA, another implementation of public key cryptography using asymmetric algorithms.
Protocol in action The protocol has two system parameters p and g.

They are both public and may be used by all the users in a system.
Parameter p is a prime number and parameter g (usually called a generator) is an integer less than p, with the following property: for every number n between 1 and p-1 inclusive, there is a power k of g such that n = gk mod p. To make a simpler description we shall imagine two people - Alice and Bob who want to securely exchange data. Suppose Alice and Bob want to agree on a shared secret key using the Diffie-Hellman key agreement protocol.

They proceed as follows: o Alice and Bob agree on a finite cyclic group G and a generating element g in G.

(This is usually done long before the rest of the protocol; g is assumed to be known by all attackers).

o First, Alice generates a random private value a, and Bob generates a random private value b.

Both a and b are drawn from the set of integers.
o Then they derive their public values using parameters p and g and their private values. o Alice's public value is ga mod p and Bob's public value is gb mod p. They then exchange their public values.

o Finally, Alice computes gab = (gb) a mod p, and Bob computes gba = (ga) b mod p.

Since gab = gba = k, Alice and Bob now have a shared secret key k. The important point is that the two values generated are identical.

They are the "Shared Secret" that can encrypt information between systems.
Diffie-Hellman key exchange has a very important place in modern cryptography, and even when the science moves on it is still needed and used.

No comments:

Post a Comment