Fifi Documentation

Fifi is a library for finite field arithmetics. It provides an optimized implementation for operations in various finite fields, such as GF(2), GF(2^4), GF(2^8) and GF(2^16). To provide high performance, it utilizes a wide range of hardware optimizations for the different fields, especially the SIMD instruction sets of modern CPUs.

The Fifi repository:

The examples folder contains some programs that demonstrate the usage of the available API.

If you have any questions or suggestions about this library, please contact us at our developer mailing list (hosted at Google Groups):


A valid license is required if you wish to use this library. Please request a license by filling out the license request form.

Fifi is available under a research- and education-friendly license, see the details in the LICENSE.rst file.

For commercial projects, you can use the same license request form.


Please read our general documentation here to get started:

The Fifi documentation is located here:

Quick Start

If you already installed a C++14 compiler, git and python on your system, then you can clone this repository to a suitable folder:

git clone

Configure and build the project:

cd fifi
python waf configure
python waf build

Run the unit tests:

python waf --run_tests