同态加密开源框架整理

开放隐私计算 2022-11-16 19:17 发表于浙江

以下文章来源于隐私计算研习社 ,作者庄智廉

隐私计算研习社.

开放隐私计算社区

开放隐私计算

开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。

177篇原创内容

公众号

本次推文分享同态加密开源框架合集。本文基于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

FINAL

github:

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) 的近似数方案的实现,仓库使用了许多优化技术使同态运算更快。

HEMat

github: 

https://github.com/K-miran/HEMat

简介:HEMat 是一个使用同态加密执行安全外包矩阵计算的软件包

相关文献:Secure Outsourced Matrix Computation and Application to Neural Networks

Lattigo

github:

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)

libScarab

github: 

https://github.com/hcrypt-project/libScarab

简介:libScarab 是使用大整数的完全同态加密方案的实现。

SEAL

github: 

https://github.com/microsoft/SEAL

docs: 

https://github.com/microsoft/SEAL#introduction

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

NFLlib

github: 

https://github.com/quarkslab/NFLlib

docs: 

https://github.com/quarkslab/NFLlib/tree/master/doc

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

NuFHE

github: 

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 方案。

OpenFHE

github: 

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

往期推荐:

隐私计算头条周刊(11.6-11.12)

车路协同隐私计算

好书赠送丨海伦·尼森鲍姆著:《场景中的隐私——技术、政治和社会生活中的和谐》,王苑等译

2022隐私计算HACKATHON大赛报名正在火热进行中!

开放隐私计算社区征稿啦!

热门文章:

姚期智院士:数据、算法、算力为何是数字经济核心技术?

附下载 | 2022年隐私计算技术与行业应用报告合集(33份)

联邦学习前沿 | 基于图神经网络的联邦推荐系统研究 

招标 | 近期隐私计算项目招标中标24(国家广播电视总局、国家工信安全中心、江西银行、光大银行、人保财险)

未来十年,将会有95%的企业采用隐私计算技术

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>