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
- Build:
cd examples/MatrixMultiplicationUsage
cmake -B ./build && make -C ./build -j$(nproc)
- Run (for more info about accepting parameters, see help):
./build/MatrixMultiplicationUsage --help
There are two ways to contribute to Polycircuit:
- Create PR with a new component or improvements for an existing one;
- Participate in the challenges on the FHERMA platform.
Join our vibrant community to stay updated on the latest developments, participate in discussions, and connect with fellow FHE enthusiasts:
- Discord: Join our Discord server for real-time chat, Q&A, and community events.
- Twitter: Follow us on X for the latest news, updates, and interesting tidbits from the world of Fully Homomorphic Encryption.
- LinkedIn: Join our LinkedIn group to stay in touch with the team and the updates.
- Visit our Fair Math blog and FHERMA challenges wrap-ups for in-depth articles, feature announcements, tutorials, and insights into the future of privacy-preserving technologies.