OpenFHE is a general lattice cryptography library that currently includes efficient implementations of the following lattice cryptography capabilities:
- Fully Homomorphic Encryption (FHE)
- Brakerski/Fan-Vercauteren (BFV) scheme for integer arithmetic
- Brakerski-Gentry-Vaikuntanathan (BGV) scheme for integer arithmetic
- Cheon-Kim-Kim-Song (CKKS) scheme for real-number arithmetic
- Ducas-Micciancio (FHEW) and Chillotti-Gama-Georgieva-Izabachene (TFHE) schemes for Boolean circuit evaluation
- Multi-Party Extensions of FHE (to support multi-key FHE)
- Threshold FHE for BGV, BFV, and CKKS schemes
- Proxy Re-Encryption for BGV, BFV, and CKKS schemes
Note visit our openfhe-development for in-depth documentation about this library.
Website TODO: Migrate from palisade-crypto
Documentation OpenFHE Readthedocs
Quickstart OpenFHE Readthedocs
License OpenFHE is released under the BSD 2-Clause License. See here
Contributing Contributing to OpenFHE
Reporting bugs Openfhe-development Github Issues
Reporting security vulnerabilities Please email us at [email protected]
Refer to our General Installation Information: readthedocs for more information
Or refer to the following for your specific operating system:
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
OpenFHE is a community-driven open source project developed by a diverse group of contributors. The OpenFHE leadership has made a strong commitment to creating an open, inclusive, and positive community. Please read our Code of Conduct for guidance on how to interact with others in a way that makes our community thrive.
We welcome all contributions including but not limited to:
- reporting issues
- addressing bugs big or small. We label issues to help you filter them to your skill level.
- documentation changes
- talks and seminars using OpenFHE