implemention Diffie-Hellman key exchange on server-side