The Diffie-Hellman algorithm was developed by Whitfield Diffie and Martin Hellman in 1976.
This algorithm was devices not to encrypt the data but to generate same private cryptographic key at both ends so that there is no need to transfer this key from one communication end to another.
Diffie – Hellman algorithm is an algorithm that allows two parties to get the shared secret key using the communication channel, which is not protected from the interception but is protected from modification.
2. Techniques for encryption
• There are two basic techniques for encrypting
information:
• symmetric encryption (also called secret key
encryption) and
• asymmetric encryption (also called public and
private key encryption.)
3. History
• The Diffie-Hellman algorithm was developed by
Whitfield Diffie and Martin Hellman in 1976.
• This algorithm was devices not to encrypt the
data but to generate same private cryptographic
key at both ends so that there is no need to
transfer this key from one communication end to
another.
4. Diffie-hellman algorithm
• Asymmetric Encryption of data requires transfer of
cryptographic private key.
• The most challenging part in this type of encryption is the
transfer of the encryption key from sender to receiver
without anyone intercepting this key in between.
• This transfer or rather generation on same cryptographic
keys at both sides secretively was made possible by the
Diffie-Hellman algoritHm.
5. Defination
• Diffie – Hellman algorithm is an algorithm that
allows two parties to get the shared secret key using
the communication channel, which is not protected
from the interception but is protected from
modification.
6. Alice Bob
• The first step in public-key cryptography Alice and Bob want exchange
an encryption key over an insecure communication link where Eve is
listening in.
• To do this they need to use a prime number.
• The Diffie-Hellman algorithm uses a simple concept in mathematics
where a prime number can be used to generate a list of numbers in a
seemingly random sequence.
• This seemingly random sequence is what make the algorithm secure.
Step 1: Alice and Bob agree on a prime number P.
P = 5
Eve
7. Alice
Bob
Eve
Step 2: Alice and Bob agree on a primitive root of their prime number.
Let us test if the number 3 is a primitive root of 5.
g^(positive whole number less than our P)
3^1=3
3^2=9
3^3=27
3^4=81
Then we set our upper limit of our output to the value of our prime, by getting
the remainder after division.
3 mod 5 = 3
9 mod 5 = 4
27 mod 5 = 2
81 mod 5 = 1. So now that we have found our primitive root we will note its
value. g = 3
11. Alice
Bob
Eve
Step 6: Bob computer his
public key and sends it to
Alice.
B = g^b mod P
B= 3^7 mod 5
B = 2
12. Alice
Bob
Eve
Step 7: Alice and Bob now compute a shared secret key
[Shared Key] = [other persons public key]^[their own secret key] mod P
Bob: S = 4^7 mod 5
Alice: S = 2^6 mod 5
S = 4
13.
14.
15. Advantages & Disadvantages
• Advantages:
– The sender and receiver have no prior knowledge of each other.
– Communication can take place through an insecure channel.
– Sharing of secret key is safe.
• Disadvantage:
A problem with asymmetric encryption, however, is that it is slower
than symmetric encryption. It requires far more processing
power to both encrypt and decrypt the content of the message.