=head1 NAME
-DH_generate_key, DH_compute_key - Perform Diffie-Hellman key exchange
+DH_generate_key, DH_compute_key - perform Diffie-Hellman key exchange
=head1 SYNOPSIS
DH_generate_key() expects B<dh> to contain the shared parameters
B<dh-E<gt>p> and B<dh-E<gt>g>. It generates a random private DH value
-unless B<dh-E<gt>priv_key> is already set, and computes the
-corresponding public value B<dh-E<gt>pub_key>, which can then be
-published.
+B<dh-E<gt>priv_key>, and it computes the corresponding public value
+B<dh-E<gt>pub_key>, which can then be published.
DH_compute_key() computes the shared secret from the private DH value
in B<dh> and the other party's public value in B<pub_key> and stores
DH_compute_key() returns the size of the shared secret on success, -1
on error.
-The error codes can be obtained by ERR_get_error(3).
+The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-dh(3), err(3), rand(3), DH_size(3)
+L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<DH_size(3)|DH_size(3)>
=head1 HISTORY
DH_generate_key() and DH_compute_key() are available in all versions
of SSLeay and OpenSSL.
+Up to version 0.9.6b, DH_generate_key() would not generate a new
+key if B<dh-E<gt>priv_key> was already set.
=cut