=head1 SEE ALSO
-req(1), spkac(1), x509(1), CA.pl(1), config(5)
+L<req(1)|req(1)>, L<spkac(1)|spkac(1)>, L<x509(1)|x509(1)>, L<CA.pl(1)|CA.pl(1)>,
+L<config(5)|config(5)>
=cut
=head1 SEE ALSO
-s_client(1), s_server(1), ssl(3)
+L<s_client(1)|s_client(1)>, L<s_server(1)|s_server(1)>, L<ssl(3)|ssl(3)>
=cut
=head1 SEE ALSO
-x509(1), req(1), ca(1)
+L<x509(1)|x509(1)>, L<req(1)|req(1)>, L<ca(1)|ca(1)>
=cut
=head1 SEE ALSO
-crl2pkcs7(1), ca(1), x509(1)
+L<crl2pkcs7(1)|crl2pkcs7(1)>, L<ca(1)|ca(1)>, L<x509(1)|x509(1)>
=cut
=head1 SEE ALSO
-pkcs7(1)
+L<pkcs7(1)|pkcs7(1)>
=cut
=head1 SEE ALSO
-dsaparam(1)
+L<dsaparam(1)|dsaparam(1)>
=cut
=head1 SEE ALSO
-dsaparam(1), gendsa(1), rsa(1), genrsa(1)
+L<dsaparam(1)|dsaparam(1)>, L<gendsa(1)|gendsa(1)>, L<rsa(1)|rsa(1)>,
+L<genrsa(1)|genrsa(1)>
=cut
=head1 SEE ALSO
-gendsa(1), dsa(1), genrsa(1), rsa(1)
+L<gendsa(1)|gendsa(1)>, L<dsa(1)|dsa(1)>, L<genrsa(1)|genrsa(1)>,
+L<rsa(1)|rsa(1)>
=cut
=head1 SEE ALSO
-dsaparam(1), dsa(1), genrsa(1), rsa(1)
+L<dsaparam(1)|dsaparam(1)>, L<dsa(1)|dsa(1)>, L<genrsa(1)|genrsa(1)>,
+L<rsa(1)|rsa(1)>
=cut
=head1 SEE ALSO
-gendsa(1)
+L<gendsa(1)|gendsa(1)>
=head1 SEE ALSO
-asn1parse(1), ca(1), config(1), crl(1), crl2pkcs7(1), dgst(1), dh(1),
-dsa(1), dsaparam(1), enc(1), gendh(1), gendsa(1), genrsa(1), nseq(1),
-openssl(1), pkcs12(1), pkcs7(1), pkcs8(1), req(1), rsa(1), s_client(1),
-s_server(1), smime(1), spkac(1), verify(1), version(1), x509(1),
-crypto(3), ssl(3)
+L<asn1parse(1)|asn1parse(1)>, L<ca(1)|ca(1)>, L<config(5)|config(5)>,
+L<crl(1)|crl(1)>, L<crl2pkcs7(1)|crl2pkcs7(1)>, L<dgst(1)|dgst(1)>,
+L<dh(1)|dh(1)>, L<dsa(1)|dsa(1)>, L<dsaparam(1)|dsaparam(1)>,
+L<enc(1)|enc(1)>, L<gendh(1)|gendh(1)>, L<gendsa(1)|gendsa(1)>,
+L<genrsa(1)|genrsa(1)>, L<nseq(1)|nseq(1)>, L<openssl(1)|openssl(1)>,
+L<pkcs12(1)|pkcs12(1)>, L<pkcs7(1)|pkcs7(1)>, L<pkcs8(1)|pkcs8(1)>,
+L<req(1)|req(1)>, L<rsa(1)|rsa(1)>, L<s_client(1)|s_client(1)>,
+L<s_server(1)|s_server(1)>, L<smime(1)|smime(1)>, L<spkac(1)|spkac(1)>,
+L<verify(1)|verify(1)>, L<version(1)|version(1)>, L<x509(1)|x509(1)>,
+L<crypto(3)|crypto(3)>, L<ssl(3)|ssl(3)>
=head1 HISTORY
=head1 SEE ALSO
-pkcs8(1)
+L<pkcs8(1)|pkcs8(1)>
=head1 SEE ALSO
-crl2pkcs7(1)
+L<crl2pkcs7(1)|crl2pkcs7(1)>
=cut
=head1 SEE ALSO
-dsa(1), rsa(1), genrsa(1), gendsa(1)
+L<dsa(1)|dsa(1)>, L<rsa(1)|rsa(1)>, L<genrsa(1)|genrsa(1)>,
+L<gendsa(1)|gendsa(1)>
=cut
=head1 SEE ALSO
-x509(1), ca(1), genrsa(1), gendsa(1), config(5)
+L<x509(1)|x509(1)>, L<ca(1)|ca(1)>, L<genrsa(1)|genrsa(1)>,
+L<gendsa(1)|gendsa(1)>, L<config(5)|config(5)>
=cut
=head1 SEE ALSO
-pkcs8(1), dsa(1), genrsa(1), gendsa(1)
+L<pkcs8(1)|pkcs8(1)>, L<dsa(1)|dsa(1)>, L<genrsa(1)|genrsa(1)>,
+L<gendsa(1)|gendsa(1)>
=cut
=head1 SEE ALSO
-sess_id(1), s_server(1), ciphers(1)
+L<sess_id(1)|sess_id(1)>, L<s_server(1)|s_server(1)>, L<ciphers(1)|ciphers(1)>
=cut
=head1 SEE ALSO
-sess_id(1), s_client(1), ciphers(1)
+L<sess_id(1)|sess_id(1)>, L<s_client(1)|s_client(1)>, L<ciphers(1)|ciphers(1)>
=cut
=head1 SEE ALSO
-ciphers(1), s_server(1)
+L<ciphers(1)|ciphers(1)>, L<s_server(1)|s_server(1)>
=cut
=head1 SEE ALSO
-ca(1)
+L<ca(1)|ca(1)>
=cut
=head1 SEE ALSO
-x509(1)
+L<x509(1)|x509(1)>
=cut
=head1 SEE ALSO
-req(1), ca(1), genrsa(1), gendsa(1), verify(1)
+L<req(1)|req(1)>, L<ca(1)|ca(1)>, L<genrsa(1)|genrsa(1)>,
+L<gendsa(1)|gendsa(1)>, L<verify(1)|verify(1)>
=cut
BN_CTX_new() returns a pointer to the B<BN_CTX>. If the allocation fails,
it returns B<NULL> and sets an error code that can be obtained by
-ERR_get_error(3).
+L<ERR_get_error(3)|ERR_get_error(3)>.
BN_CTX_init() and BN_CTX_free() have no return values.
=head1 SEE ALSO
-bn(3), err(3), BN_add(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<BN_add(3)|BN_add(3)>
=head1 HISTORY
BN_mod_mul() multiplies B<a> by B<b> and finds the remainder when
divided by B<m> (C<r=(a*b)%m>). B<r> may be the same B<BIGNUM> as B<a>
or B<b>. For a more efficient algorithm, see
-L<BN_mod_mul_montgomery(3)>; for repeated computations using the same
-modulus, see L<BN_mod_mul_reciprocal(3)>.
+L<BN_mod_mul_montgomery(3)|BN_mod_mul_montgomery(3)>; for repeated
+computations using the same modulus, see L<BN_mod_mul_reciprocal(3)|BN_mod_mul_reciprocal(3)>.
BN_exp() raises B<a> to the B<p>-th power and places the result in B<r>
(C<r=a^p>). This function is faster than repeated applications of
B<b>.
For all functions, B<ctx> is a previously allocated B<BN_CTX> used for
-temporary variables; see L<BN_CTX_new(3)>.
+temporary variables; see L<BN_CTX_new(3)|BN_CTX_new(3)>.
Unless noted otherwise, the result B<BIGNUM> must be different from
the arguments.
For all functions, 1 is returned for success, 0 on error. The return
value should always be checked (e.g., C<if (!BN_add(r,a,b)) goto err;>).
-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
-bn(3), err(3), BN_CTX_new(3), BN_add_word(3), BN_set_bit(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<BN_CTX_new(3)|BN_CTX_new(3)>,
+L<BN_add_word(3)|BN_add_word(3)>, L<BN_set_bit(3)|BN_set_bit(3)>
=head1 HISTORY
=head1 RETURN VALUES
BN_add_word(), BN_sub_word() and BN_mul_word() return 1 for success, 0
-on error. The error codes can be obtained by ERR_get_error(3).
+on error. The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
BN_mod_word() and BN_div_word() return B<a>%B<w>.
=head1 SEE ALSO
-bn(3), err(3), BN_add(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<BN_add(3)|BN_add(3)>
=head1 HISTORY
BN_bn2mpi() returns the length of the representation. BN_mpi2bn()
returns the B<BIGNUM>, and NULL 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
-bn(3), err(3), BN_zero(3), ASN1_INTEGER_to_BN(3), BN_num_bytes(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<BN_zero(3)|BN_zero(3)>,
+L<ASN1_INTEGER_to_BN(3)|ASN1_INTEGER_to_BN(3)>,
+L<BN_num_bytes(3)|BN_num_bytes(3)>
=head1 HISTORY
=head1 SEE ALSO
-bn(3)
+L<bn(3)|bn(3)>
=head1 HISTORY
BN_copy() returns B<to> on success, NULL on error. BN_dup() returns
the new B<BIGNUM>, and NULL on error. The error codes can be obtained
-by ERR_get_error(3).
+by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-bn(3), err(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>
=head1 HISTORY
prime with an error probability of less than 0.25^B<checks>, and
-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
-bn(3), err(3), rand(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>
=head1 HISTORY
=head1 RETURN VALUES
BN_mod_inverse() returns the B<BIGNUM> containing the inverse, and
-NULL on error. The error codes can be obtained by ERR_get_error(3).
+NULL on error. The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-bn(3), err(3), BN_add(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<BN_add(3)|BN_add(3)>
=head1 HISTORY
=head1 DESCRIPTION
BN_mod_mul_reciprocal() can be used to perform an efficient
-BN_mod_mul(3) operation when the operation will be performed
+L<BN_mod_mul(3)|BN_mod_mul(3)> operation when the operation will be performed
repeatedly with the same modulus. It computes B<r>=(B<a>*B<b>)%B<m>
using B<recp>=1/B<m>, which is set as described below. B<ctx> is a
previously allocated B<BN_CTX> used for temporary variables.
BN_RECP_CTX_init() and BN_RECP_CTX_free() have no return values.
For the other functions, 1 is returned for success, 0 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
-bn(3), err(3), BN_add(3), BN_CTX_new(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<BN_add(3)|BN_add(3)>,
+L<BN_CTX_new(3)|BN_CTX_new(3)>
=head1 HISTORY
BN_new() returns a pointer to the B<BIGNUM>. If the allocation fails,
it returns B<NULL> and sets an error code that can be obtained
-by ERR_get_error(3).
+by L<ERR_get_error(3)|ERR_get_error(3)>.
BN_init(), BN_clear(), BN_free() and BN_clear_free() have no return
values.
=head1 SEE ALSO
-bn(3), err(3)
+L<bn(3)|bn(3)>, L<err(3)|err(3)>
=head1 HISTORY
=head1 SEE ALSO
-bn(3)
+L<bn(3)|bn(3)>
=head1 HISTORY
=head1 RETURN VALUES
BN_rand() returns 1 on success, 0 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
-bn(3), err(3), rand(3), RAND_add(), RAND_bytes()
+L<bn(3)|bn(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>,
+L<RAND_add(3)|RAND_add(3)>, L<RAND_bytes(3)|RAND_bytes(3)>
=head1 HISTORY
BN_is_bit_set() returns 1 if the bit is set, 0 otherwise.
All other functions return 1 for success, 0 on error. The error codes
-can be obtained by ERR_get_error(3).
+can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-bn(3), BN_num_bytes(3), BN_add(3)
+L<bn(3)|bn(3)>, L<BN_num_bytes(3)|BN_num_bytes(3)>, L<BN_add(3)|BN_add(3)>
=head1 HISTORY
=head1 SEE ALSO
-bn(3), BN_bn2bin(3)
+L<bn(3)|bn(3)>, L<BN_bn2bin(3)|BN_bn2bin(3)>
=head1 HISTORY
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
A callback function may be used to provide feedback about the progress
of the key generation. If B<callback> is not B<NULL>, it will be
-called as described in L<BN_generate_prime(3)> while a random prime
+called as described in L<BN_generate_prime(3)|BN_generate_prime(3)> while a random prime
number is generated, and when a prime has been found, B<callback(3,
0, cb_arg)> is called.
DH_generate_parameters() returns a pointer to the DH structure, or
NULL if the parameter generation fails. The error codes can be
-obtained by ERR_get_error(3).
+obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
DH_check() returns 1 if the check could be performed, 0 otherwise.
=head1 SEE ALSO
-dh(3), err(3), rand(3), DH_free(3)
+L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<DH_free(3)|DH_free(3)>
=head1 HISTORY
=head1 RETURN VALUES
If the allocation fails, DH_new() returns B<NULL> and sets an error
-code that can be obtained by ERR_get_error(3). Otherwise it returns
+code that can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>. Otherwise it returns
a pointer to the newly allocated structure.
DH_free() returns no value.
=head1 SEE ALSO
-dh(3), err(3), DH_generate_parameters(3), DH_generate_key(3)
+L<dh(3)|dh(3)>, L<err(3)|err(3)>,
+L<DH_generate_parameters(3)|DH_generate_parameters(3)>,
+L<DH_generate_key(3)|DH_generate_key(3)>
=head1 HISTORY
associated with B<dh>.
DH_new_method() returns B<NULL> and sets an error code that can be
-obtained by ERR_get_error(3) if the allocation fails. Otherwise it
+obtained by L<ERR_get_error(3)|ERR_get_error(3)> if the allocation fails. Otherwise it
returns a pointer to the newly allocated structure.
=head1 SEE ALSO
-dh(3), DH_new(3)
+L<dh(3)|dh(3)>, L<DH_new(3)|DH_new(3)>
=head1 HISTORY
=head1 SEE ALSO
-dh(3), DH_generate_key(3)
+L<dh(3)|dh(3)>, L<DH_generate_key(3)|DH_generate_key(3)>
=head1 HISTORY
systems that provide C</dev/urandom>, the randomness device is used
to seed the PRNG transparently. However, on all other systems, the
application is responsible for seeding the PRNG by calling RAND_add()
-or RAND_load_file(3).
+or L<RAND_load_file(3)|RAND_load_file(3)>.
RAND_seed() is equivalent to RAND_add() when B<num == entropy>.
=head1 SEE ALSO
-rand(3), RAND_load_file(3), RAND_cleanup(3)
+L<rand(3)|rand(3)>, L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
=head1 HISTORY
=head1 RETURN VALUES
RAND_bytes() returns 1 on success, 0 otherwise. The error code can be
-obtained by ERR_get_error(3). RAND_pseudo_bytes() returns 1 if the
+obtained by L<ERR_get_error(3)|ERR_get_error(3)>. RAND_pseudo_bytes() returns 1 if the
bytes generated are cryptographically strong, 0 otherwise. Both
functions return -1 if they are not supported by the current RAND
method.
=head1 SEE ALSO
-rand(3), err(3), RAND_add(3)
+L<rand(3)|rand(3)>, L<err(3)|err(3)>, L<RAND_add(3)|RAND_add(3)>
=head1 HISTORY
=head1 SEE ALSO
-rand(3)
+L<rand(3)|rand(3)>
=head1 HISTORY
=head1 SEE ALSO
-rand(3), RAND_add(3), RAND_cleanup(3)
+L<rand(3)|rand(3)>, L<RAND_add(3)|RAND_add(3)>, L<RAND_cleanup(3)|RAND_cleanup(3)>
=head1 HISTORY
=head1 SEE ALSO
-rand(3)
+L<rand(3)|rand(3)>
=head1 HISTORY
=head1 SEE ALSO
-rsa(3), rand(3)
+L<rsa(3)|rsa(3)>, L<rand(3)|rand(3)>
=head1 HISTORY
-1 is returned if an error occurs while checking the key.
If the key is invalid or an error occurred, the reason code can be
-obtained using ERR_get_error(3).
+obtained using L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-rsa(3), err(3)
+L<rsa(3)|rsa(3)>, L<err(3)|err(3)>
=head1 HISTORY
=item *
While a random prime number is generated, it is called as
-described in L<BN_generate_prime(3)>.
+described in L<BN_generate_prime(3)|BN_generate_prime(3)>.
=item *
=head1 RETURN VALUE
If key generation fails, RSA_generate_key() returns B<NULL>; the
-error codes can be obtained by ERR_get_error(3).
+error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 BUGS
=head1 SEE ALSO
-err(3), rand(3), rsa(3), RSA_free(3)
+L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_free(3)|RSA_free(3)>
=head1 HISTORY
B<new_func()> and B<dup_func()> should return 0 for failure and 1 for success.
-On failure an error code can be obtained from B<ERR_get_error(3)>.
+On failure an error code can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 BUGS
=head1 RETURN VALUES
If the allocation fails, RSA_new() returns B<NULL> and sets an error
-code that can be obtained by ERR_get_error(3). Otherwise it returns
+code that can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>. Otherwise it returns
a pointer to the newly allocated structure.
RSA_free() returns no value.
=head1 SEE ALSO
-err(3), rsa(3), RSA_generate_key(3)
+L<err(3)|err(3)>, L<rsa(3)|rsa(3)>, L<RSA_generate_key(3)|RSA_generate_key(3)>
=head1 HISTORY
The RSA_padding_add_xxx() functions return 1 on success, 0 on error.
The RSA_padding_check_xxx() functions return the length of the
recovered data, -1 on error. Error codes can be obtained by calling
-ERR_get_error(3).
+L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-RSA_public_encrypt(3), RSA_private_decrypt(3), RSA_sign(3), RSA_verify(3)
+L<RSA_public_encrypt(3)|RSA_public_encrypt(3)>,
+L<RSA_private_decrypt(3)|RSA_private_decrypt(3)>,
+L<RSA_sign(3)|RSA_sign(3)>, L<RSA_verify(3)|RSA_verify(3)>
=head1 HISTORY
=head1 SEE ALSO
-dh(3), dsa(3), rsa(3), BN_bn2bin(3)
+L<dh(3)|dh(3)>, L<dsa(3)|dsa(3)>, L<rsa(3)|rsa(3)>, L<BN_bn2bin(3)|BN_bn2bin(3)>
=head1 HISTORY
PKCS #1 v1.5 padding. This function does not handle the
B<algorithmIdentifier> specified in PKCS #1. When generating or
-verifying PKCS #1 signatures, RSA_sign(3) and RSA_verify(3) should be
+verifying PKCS #1 signatures, L<RSA_sign(3)|RSA_sign(3)> and L<RSA_verify(3)|RSA_verify(3)> should be
used.
=item RSA_NO_PADDING
recovered message digest.
On error, -1 is returned; the error codes can be
-obtained by ERR_get_error(3).
+obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 SEE ALSO
-err(3), rsa(3), RSA_sign(3), RSA_verify(3)
+L<err(3)|err(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>, L<RSA_verify(3)|RSA_verify(3)>
=head1 HISTORY
recovered plaintext.
On error, -1 is returned; the error codes can be
-obtained by ERR_get_error(3).
+obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
=head1 CONFORMING TO
=head1 SEE ALSO
-err(3), rand(3), rsa(3), RSA_size(3)
+L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_size(3)|RSA_size(3)>
=head1 NOTES
-The RSA_PKCS1_RSAref(3) method supports only the RSA_PKCS1_PADDING mode.
+The L<RSA_PKCS1_RSAref(3)|RSA_PKCS1_RSAref(3)> method supports only the RSA_PKCS1_PADDING mode.
=head1 HISTORY
associated with B<rsa>.
RSA_new_method() returns B<NULL> and sets an error code that can be
-obtained by ERR_get_error(3) if the allocation fails. Otherwise it
+obtained by L<ERR_get_error(3)|ERR_get_error(3)> if the allocation fails. Otherwise it
returns a pointer to the newly allocated structure.
=head1 SEE ALSO
-rsa(3), RSA_new(3)
+L<rsa(3)|rsa(3)>, L<RSA_new(3)|RSA_new(3)>
=head1 HISTORY
B<type> denotes the message digest algorithm that was used to generate
B<m>. It usually is one of B<NID_sha1>, B<NID_ripemd160> and
-B<NID_md5>; see L<objects> for details. If B<type> is B<NID_md5_sha1>,
+B<NID_md5>; see L<objects(3)> for details. If B<type> is B<NID_md5_sha1>,
an SSL signature (MD5 and SHA1 message digests with PKCS #1 padding
and no algorithm identifier) is created.
RSA_sign() returns 1 on success, 0 otherwise. RSA_verify() returns 1
on successful verification, 0 otherwise.
-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 BUGS
=head1 SEE ALSO
-err(3), objects(3), rsa(3), RSA_private_encrypt(3),
-RSA_public_decrypt(3)
+L<err(3)|err(3)>, L<objects(3)|objects(3)>, L<rsa(3)|rsa(3)>,
+L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>,
+L<RSA_public_decrypt(3)|RSA_public_decrypt(3)>
=head1 HISTORY
RSA_verify_ASN1_OCTET_STRING() returns 1 on successful verification, 0
otherwise.
-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 BUGS
=head1 SEE ALSO
-err(3), objects(3), rand(3), rsa(3), RSA_sign(3), RSA_verify(3)
+L<err(3)|err(3)>, L<objects(3)|objects(3)>, L<rand(3)|rand(3)>,
+L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
+L<RSA_verify(3)|RSA_verify(3)>
=head1 HISTORY
=head1 SEE ALSO
-rsa(3)
+L<rsa(3)|rsa(3)>
=head1 HISTORY
single large integer. This type should be considered opaque and fields
should not be modified or accessed directly.
-The creation of B<BIGNUM> objects is described in L<BN_new(3)>;
-L<BN_add(3)> describes most of the arithmetic operations.
-Comparision is described in L<BN_cmp(3)>; L<BN_zero(3)> describes
-certain assignments, L<BN_rand(3)> the generation of random numbers,
-L<BN_generate_prime(3)> deals with prime numbers and L<BN_set_bit(3)>
-with bit operations. The conversion of B<BIGNUM>s to external
-formats is described in L<BN_bn2bin(3)>.
+The creation of B<BIGNUM> objects is described in L<BN_new(3)|BN_new(3)>;
+L<BN_add(3)|BN_add(3)> describes most of the arithmetic operations.
+Comparision is described in L<BN_cmp(3)|BN_cmp(3)>; L<BN_zero(3)|BN_zero(3)>
+describes certain assignments, L<BN_rand(3)|BN_rand(3)> the generation of
+random numbers, L<BN_generate_prime(3)|BN_generate_prime(3)> deals with prime
+numbers and L<BN_set_bit(3)|BN_set_bit(3)> with bit operations. The conversion
+of B<BIGNUM>s to external formats is described in L<BN_bn2bin(3)|BN_bn2bin(3)>.
=head1 INTERNALS
=head1 SEE ALSO
-dh(3), err(3), rand(3), rsa(3), BN_new(3), BN_CTX_new(3), BN_copy(3),
-BN_num_bytes(3), BN_add(3), BN_add_word(3), BN_cmp(3), BN_zero(3),
-BN_rand(3), BN_generate_prime(3), BN_set_bit(3), BN_bn2bin(3),
-BN_mod_inverse(3), BN_mod_mul_reciprocal(3), BN_mod_mul_montgomery(3)
+L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
+L<BN_new(3)|BN_new(3)>, L<BN_CTX_new(3)|BN_CTX_new(3)>,
+L<BN_copy(3)|BN_copy(3)>, L<BN_num_bytes(3)|BN_num_bytes(3)>,
+L<BN_add(3)|BN_add(3)>, L<BN_add_word(3)|BN_add_word(3)>,
+L<BN_cmp(3)|BN_cmp(3)>, L<BN_zero(3)|BN_zero(3)>, L<BN_rand(3)|BN_rand(3)>,
+L<BN_generate_prime(3)|BN_generate_prime(3)>, L<BN_set_bit(3)|BN_set_bit(3)>,
+L<BN_bn2bin(3)|BN_bn2bin(3)>, L<BN_mod_inverse(3)|BN_mod_inverse(3)>,
+L<BN_mod_mul_reciprocal(3)|BN_mod_mul_reciprocal(3)>,
+L<BN_mod_mul_montgomery(3)|BN_mod_mul_montgomery(3)>
=cut
=item SYMMETRIC CIPHERS
-blowfish(3), cast(3), des(3), idea(3), rc2(3), rc4(3), rc5(3)
+L<blowfish(3)|blowfish(3)>, L<cast(3)|cast(3)>, L<des(3)|des(3)>,
+L<idea(3)|idea(3)>, L<rc2(3)|rc2(3)>, L<rc4(3)|rc4(3)>, L<rc5(3)|rc5(3)>
=item PUBLIC KEY CRYPTOGRAPHY AND KEY AGREEMENT
-dsa(3), dh(3), rsa(3)
+L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>, L<rsa(3)|rsa(3)>
=item CERTIFICATES
-x509(3), x509v3(3)
+L<x509(3)|x509(3)>, L<x509v3(3)|x509v3(3)>
=item AUTHENTICATION CODES, HASH FUNCTIONS
-hmac(3), md2(3), md5(3), mdc2(3), ripemd(3), sha(3)
+L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>,
+L<ripemd(3)|ripemd(3)>, L<sha(3)|sha(3)>
=item AUXILIARY FUNCTIONS
-err(3), rand(3)
+L<err(3)|err(3)>, L<rand(3)|rand(3)>
=item INPUT/OUTPUT, DATA ENCODING
-asn1(3), bio(3), evp(3), pem(3), pkcs7(3), pkcs12(3)
+L<asn1(3)|asn1(3)>, L<bio(3)|bio(3)>, L<evp(3)|evp(3)>, L<pem(3)|pem(3)>,
+L<pkcs7(3)|pkcs7(3)>, L<pkcs12(3)|pkcs12(3)>
=item INTERNAL FUNCTIONS
-bn(3), buffer(3), lhash(3), objects(3), stack(3), threads(3), txt_db(3)
+L<bn(3)|bn(3)>, L<buffer(3)|buffer(3)>, L<lhash(3)|lhash(3)>,
+L<objects(3)|objects(3)>, L<stack(3)|stack(3)>, L<threads(3)|threads(3)>,
+L<txt_db(3)|txt_db(3)>
=back
=head1 SEE ALSO
-openssl(1), ssl(3)
+L<openssl(1)|openssl(1)>, L<ssl(3)|ssl(3)>
=cut
=head1 SYNOPSIS
-#include <openssl/dh.h>
+ #include <openssl/dh.h>
DH *d2i_DHparams(DH **a, unsigned char **pp, long length);
int i2d_DHparams(DH *a, unsigned char **pp);
=head1 SYNOPSIS
-#include <openssl/rsa.h>
+ #include <openssl/rsa.h>
RSA * d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length);
These functions implement the Diffie-Hellman key agreement protocol.
The generation of shared DH parameters is described in
-L<DH_generate_parameters(3)>; L<DH_generate_key(3)> describes how
+L<DH_generate_parameters(3)|DH_generate_parameters(3)>; L<DH_generate_key(3)|DH_generate_key(3)> describes how
to perform a key agreement.
The B<DH> structure consists of several BIGNUM components.
=head1 SEE ALSO
-dhparam(1), bn(3), dsa(3), err(3), rand(3), rsa(3), DH_set_method(3),
-DH_new(3), DH_get_ex_new_index(3), DH_generate_parameters(3),
-DH_compute_key(3), d2i_DHparams(3), RSA_print(3)
+L<dhparam(1)|dhparam(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<err(3)|err(3)>,
+L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<DH_set_method(3)|DH_set_method(3)>,
+L<DH_new(3)|DH_new(3)>, L<DH_get_ex_new_index(3)|DH_get_ex_new_index(3)>,
+L<DH_generate_parameters(3)|DH_generate_parameters(3)>,
+L<DH_compute_key(3)|DH_compute_key(3)>, L<d2i_DHparams(3)|d2i_DHparams(3)>,
+L<RSA_print(3)|RSA_print(3)>
=cut
A cryptographic PRNG must be seeded with unpredictable data such as
mouse movements or keys pressed at random by the user. This is
-described in L<RAND_add(3)>. Its state can be saved in a seed file
-(see L<RAND_load_file(3)>) to avoid having to go through the seeding
-process whenever the application is started.
+described in L<RAND_add(3)|RAND_add(3)>. Its state can be saved in a seed file
+(see L<RAND_load_file(3)|RAND_load_file(3)>) to avoid having to go through the
+seeding process whenever the application is started.
-L<RAND_bytes(3)> describes how to obtain random data from the PRNG.
+L<RAND_bytes(3)|RAND_bytes(3)> describes how to obtain random data from the
+PRNG.
=head1 INTERNALS
update the 'state', but they are used to update 'md').
So of the points raised, only 2 is not addressed (but see
-L<RAND_add(3)>).
+L<RAND_add(3)|RAND_add(3)>).
=head1 SEE ALSO
-BN_rand(3), RAND_add(3), RAND_load_file(3), RAND_bytes(3),
-RAND_set_rand_method(3), RAND_cleanup(3)
+L<BN_rand(3)|BN_rand(3)>, L<RAND_add(3)|RAND_add(3)>,
+L<RAND_load_file(3)|RAND_load_file(3)>, L<RAND_bytes(3)|RAND_bytes(3)>,
+L<RAND_set_rand_method(3)|RAND_set_rand_method(3)>,
+L<RAND_cleanup(3)|RAND_cleanup(3)>
=cut
=head1 SEE ALSO
-rsa(1), bn(3), dsa(3), dh(3), rand(3), RSA_new(3),
-RSA_public_encrypt(3), RSA_sign(3), RSA_size(3), RSA_generate_key(3),
-RSA_check_key(3), RSA_blinding_on(3), RSA_set_method(3), RSA_print(3),
-RSA_get_ex_new_index(3), RSA_private_encrypt(3),
-RSA_sign_ASN_OCTET_STRING(3), RSA_padding_add_PKCS1_type_1(3)
+L<rsa(1)|rsa(1)>, L<bn(3)|bn(3)>, L<dsa(3)|dsa(3)>, L<dh(3)|dh(3)>,
+L<rand(3)|rand(3)>, L<RSA_new(3)|RSA_new(3)>,
+L<RSA_public_encrypt(3)|RSA_public_encrypt(3)>,
+L<RSA_sign(3)|RSA_sign(3)>, L<RSA_size(3)|RSA_size(3)>,
+L<RSA_generate_key(3)|RSA_generate_key(3)>,
+L<RSA_check_key(3)|RSA_check_key(3)>,
+L<RSA_blinding_on(3)|RSA_blinding_on(3)>,
+L<RSA_set_method(3)|RSA_set_method(3)>, L<RSA_print(3)|RSA_print(3)>,
+L<RSA_get_ex_new_index(3)|RSA_get_ex_new_index(3)>,
+L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>,
+L<RSA_sign_ASN_OCTET_STRING(3)|RSA_sign_ASN_OCTET_STRING(3)>,
+L<RSA_padding_add_PKCS1_type_1(3)|RSA_padding_add_PKCS1_type_1(3)>
=cut
=head1 SEE ALSO
-ssl(3), err(3)
+L<ssl(3)|ssl(3)>, L<err(3)|err(3)>
=head1 HISTORY
=head1 SEE ALSO
-openssl(1), crypto(3)
+L<openssl(1)|openssl(1)>, L<crypto(3)|crypto(3)>
=head1 HISTORY
-The ssl(3) document appeared in OpenSSL 0.9.2
+The L<ssl(3)|ssl(3)> document appeared in OpenSSL 0.9.2
=cut