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-最近鄰搜索的工作示例。
- 安全研究:在存儲庫中透明地發布已知的攻擊和漏洞,以輔助研究。
相關
- 專案
- 專案
- 專案
- 專案