Diffie Hellman key exchange protocol