HEonGPU is a high-performance library designed to optimize Fully Homomorphic Encryption (FHE) operations on Graphics Processing Units (GPUs). By leveraging the parallel processing power of GPUs, it significantly reduces the computational load of FHE through concurrent execution of complex operations.
Key features of HEonGPU:
Full GPU Execution: All FHE operations are executed entirely on the GPU, eliminating the need for data transfers between the CPU and GPU, which typically introduce overhead. This results in faster and more efficient encrypted computations.
Multi-Stream Architecture: The library is built with a multi-stream architecture that allows parallel processing of tasks. This approach not only increases throughput but also optimizes memory management on the GPU, minimizing the need for repeated memory transfers and enhancing overall performance.
Support for BFV and CKKS: Currently, HEonGPU supports both BFV and CKKS schemes, providing users with high performance for large-scale encrypted computations. The design is ideal for real-time applications in privacy-preserving machine learning and secure data processing.
User-Friendly Interface: The library offers a straightforward C++ interface, requiring no prior knowledge of GPU programming. All CUDA kernels are encapsulated in easy-to-use classes, making it accessible to a broader audience.
Future Plans:
In the future, several key improvements are planned to further enhance HEonGPU’s functionality and usability. The library will expand its support for additional homomorphic encryption schemes, introduce bootstrapping capabilities, and improve user accessibility through high-level interfaces. These developments aim to make HEonGPU more versatile and suitable for a wider range of applications, including secure multi-party computations. The planned additions include:
Support for Additional Schemes: BGV and TFHE schemes will be added to expand the cryptographic capabilities of the library.
Bootstrapping: CKKS bootstrapping will be introduced first, followed by bootstrapping for other schemes.
Python Wrapper: A Python wrapper will be developed to increase accessibility and usability for a wider range of users.
Threshold Encryption: Threshold encryption will be implemented to support Multi-Party Computation (MPC), allowing for secure collaborative computations.
For more information, you can refer to the research paper on the IACR ePrint Archive: https://lnkd.in/dDJCyziq
Explore the code: https://lnkd.in/d6fHPgWJ