## Overview#

Key-Exchange (also known as "key establishment") is any method in Cryptography by which cryptographic keys are exchanged between users, allowing use of a cryptographic algorithm.[1]If sender and receiver wish to exchange encrypted messages, each must be equipped to perform encryption on messages to be sent and perform decryption messages received. The nature of the equipping they require depends on the Encryption technique they might use.

If they use a code, both will require a copy of the same codebook. If they use a cipher, they will need appropriate keys. If the Cipher is a Symmetric Key cipher, both will need a copy of the same key.

If an Asymmetric Key cipher with the Public Key/Private Key property, both will need the other's Public Key.

Preferably RSA should only be used for Authentication and the Key-Exchange should be performed using Diffie-Hellman key-exchange.

In TLS, the Key-Exchange is specified in the Cipher Suite the is negotiated with the ServerKeyExchange and the ClientKeyExchange Messages.

### More Information#

There might be more information for this subject on one of the following:- AES-GCM
- Anonymous Cipher Suite
- Best Practices OpenID Connect
- Certificates and Authentication
- Cipher Suite
- ClientKeyExchange
- Curve25519
- Curve448
- DH
- DHE
- Deprecating Secure Sockets Layer Version 3.0
- Diffie-Hellman
- Diffie-Hellman Ephemeral
- Diffie-Hellman key-exchange
- Diffie-Hellman or RSA
- ECDHE
- Elliptic Curve Diffie-Hellman
- Elliptic Curve Diffie-Hellman Ephemeral
- Ephemeral Key
- How SSL-TLS Works
- Known Cipher Suites
- Logjam
- Master Secret
- NSA Suite B Cryptography
- OAuth 2.0 Message Authentication Code (MAC) Tokens
- Off-the-Record Messaging
- Over-the-Air Rekeying
- RSA key-exchange
- ServerKeyExchange
- Session Key
- Shared Secret
- TLS 1.3
- The SRP Authentication and Key Exchange System
- Web Blog_blogentry_150617_1

- [#1] - Key Exchange - based on 2015-03-23