This repository is an initial phase of building an application layer FHE Components library for developers and serves as the home to the award-winning solutions from the FHERMA challenges platform. The library will be constantly extended by adding new FHE components.
To use library components, you'll need to install several dependencies and Polycircuit library itself.
Ensure you have the following dependencies installed:
CMake >= 3.5.1
G++ >= 11.4
Git >= 2.34.1
To install the header-only Polycircuit library, follow these steps:
Clone the repository
git clone https://github.com/fairmath/polycircuit.git
cd polycircuit
Configure CMake and install Polycircuit library in /usr/local/include
cmake .
cmake --build . --target install
You can also set a different installation directory:
cmake . -DCMAKE_INSTALL_PREFIX:PATH=/path/to/include
cmake --build . --target install
The examples demonstrate the basic use of a particular component. To build and run examples, you'll need to install several dependencies.
Ensure you have the following dependencies installed:
CMake >= 3.5.1
G++ >= 11.4
Git >= 2.34.1
Boost >= 1.74.0
OpenFHE >= 1.1.4
cd examples/MatrixMultiplicationUsage
cmake -B ./build && make -C ./build -j$(nproc)
./build/MatrixMultiplicationUsage --help
There are two ways to contribute to Polycircuit:
Join our vibrant community to stay updated on the latest developments, participate in discussions, and connect with fellow FHE enthusiasts: