Bifroest Mr. Tines MacCTC CTCjava Manual Pages
Bifroest Mr. Tines CTC Home CTClib MacCTC CTCjava Manual


CTC Library

The CTC library is collection of PGP compatible C routines developed by Ian Miller and Mr. Tines. The library provides all the cryptographic, compression and file formatting functions necessary to write PGP compatible applications.

General Design Aims

This library was developed with the following aims:- Inevitably the extension to use different algorithms has required extension to the original file format accomodate them.

Library Structure

The library consists of a number of separate modules. Typically each module consists of a single source file <name>.c and a single header file <name>.h. The header file defines the entry points that are externally callable. The modules are of three types:-

Application Callable Modules

These are modules with support interfaces that may be called by applications. Applications writers should, if at all possible, limit themselves to calling the entry points of these modules. The following modules are application callable:- It is expected that most applications will directly call only ctc and keyhash.

Internal Modules

These are modules that are used internally within the CTC library. The interfaces to these modules are liable to change with warning at future releases. The direct calling of these modules by applications should be avoided if possible.

This class of module includes the Cipher-Control modules, these are the modules that control which algorithms are executed at run-time. Anyone wishing to extend the library to support further algorithms will need to make modifications to one of these modules. The Cipher-Control modules are:-

Future releases may have further control modules to handle PKE algorithms.

Machine Dependent Modules

These are modules that need to be provided by the application. In some instances there is a standard C implementation of these modules, which is provided with the library but this implementation will not necessarily be suitable in all circumstances. The machine dependent modules are:-
webmaster@bifroest.demon.co.uk