Fully Homomorphic Encryption (FHE) is a powerful cryptographic primitive that enables performing computations over encrypted data without having access to the secret key. OpenFHE is an open-source FHE library that includes efficient implementations of all common FHE schemes:
OpenFHE also includes the following multiparty extensions of FHE:
OpenFHE also supports switching between CKKS and FHEW/TFHE to evaluate non-smooth functions, e.g., comparison, using FHEW/TFHE functional bootstrapping.
OpenFHE supports any GNU C++ compiler version 9 or above and clang C++ compiler version 10 or above. To achieve the best runtime performance, we recommend following the guidelines outlined in building OpenFHE for best performance.
Refer to our General Installation Information: readthedocs for more information
Or refer to the following for your specific operating system:
To get familiar with the main API of OpenFHE, we recommend looking at the code of the following examples:
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:
To cite OpenFHE in academic papers, please use the following BibTeX entry
@misc{OpenFHE,
author = {Ahmad Al Badawi and Jack Bates and Flavio Bergamaschi and David Bruce Cousins and Saroja Erabelli and Nicholas Genise and Shai Halevi and Hamish Hunt and Andrey Kim and Yongwoo Lee and Zeyu Liu and Daniele Micciancio and Ian Quah and Yuriy Polyakov and Saraswathy R.V. and Kurt Rohloff and Jonathan Saylor and Dmitriy Suponitsky and Matthew Triplett and Vinod Vaikuntanathan and Vincent Zucca},
title = {OpenFHE: Open-Source Fully Homomorphic Encryption Library},
howpublished = {Cryptology ePrint Archive, Paper 2022/915},
year = {2022},
note = {\url{https://eprint.iacr.org/2022/915}},
url = {https://eprint.iacr.org/2022/915}
}
or, alternatively (WAHC@CCS'22 version),
@inproceedings{10.1145/3560827.3563379,
author = {Al Badawi, Ahmad and Bates, Jack and Bergamaschi, Flavio and Cousins, David Bruce and Erabelli, Saroja and Genise, Nicholas and Halevi, Shai and Hunt, Hamish and Kim, Andrey and Lee, Yongwoo and Liu, Zeyu and Micciancio, Daniele and Quah, Ian and Polyakov, Yuriy and R.V., Saraswathy and Rohloff, Kurt and Saylor, Jonathan and Suponitsky, Dmitriy and Triplett, Matthew and Vaikuntanathan, Vinod and Zucca, Vincent},
title = {OpenFHE: Open-Source Fully Homomorphic Encryption Library},
year = {2022},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3560827.3563379},
doi = {10.1145/3560827.3563379},
booktitle = {Proceedings of the 10th Workshop on Encrypted Computing \& Applied Homomorphic Cryptography},
pages = {53-63},
numpages = {11},
location = {Los Angeles, CA, USA},
series = {WAHC'22}
}
Distribution Statement "A" (Approved for Public Release, Distribution Unlimited). This work is supported in part by DARPA through HR0011-21-9-0003 and HR0011-20-9-0102. The views, opinions, and/or findings expressed are those of the author(s) and should not be interpreted as representing the official views or policies of the Department of Defense or the U.S. Government.