DESCRIPTION

This library performs arithmetic operations on integers of arbitrary
size. It was written for use in public key cryptography, such as RSA
and Diffie-Hellman.

It uses dynamic memory allocation for storing its data structures.
That means that there is no limit on the size of the numbers
manipulated by these functions, but return values must always be
checked in case a memory allocation error has occurred.

The basic object in this library is a BIGNUM. It is used to hold a
single large integer. This type should be considered opaque and fields
should not be modified or accessed directly.

The creation of BIGNUM objects is described in BN_new(3);
BN_add(3) describes most of the arithmetic operations.
Comparison is described in BN_cmp(3); BN_zero(3)
describes certain assignments, BN_rand(3) the generation of
random numbers, BN_generate_prime(3) deals with prime
numbers and BN_set_bit(3) with bit operations. The conversion
of BIGNUMs to external formats is described in BN_bn2bin(3).