XTraceAI/cuhepy
GPU-accelerated homomorphic encryption in Python: Paillier and BFV, with encrypted nearest-neighbour search. Experimental research code.
解决的问题
cuhepy 为 Python 提供了 GPU 加速的同态加密 (HE),允许在无需先解密的情况下对加密数据进行计算。它通过提供 Paillier 和 BFV 两种方案,专门解决了 HE 在效率上的差距,每种方案在客户端和评估端计算成本之间都有不同的性能权衡。
工作原理
该项目实现了两种主要的加密方案:
- Paillier:支持同态加法。它包含一个 CUDA 加速后端以实现更快的处理,以及一个用于优化查找操作的 $\alpha$-子群变体。
- BFV (Brakerski-Fan-Vercauteren):一种支持加法、乘法和旋转的分层方案。它使用 SIMD 批处理,并提供 C++ RNS/NTT 后端以提高性能。
这些原语被用于构建 cuhepy.hamming,这是一个用于加密 k-最近邻搜索的应用程序。在这种场景下,评估者可以在不查看原始向量、查询或最终距离的情况下,按汉明距离对加密向量进行排序。
目标用户
对隐私保护计算和同态加密感兴趣的研究人员和开发人员。由于这是实验性研究代码且未经审计,它旨在用于学习和测量,而非保护现实世界的生产数据。
特点
- 双方案支持:同时提供 Paillier 和 BFV,允许用户根据是希望最小化客户端还是评估端计算开销来进行选择。
- GPU 加速:为 Paillier 提供可选的 CUDA 后端,以加速加密操作。
- C++ 优化:为 BFV 方案提供高性能的 C++ RNS/NTT 后端。
- 集成应用:包含一个使用汉明距离进行加密 k-最近邻搜索的工作示例。
- 安全研究:在存储库中透明地发布已知的攻击和漏洞,以辅助研究。
相关
- 项目
- 项目
- 项目
- 项目