Key exchange protocols have been developed to solve the problem of confidentially setting up a secret key between two or more parties, without an unauthorized party being able to intercept, deduce or receive the key in any way. Internet Key Exchange (IKE) is the protocol that sets up a secure and authenticated communication channel between two parties. IKE uses X.509 PKI certificates for authentication and the Diffie Hellman key exchange protocol to create a common secret key. The first publicly known public key memorandum of understanding that meets the above criteria was the Diffie-Hellman key exchange, in which two parties together expose a random generator in such a way that a listener cannot determine in a feasible way what is the resulting value used to make a common key. A large number of cryptographic authentication schemes and protocols have been developed to provide key authenticated agreements to prevent man-in-the-middle and related attacks. These methods mathematically link the agreed key to other agreed data, such as: a widely used mechanism to counter these attacks is the use of digitally signed keys, which must be guaranteed integrity: if Bob`s key is signed by a trusted third party who is the guarantor of his identity, Alice can have considerable trust, That a signed key she receives is not an attempt to be intercepted by Eve. If Alice and Bob have a public key infrastructure, they can digitally sign an agreed Diffie Hellman key or exchange public diffie-hellman keys. These are designed to withstand man-in-the-middle attacks and other active attacks against the password and established keys. For example, DH-EKE, SPEKE, and SRP are authenticated variations of Diffie-Hellman. The exponential exchange of keys in itself does not provide for prior agreement or subsequent authentication between participants. It has therefore been described as an anonymous key memorandum of understanding. Many key exchange systems allow one party to generate the key and send that key simply to the other party – the other party has no influence on the key.
Using a key-agreement protocol avoids some key distribution issues related to these systems. Frequently used key-agreement protocols include Diffie-Hellman or rsa- or ECC-based protocols. Key exchange protocols allow two or more parties to set up a common encryption key that allows them to encrypt or sign data they wish to exchange. Key exchange protocols typically use cryptography to achieve this goal….