Diffie-Hellman-Algorithm is primarily a protocol that is used for key exchange. Using this interactive protocol two parties will derive a common secret key by communicating each other. The security of Diffie-Hellman algorithm is mainly based on the difficulty of computing the discrete logarithms.
Applications of Diffie Hellman Algorithm:
Many protocol uses Diffie-Hellman algorithm to enhance security and few of them are:
- Secure Shell (SSH)
- Transport Layer Security (TLS) / Secure Sockets Layer (SSL)
- Public Key Infrastructure (PKI)
- Internet Key Exchange (IKE)
- Internet Protocol Security (IPSec)
Limitations of Diffie Hellman Algorithm:
The following are the limitations of Diffie-Hellman algorithm:
- Lack of authentication procedure.
- Algorithm can be used only for symmetric key exchange.
- As there is no authentication involved, it is vulnerable to man-in-the-middle attack.
- As it is computationally intensive, it is expensive in terms of resources and CPU performance time.
- Encryption of information cannot be performed with the help of this algorithm.
- Digital signature cannot be signed using Diffie-Hellman algorithm.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- TCP/IP Ports and Its Applications
- Applications of various Automata
- Applications of Ad hoc network and it's problems
- Inclusion-Exclusion and its various Applications
- Core Defences Mechanism in Web Applications
- Arden's Theorem and Challenging Applications | Set 2
- RC5 Encryption Algorithm
- RC4 Encryption Algorithm
- Cristian's Algorithm
- Difference between RSA algorithm and DSA
- Berkeley's Algorithm
- Luhn algorithm
- RSA Algorithm in Cryptography
- LOOK Disk Scheduling Algorithm
- Back-off Algorithm for CSMA/CD
- Blowfish Algorithm with Examples
- Ethernet Transmitter Algorithm
- C-LOOK Disk Scheduling Algorithm
- Relabel-to-front Algorithm
- ElGamal Encryption Algorithm
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.