This is the development repository for the OpenFHE library. The current version is 1.5.1 (released on April 10, 2026).
OpenFHE - 开源全同态加密库
全同态加密(FHE)是一种强大的密码学原语,它允许在不访问密钥的情况下对加密数据进行计算。 OpenFHE 是一个开源 FHE 库,包含所有常见 FHE 方案的高效实现:
- Brakerski/Fan-Vercauteren(BFV)方案,用于整数算术
- Brakerski-Gentry-Vaikuntanathan(BGV)方案,用于整数算术
- Cheon-Kim-Kim-Song(CKKS)方案,用于实数算术(包括近似引导)
- Ducas-Micciancio(DM/FHEW)、Chillotti-Gama-Georgieva-Izabachene(CGGI/TFHE)以及 Lee-Micciancio-Kim-Choi-Deryabin-Eom-Yoo(LMKCDEY)方案,用于评估布尔电路和使用查找表在更大明文空间上的任意函数
OpenFHE 还支持混合向量化方案,旨在为 CKKS 和 BFV 等方案提供类 FHEW/TFHE 的函数引导能力。具体而言,OpenFHE 支持
- 在 CKKS 与 FHEW/TFHE 之间切换,以使用(标量)FHEW/TFHE 函数引导来评估非光滑函数,例如比较
- 在 RLWE(一种等效于系数编码加法 BFV 方案的方案)与 CKKS 之间切换,以使用 CKKS 中实现的向量化函数引导来评估整数向量上的任意查找表,例如模约简、比较或 S 盒
OpenFHE 还支持称为“小方案”(schemelets)的部分方案,例如 RLWE,它等效于系数编码的加法 BFV 方案。在 OpenFHE 中,RLWE 小方案是向量化函数引导能力的起点,该能力允许在中间步骤使用 CKKS 来评估整数向量上的任意查找表,例如模约简、比较或 S 盒。
OpenFHE 还包括以下 FHE 的多方扩展:
- 针对 BGV、BFV 和 CKKS 方案的阈值 FHE
- 针对阈值 CKKS 的交互式引导
- 针对 BGV、BFV 和 CKKS 方案的代理重加密
OpenFHE 支持 9 版及以上的 GNU C++ 编译器和 10 版及以上的 clang C++ 编译器。为获得最佳运行时性能,建议遵循构建 OpenFHE 以获得最佳性能中概述的指南。
链接与资源
- OpenFHE 文档
- OpenFHE 设计论文
- OpenFHE 官网
- OpenFHE 社区论坛
- OpenFHE 发布说明
- 快速入门
- BSD 2-Clause 许可证
- 为 OpenFHE 做贡献
- OpenFHE 治理
- Openfhe-development Github 问题
- 如要报告安全漏洞,请发送邮件至 contact@openfhe.org
安装
有关详细信息,请参阅我们的通用安装说明:readthedocs
或根据您的特定操作系统参考以下内容:
代码示例
为了熟悉 OpenFHE 的主要 API,建议查看以下示例代码:
- 用于整数算术的 FHE(BFV):
1. 简单代码示例
2. 带序列化的简单代码示例
- 用于整数算术的 FHE(BGV):
- 用于实数算术的 FHE(CKKS):
- 用于复数算术的 FHE(CKKS):
- 用于布尔电路和更大明文空间的 FHE(FHEW/TFHE):
- 方案切换:
- 整数上的功能引导(RLWE 和 CKKS):
- 阈值 FHE:
主要 API
行为准则
为了营造一个开放且友好的环境,我们作为贡献者和维护者承诺,确保无论年龄、体型、残障状况、种族、性别特征、性别认同与表达、经验水平、教育背景、社会经济地位、国籍、个人外貌、种族、宗教信仰或性取向如何,每个人在参与我们的项目和社区时都能获得无骚扰的体验。
OpenFHE 是一个由多元化贡献者开发的社区驱动型开源项目。OpenFHE 领导层坚定承诺打造一个开放、包容且积极向上的社区。请阅读我们的行为准则,以了解如何与他人互动,共同促进社区的蓬勃发展。
征集贡献
我们欢迎各类贡献,包括但不限于:
如何引用 OpenFHE
若要在学术论文中引用 OpenFHE,请使用以下 BibTeX 条目(更新版本)
@misc{OpenFHE,
author = {Ahmad Al Badawi and Andreea Alexandru 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 Carlo Pascoe and Yuriy Polyakov and Ian Quah 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}
}
或者,或者(原始 WAHC@CCS'22 版本),
@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}
}
致谢
- 分发声明“A”(批准公开发布,分发不受限制)。本工作部分得到美国国防高级研究计划局(DARPA)通过HR0011-21-9-0003和HR0011-20-9-0102项目的支持。本文所表达的观点、意见和/或研究结果为作者个人观点,不应被解读为代表美国国防部或美国政府的官方观点或政策。
- 本研究部分由美国卫生高级研究计划局(ARPA-H)资助。本文包含的观点和结论为作者个人观点,不应被解读为代表美国政府的官方政策(无论明示或暗示)。
项目介绍
这是 OpenFHE 库的开发代码库。当前预发布版本为 v1.1.1(发布于 2023 年 8 月 23 日):请从 main 分支克隆。当前稳定版本为 1.0.4(发布于 2023 年 6 月 19 日):请从 stable 分支克隆。【此简介由AI生成】