Diffie-Hellman key exchange system
