科普漫谈 | 国际主流的同态加密库有哪些
在之前的文章中,我们对同态加密及其发展历程进行了介绍与梳理,本篇科普文章将对国际主流的同态加密库做一个简要的归纳与总结。
01
同态加密库是什么
随着同态加密的迅速发展,各大科技巨头致力于研各自的同态加密库。
什么是同态加密库呢?你可以把它看作一个工具包,通过对同态加密的数学基础、算法实现、应用接口进行封装,让调用者能够在不了解同态加密底层逻辑的基础上,实现同态加密的应用。
02
主流的同态加密库有哪些
现阶段,国际上主流的同态加密库主要有:SEAL、HElib、TFHE ,PALISADE。
除此之外,还有非常多的成熟同态加密库,如cuFHE、FHEW、FV-NFLib、HEAAN和 Lattigo等,各有其优势。
主流同态加密库的比较
1. SEAL
https://github.com/microsoft/SEAL
Microsoft SEAL 是一个由微软研究院密码学研究组的研究人员开发的同态加密库。
SEAL允许对加密的整数或实数执行加法和乘法。而其他操作,例如加密比较、排序或正则表达式,在大多数情况下无法使用此技术对加密数据进行评估。
SEAL还支持两种不同的同态加密方案。
BFV 方案
CKKS 方案
两种方案对比
2. HElib
https://github.com/homenc/HElib
HElib是一个IBM实现同态加密(HE)的软件库,支持“HE 汇编语言”,并且还支持 模仿了 Ctxt(密文)对象功能的Ptxt(纯文本)对象。
HElib库的更新路径
自 2018 年年中以来,HElib 一直在对可靠性、 稳健性和可维护性以及最重要的可用性进行广泛的重构,以供从事 HE 及其用途的研究人员和开发人员使用。
3. TFHE
https://github.com/tfhe/tfhe
TFHE库也广受推崇。这是一个开源的快速全同态加密库,但是在算术计算的支持上就较为有限。
谷歌开源的首个基于TFHE库的通用全同态加密(FHE)的转译器(transpiler),可以将普通的 C++程序转译为基于 TFHE 同态库的同态程序,将明文运算转换为同态密文运算。
4. PALISADE
https://gitlab.com/palisade/palisade-release
PALISADE是Duality 公司研发的一个综合的格密码库,也是现在少有的成熟稳定的格密码开源库。
PALISADE 是一个通用格密码库,目前包括以下格密码功能的有效实现:
全同态加密 (FHE)
FHE的多方扩展
03
同态加密加速库
除了这几个主流的同态加密库之外,为同态加密提供底层运算支持的同态加密加速库同样也至关重要。
HEXL
https://github.com/intel/hexl
HEXL是英特尔开源的一个运算优化库,现已集成到上述提到的同态加密库SEAL、PALISADE中。
英特尔HEXL的目标是使用40至60位字长的素数来实现整数算术。为了高效实施,已实现以下功能:
快速数论变换 (NTT)
逐元素向量-向量模乘法
具有可选加法的逐元素向量标量模乘法
逐元素模乘法
数据是宝贵的资源,借助同态加密库、利用同态加密技术,保障用户的数据安全,未来市场发展前景巨大。相信在不久的将来,各大公司必将合作以推动同态加密市场的标准化。
下期预告:
科普漫谈 | 初探格理论
—END—
文案 | 刘晨 图片 | 杨雅清
本文为同态科技原创
转载需授权,并保留出处
推荐阅读