查看原文
其他

同态加密开源框架整理

庄智廉 隐私计算研习社 2023-04-07

本次推文分享同态加密开源框架合集。本文基于Jonathan Schneider的github仓库进行补充整理。


HEhub

github: https://github.com/primihub/HEhub


:由原语科技推出的同态加密开源算法库 HEhub,作为 PrimiHub 开源生态的一部分。HEhub 是一个易于使用,可扩展性强且性能优秀的密码学算法库,致力于汇集各类同态加密算法及其应用。其目前包含了 BGV、CKKS、TFHE 等全同态加密算法,并将进一步集成更多同态加密方案、常用的计算逻辑以及上层应用接口。对开发者而言,HEhub 有助于其跟踪同态加密领域的最前沿进展,将同态加密技术应用到各类隐私计算场景中。与此同时,HEhub 也是国内第一个自研的开源(全)同态加密算法库,及时填补了国内开源生态中的空白,其将有利于国内同行在同态加密领域的前沿研究与落地实践,并促进隐私技术的自主发展。


Concrete

github: 

https://github.com/zama-ai/concrete

docs: 

https://docs.zama.ai/concrete

简介:使用Rust语言实现了Zama的TFHE变体。Concrete的密码算法基于LWE问题和RLWE问题,研究证明基于这类问题的密码算法是抗量子的。


cuFHE

github:

https://github.com/vernamlab/cuFHE

简介:支持GPU加速的全同态加密仓库。它实现了 Chillotti 等人提出的 TFHE 方案 [CGGI16][CGGI17]。使用英伟达泰坦Xp显卡进行实验,比使用CPU进行计算的TFHE方案快20多倍。


cuHE

github: 

https://github.com/vernamlab/cuHE

简介:cuHE是一个 GPU 加速库,实现了在多项式环上定义的同态加密 (HE) 方案和同态算法。同时提供了一个简单易用的接口,提高了程序员的开发效率。它使用电路同态评估技术。并针对单 GPU 和多 GPU 设备优化了代码。

相关文献:Dai, Wei, and Berk Sunar. "cuHE: A Homomorphic Encryption Accelerator Library." Cryptography and Information Security in the Balkans. Springer International Publishing, 2015. 169-186.
Dai, Wei, Yarkın Doröz, and Berk Sunar. "Accelerating NTRU based homomorphic encryption using GPUs." High Performance Extreme Computing Conference (HPEC), 2014 IEEE. IEEE, 2014.
Dai, Wei, Yarkın Doröz, and Berk Sunar. "Accelerating SWHE Based PIRs Using GPUs." Financial Cryptography and Data Security: FC 2015 International Workshops, BITCOIN, WAHC, and Wearable, San Juan, Puerto Rico, January 30, 2015, Revised Selected Papers. Vol. 8976. Springer, 2015.

cuYASHE

github: 

https://github.com/cuyashe-library/cuyashe

cuYASHE 是第一个在 GPGPU 上实现水平全同态方案 YASHE。该库采用 CUDA 平台以及代数技术(如 CRT、FFT 以及多项式和模约简的优化)获得显了著的性能改进。与CPU、GPU 和 FPGA 中最先进的实现方案相比,他有更优异的性能。特别是多项式乘法有 6 到 35 倍的加速。
相关文献:Alves, P. G. M. R., & Aranha, D. F. (2016). Efficient GPGPU implementation of the Leveled Fully Homomorphic Encryption scheme YASHE (In Portuguese). Institute of Computing, Unicamp.
Bos, J. W., Lauter, K., Loftus, J., & Naehrig, M. (n.d.). Improved Security for a Ring-Based Fully Homomorphic Encryption Scheme.

Cupcake

github:  

https://github.com/facebookresearch/Cupcake
简介:Cupcake 是一个Fackbook开源的同态加密库,实现了Fan-Vercauteren 同态加密方案的加法版本,并使用。提供明文向量加密、加/减两个加密向量以及重新随机化密文的功能。
相关文献:Somewhat Practical Fully Homomorphic Encryption
FINALgithub:https://github.com/KULeuven-COSIC/FINAL
简介:FINAL实现了论文 "FINAL: Faster FHE instantiated with NTRU and LWE"提出的全同态加密方案。


HEAAN

github: https://github.com/snucrypto/HEAAN
简介:HEAAN 是实现支持定点算法的同态加密 (HE) 的软件库。该库支持有理数之间的近似运算。近似误差取决于一些参数,与浮点运算误差几乎相同。
相关文献:Homomorphic Encryption for Arithmetic of Approximate Numbers  

HEAAN-python

github: 

https://github.com/Huelse/HEAAN-Python
简介:HEAAN的python版本。

HElib

github: 

https://github.com/HomEnc/HElib
docs: https://github.com/homenc/HElib/tree/master/documentation
简介:HElib 是一个实现同态加密(HE)的开源代码库。目前实现的方案是包括带有引导的 Brakerski-Gentry-Vaikuntanathan (BGV) 方案和 Cheon-Kim-Kim-Song (CKKS) 的近似数方案的实现,仓库使用了许多优化技术使同态运算更快。
HEMatgithub: 
https://github.com/K-miran/HEMat
简介:HEMat 是一个使用同态加密执行安全外包矩阵计算的软件包相关文献:Secure Outsourced Matrix Computation and Application to Neural Networks


