Add Diffie-Hellman key exchange