Accelerating Fully Homomorphic Encryption on UPMEM

Summer Internship

  • Guide: Prof. Rajeev Balasubramonian, Kahlert School of Computing, University of Utah
  • Duration: May 2023 - Present

This project uses UPMEM to accelerate the various operations (addition, multiplication, key switching, rotation) involved in a fully homomorphic encryption (FHE) scheme. Some hardware characterization were first carried out to find out the bottlenecks in the process and on the basis of these statistics, the processes were accelerated using the near data processing machine, UPMEM PIM.

FHE is a cryptographic scheme which enables the user to perform operations directly on the ciphertext. This is highly valuable in cloud computing where the client can encrypt the data and the computation can occur on the server side without any decryption. This reduces any data leaks on the server. We are targetting the widely used CKKS scheme of FHE implemented using the Microsoft SEAL library because it can be used to operate on real numbers instead of integers (as in the BFV scheme).

Our initial hardware characterizations showed that the operations in FHE are highly memory bound and would not be helped much by compute acceleration. Hence, a near data processing machine such as UPMEM should help in accelerating the various processes. UPMEM PIM consists of DRAM Processing Units positioned within the DRAM memory chips and next to the data to drastically reduce off-chip data movements. This improves performance for FHE as it is memory intensive.

Hence, we are currently working on accelerating the individual operations in FHE and then expand this to major ML workloads and compute the speedup achieved by offloading FHE to UPMEM PIM.

Designed by BootstrapMade