Source Code

The source code is organized into several subdirectories.

All include files are in the include directory.

The arith directory contains code for implementing finite fields of any characteristic greater than 3: modular arithmetic, polynomial rings, and finally polynomial rings modulo a polynomial. In future, finite fields of low characteristic may be implemented.

The ecc directory contains code for arbitrary precision complex numbers, curve generation (which depends on the former), curve group operations and pairings. A separate source file is dedicated to each type of pairing, containing optimizations tailored for its pairing.

The misc directory contains code for dynamic arrays, symbol tables, parsing, benchmarking, debugging and so on.

The test directory contains test programs. They were used to generate the files in the param directory.