Lattigogithub:
https://github.com/tuneinsight/lattigo
简介:Lattigo实现了基于RLWE的同态加密方案以及基于同态加密的多方安全计算协议。Lattigo使用go语言实现。Lattigo 旨在支持分布式系统和微服务架构中的 HE,选用go是因为其并发模型和可移植性。
相关文献:Efficient Bootstrapping for Approximate Homomorphic Encryption with Non-Sparse Keys (https://eprint.iacr.org/2020/1203)
Bootstrapping for Approximate Homomorphic Encryption with Negligible Failure-Probability by Using Sparse-Secret Encapsulation (https://eprint.iacr.org/2022/024)
Somewhat Practical Fully Homomorphic Encryption (https://eprint.iacr.org/2012/144)
Multiparty Homomorphic Encryption: From Theory to Practice (https://eprint.iacr.org/2020/304)
libScarabgithub: 
https://github.com/hcrypt-project/libScarab
简介:libScarab 是使用大整数的完全同态加密方案的实现。


SEALgithub: 
https://github.com/microsoft/SEAL
docs: https://github.com/microsoft/SEAL#introduction
简介:Microsoft SEAL 是一个易于使用的开源(MIT 许可)同态加密库,由 Microsoft 的密码学和隐私研究小组开发。Microsoft SEAL 是用现代标准 C++ 编写的,易于在许多不同的环境中编译和运行。


NFLlibgithub: https://github.com/quarkslab/NFLlib
docs: https://github.com/quarkslab/NFLlib/tree/master/doc
简介:NFLlib 是一个实现了理想格密码的同态加密。该库结合了算法优化(中国剩余定理、优化的数论变换)与编程优化技术(SSE 和 AVX2 专业化、C++ 表达式模板等)。


NuFHEgithub: 
https://github.com/nucypher/nufhe
docs: https://github.com/nucypher/nufhe/tree/master/examples
简介:NuFHE是基于GPU实现的环上全同态加密方案。该库使用 CUDA 和 OpenCL 实现了 TFHE 的完全同态加密算法。与在内部使用 FFT 来加速多项式乘法的 TFHE 不同,nufhe 可以使用 FFT 或纯整数 NTT(有限域上的类似 DFT 的变换)。后者基于 cuFHE 的算术运算和 NTT 方案。


OpenFHEgithub: 
https://github.com/openfheorg/openfhe-development
docs: https://openfhe-development.readthedocs.io/en/latest/
简介:OpenFHE 是一个开源 FHE 库,包括所有常见 FHE 方案的有效实现:


petlib
github: https://github.com/gdanezis/petlib
docs: https://petlib.readthedocs.io/en/latest/
简介:一个实现许多隐私增强技术 (PET) 的 python 库。


Pyfhel
github: https://github.com/ibarrond/Pyfhel
docs:https://pyfhel.readthedocs.io/en/latest/
简介:支持对加密的向量、标量进行加法、减法、乘法、标量积的代码库。该库提供最先进的 C++ HE 库的 Python API。


python-paillier
github:https://github.com/data61/python-paillier
docs: https://github.com/data61/python-paillier/tree/master/docs
简介:实现 Paillier 同态加密的 Python 3 库。paillier 密码系统的同态属性包括:加密数字可以乘以非加密标量;加密数字可以加在一起;加密数字可以添加到非加密标量。


SEAL-python
github:
https://github.com/Huelse/SEAL-Python/
docs: https://github.com/Huelse/SEAL-Python/tree/main/examples
简介:SEAL-python使用pybind11为SEAL的C++代码提供python接口,方便开发者使用python进行开发。


SparkFHE
github: https://github.com/SpiRITlab/spark
docs: https://homomorphicencryption.org/wp-content/uploads/2019/08/poster_5.pdf
简介:Spark提供了基于全同态加密算法的分布式数据流。


TenSEAL
github: https://github.com/OpenMined/TenSEAL
docs: https://github.com/OpenMined/TenSEAL#tutorials
简介:TenSEAL 是一个用于对张量进行同态加密操作的库,构建在 Microsoft SEAL 之上。它通过 Python API 提供易用性,同时通过使用 C++ 实现其大部分操作来保持效率。


tfhe
github: https://github.com/tfhe/tfhe
简介:环上的全同态加密高效实现。这个库是 TFHE 的原始版本,它实现了同态加密基本的模块 (bootstrapped and leveled)。
相关文献:Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds  IACR conference Asiacrypt 2016 by Ilaria Chillotti, Nicolas Gama, Mariya Georgieva, Malika Izabachène.


参考链接https://github.com/jonaschn/awesome-he
本文作者简介:庄智廉,重庆大学大数据与软件学院研究生。研究兴趣是隐私保护机器学习。知乎:acai
END

往期推荐


信息安全领域顶级会议IEEE S&P 2023论文收录整理
综述分享 | 神经网络安全推理多方安全计算|为什么不可以直接在实数上进行秘密分享?隐私计算岗高薪冲上热搜!高居十大数字技术薪酬榜首!
欢迎投稿邮箱:pet@openmpc.com参与更多讨论,请添加小编微信加入交流群

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存