KeyExchange()
Key exchange.
Allows two parties to securely compute a set of shared keys using their peer's public key and their own secret key.