a diffie hellman encyption client