Overview of the Classes in the LInteger Package

Next Previous Meta-Table of Contents

# Overview of the Libraries in the LInteger Package

The LInteger package consists of three libraries: ChainHash, PRNG, and LInteger.

## ChainHash

ChainHash is a library providing support for chain hashing functions. Included is an abstract ChainHash base class, and a sample SHA1 subclass implementing the Secure Hash Algorithm as defined in FIPS 180-1. This library may be used alone or with the PRNG or LInteger libraries.

## PRNG

PRNG is a library providing support for pseudo-random number generators. Included is an abstract PRNG base class designed to ease the creation of pseudo-random number generators. A sample SHA1PRNG subclass implementing an algorithm from FIPS 186 is included. This library may be used alone or with the LInteger library. Use involving the SHA1PRNG sample subclass will require the additional linking in of the ChainHash library via `-lch`.

## LInteger

LInteger is a library providing support for objects representing multiple precision integers. Used alone it features:

- Object creation in a number of convenient forms.
- Simple arithmetic via C++'s operator overloading.
- Stream I/O via operator overloading.
- Basic, deterministic number theoretical computations (e.g. greatest common divisor).

The basic multiple precision arithmetic methods are encapsulated in the BMath class, and written in such a manner as to be easily convertable into C functions.

When used in conjuction with the PRNG library, probable prime and pseudo-random number generation is also possible.

Next Previous Meta-Table of Contents