Upgrade to OpenSSL 0.9.8h.
[dragonfly.git] / secure / lib / libcrypto / man / bn.3
index babb3ff..4fafbec 100644 (file)
@@ -1,4 +1,4 @@
-.\" Automatically generated by Pod::Man 2.12 (Pod::Simple 3.05)
+.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
 .\"
 .\" Standard preamble:
 .\" ========================================================================
 ..
 .\" Set up some character translations and predefined strings.  \*(-- will
 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
-.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
+.\" double quote, and \*(R" will give a right double quote.  | will give a
+.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
+.\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
+.\" expand to `' in nroff, nothing in troff, for use with C<>.
+.tr \(*W-|\(bv\*(Tr
 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
 .ie n \{\
 .    ds -- \(*W-
 .    rr F
 .\}
 .\"
+.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.hy 0
+.if n .na
+.\"
 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
 .    \" fudge factors for nroff and troff
 .\" ========================================================================
 .\"
 .IX Title "bn 3"
-.TH bn 3 "2007-10-24" "0.9.8g" "OpenSSL"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
-.\" way too many mistakes in technical documents.
-.if n .ad l
-.nh
+.TH bn 3 "2008-09-06" "0.9.8h" "OpenSSL"
 .SH "NAME"
 bn \- multiprecision integer arithmetics
 .SH "SYNOPSIS"
 .IX Header "SYNOPSIS"
 .Vb 1
 \& #include <openssl/bn.h>
-\&
+.Ve
+.PP
+.Vb 5
 \& BIGNUM *BN_new(void);
 \& void BN_free(BIGNUM *a);
 \& void BN_init(BIGNUM *);
 \& void BN_clear(BIGNUM *a);
 \& void BN_clear_free(BIGNUM *a);
-\&
+.Ve
+.PP
+.Vb 3
 \& BN_CTX *BN_CTX_new(void);
 \& void BN_CTX_init(BN_CTX *c);
 \& void BN_CTX_free(BN_CTX *c);
-\&
+.Ve
+.PP
+.Vb 2
 \& BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b);
 \& BIGNUM *BN_dup(const BIGNUM *a);
-\&
+.Ve
+.PP
+.Vb 1
 \& BIGNUM *BN_swap(BIGNUM *a, BIGNUM *b);
-\&
+.Ve
+.PP
+.Vb 3
 \& int BN_num_bytes(const BIGNUM *a);
 \& int BN_num_bits(const BIGNUM *a);
 \& int BN_num_bits_word(BN_ULONG w);
-\&
+.Ve
+.PP
+.Vb 2
 \& void BN_set_negative(BIGNUM *a, int n);
 \& int  BN_is_negative(const BIGNUM *a);
-\&
+.Ve
+.PP
+.Vb 19
 \& int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 \& int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
 \& int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);
@@ -177,36 +192,48 @@ bn \- multiprecision integer arithmetics
 \& int BN_mod_exp(BIGNUM *r, BIGNUM *a, const BIGNUM *p,
 \&         const BIGNUM *m, BN_CTX *ctx);
 \& int BN_gcd(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);
-\&
+.Ve
+.PP
+.Vb 5
 \& int BN_add_word(BIGNUM *a, BN_ULONG w);
 \& int BN_sub_word(BIGNUM *a, BN_ULONG w);
 \& int BN_mul_word(BIGNUM *a, BN_ULONG w);
 \& BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w);
 \& BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w);
-\&
+.Ve
+.PP
+.Vb 6
 \& int BN_cmp(BIGNUM *a, BIGNUM *b);
 \& int BN_ucmp(BIGNUM *a, BIGNUM *b);
 \& int BN_is_zero(BIGNUM *a);
 \& int BN_is_one(BIGNUM *a);
 \& int BN_is_word(BIGNUM *a, BN_ULONG w);
 \& int BN_is_odd(BIGNUM *a);
-\&
+.Ve
+.PP
+.Vb 5
 \& int BN_zero(BIGNUM *a);
 \& int BN_one(BIGNUM *a);
 \& const BIGNUM *BN_value_one(void);
 \& int BN_set_word(BIGNUM *a, unsigned long w);
 \& unsigned long BN_get_word(BIGNUM *a);
