client diffie hilman stuff for real