Definition
Key exchange is a cryptographic process through which two or more parties securely exchange cryptographic keys, allowing them to share encrypted information.
Moreover, it is designed so that the copies of the keys are only accessible by the two parties, which means only they can access the encrypted communication.
The two parties must agree on the encryption keys to initiate the key exchange conducted in-band or out-band.
Key Exchange Schemes
- RSA-OAEP: It uses RSA encryption and optimal asymmetric encryption. It is commonly used for public-key encryption. Because it adds some randomness, a deterministic encryption scheme can be changed into a probabilistic scheme.
- Diffie-Hellman key exchange (DHKE): It enables two parties to exchange secret keys securely, even if a third party tracks their communication channel. This technique can prevent data interception or sniffing attacks. However, since it doesn’t authenticate the user’s identity at the other end of the communication, it can be vulnerable to man-in-the-middle attacks. This key exchange can be implemented via discrete logarithms like elliptic-curve cryptography or the DHKE algorithm.