全同态加密-SEAL安装、环境配置与测试
2020.3. WHU - W.F.
由于本人不再从事相关研究,请大家注意时效性
2023.4.30
〇、序言
相比于其他全同态加密开源库,SEAL库安装简便,契合Windows操作系统,容易上手。但SEAL库需要对全同态加密算法有较好的理解,不同水平的人编写的程序,性能差异可能在万倍以上。
但总的来说,背靠微软这座大山,SEAL库是目前最被看好的开源库,学习资源相对丰富,值得入手。
一、SEAL库简介
- SEAL是由微软研发的全同态加密函数库,用现代标准C++编写,库中包含基本示例,基于BFV与CKKS方案
- SEAL基于C++实现,不需要其他依赖库,但一些可选功能需要微软GSL、ZLIB和Google Test等第三方库的支持。
- SEAL支持Windows、Linux、macOS、FreeBSD、Android等操作系统平台,同时支持.NET开发。SEAL依靠微软的天生优势能够在Windows系统中进行部署。
- 在噪声管理方面,与HElib支持自动噪声管理不同,在SEAL中每个密文拥有一个特定的噪声预算量,需要在程序编写过程中通过重线性化操作自行控制乘法运算产生的噪声。基于SEAL实现同态加密运算的性能在很大程度上取决于程序编写的优劣,且存在着不同的优化方法。
- 总体而言,SEAL的学习和使用难度较大,但优化后的性能较好。
微软团队开发了一款名为EVA的编译器,它允许用python表达加密运算,并提供了便捷的python API执行