DH_new() allocates and initializes a DH structure.
DH_free() frees the DH structure and
its components. The values are erased before the memory is returned
to the system.
RETURN VALUES
If the allocation fails, DH_new() returns NULL and sets an error code that can be
obtained by ERR_get_error(3). Otherwise it
returns a pointer to the newly allocated structure.