-\&
+.Ve
+.PP
+.Vb 4
 \& int BN_rand(BIGNUM *rnd, int bits, int top, int bottom);
 \& int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom);
 \& int BN_rand_range(BIGNUM *rnd, BIGNUM *range);
 \& int BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range);
-\&
+.Ve
+.PP
+.Vb 4
 \& BIGNUM *BN_generate_prime(BIGNUM *ret, int bits,int safe, BIGNUM *add,
 \&         BIGNUM *rem, void (*callback)(int, int, void *), void *cb_arg);
 \& int BN_is_prime(const BIGNUM *p, int nchecks,
 \&         void (*callback)(int, int, void *), BN_CTX *ctx, void *cb_arg);
-\&
+.Ve
+.PP
+.Vb 8
 \& int BN_set_bit(BIGNUM *a, int n);
 \& int BN_clear_bit(BIGNUM *a, int n);
 \& int BN_is_bit_set(const BIGNUM *a, int n);
@@ -215,7 +242,9 @@ bn \- multiprecision integer arithmetics
 \& int BN_lshift1(BIGNUM *r, BIGNUM *a);
 \& int BN_rshift(BIGNUM *r, BIGNUM *a, int n);
 \& int BN_rshift1(BIGNUM *r, BIGNUM *a);
-\&
+.Ve
+.PP
+.Vb 10
 \& int BN_bn2bin(const BIGNUM *a, unsigned char *to);
 \& BIGNUM *BN_bin2bn(const unsigned char *s, int len, BIGNUM *ret);
 \& char *BN_bn2hex(const BIGNUM *a);
@@ -226,17 +255,23 @@ bn \- multiprecision integer arithmetics
 \& int BN_print_fp(FILE *fp, const BIGNUM *a);
 \& int BN_bn2mpi(const BIGNUM *a, unsigned char *to);
 \& BIGNUM *BN_mpi2bn(unsigned char *s, int len, BIGNUM *ret);
-\&
+.Ve
+.PP
+.Vb 2
 \& BIGNUM *BN_mod_inverse(BIGNUM *r, BIGNUM *a, const BIGNUM *n,
 \&     BN_CTX *ctx);
-\&
+.Ve
+.PP
+.Vb 6
 \& BN_RECP_CTX *BN_RECP_CTX_new(void);
 \& void BN_RECP_CTX_init(BN_RECP_CTX *recp);
 \& void BN_RECP_CTX_free(BN_RECP_CTX *recp);
 \& int BN_RECP_CTX_set(BN_RECP_CTX *recp, const BIGNUM *m, BN_CTX *ctx);
 \& int BN_mod_mul_reciprocal(BIGNUM *r, BIGNUM *a, BIGNUM *b,
 \&        BN_RECP_CTX *recp, BN_CTX *ctx);
-\&
+.Ve
+.PP
+.Vb 11
 \& BN_MONT_CTX *BN_MONT_CTX_new(void);
 \& void BN_MONT_CTX_init(BN_MONT_CTX *ctx);
 \& void BN_MONT_CTX_free(BN_MONT_CTX *mont);
@@ -248,7 +283,9 @@ bn \- multiprecision integer arithmetics
 \&         BN_CTX *ctx);
 \& int BN_to_montgomery(BIGNUM *r, BIGNUM *a, BN_MONT_CTX *mont,
 \&         BN_CTX *ctx);
-\&
+.Ve
+.PP
+.Vb 19
 \& BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai,
 \&        BIGNUM *mod);
 \& void BN_BLINDING_free(BN_BLINDING *b);
@@ -273,7 +310,7 @@ bn \- multiprecision integer arithmetics
 .IX Header "DESCRIPTION"
 This library performs arithmetic operations on integers of arbitrary
 size. It was written for use in public key cryptography, such as \s-1RSA\s0
-and Diffie-Hellman.
+and Diffie\-Hellman.
 .PP
 It uses dynamic memory allocation for storing its data structures.
 That means that there is no limit on the size of the numbers