Skip to content

fairmath/polycircuit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FHE Components library

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.

Installation

To use library components, you'll need to install several dependencies and Polycircuit library itself.

Prerequisites

Ensure you have the following dependencies installed:

  • CMake >= 3.5.1
  • G++ >= 11.4
  • Git >= 2.34.1

Library installation

To install the header-only Polycircuit library, follow these steps:

  1. Clone the repository
git clone https://github.com/fairmath/polycircuit.git
cd polycircuit
  1. 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

Build and run the examples

The examples demonstrate the basic use of a particular component. To build and run examples, you'll need to install several dependencies.

Prerequisites

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

Building and running the MatrixMultiplicationUsage example:

  1. Build:
cd examples/MatrixMultiplicationUsage
cmake -B ./build && make -C ./build -j$(nproc)
  1. Run (for more info about accepting parameters, see help):
./build/MatrixMultiplicationUsage --help

Contributing to the Library

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.

Stay Connected

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.