Skip to content

Accelerating Secure and Privacy Preserving Computations

Data privacy and security have gained widespread attention in recent years. This has had implications on data intensive applications in healthcare, financial transactions, recommendation systems, etc., that rely on cloud platforms for implementations. Data security becomes a critical concern when uploaded data or results returned from the cloud are sensitive and confidential. Encryption of data provides protection for data in transit. However, as cloud platforms are public, shared resources, the application’s data remains vulnerable if decoded on the cloud platform for execution.
Picture of secure computation
A new class of cryptosystems, known as Homomorphic Encryption (HE) provides a potential solution to these challenges. HE allows arbitrary computations on encrypted data, without requiring access to the secret key. This enables the cloud to evaluate functions on the encrypted data without needing to or having the capability of decrypting the data, thereby, guaranteeing end to end privacy.

Computations on encrypted data in HE-DNN are computationally demanding and require significant hardware resources due to the need for high degree polynomials to achieve desired security level. In, addition, the computations are data intensive and require fast access to large amount of data.

Heterogeneous architectures consisting of CPUs and FPGAs have become popular as they integrate the general-purpose processing power of CPUs with energy-efficient, fine-grained parallelism of FPGAs. In this project, our focus is to exploit these architectures to accelerate privacy preserving Machine Learning models. We are focused on developing novel algorithmic, architectural and memory optimizations to accelerate kernels that are key to HE computations such as Number Theoretic Transform (NTT), polynomial operations, HE-Convolutions, etc.

Areas of Interest:

Number Theoretic Transform Acceleration, HE-CNN Acceleration

Number Theoretic Transform Acceleration

NTT is a specialized form of Discrete Fourier Transform in which the computations are performed in a finite integer field. NTT is a key operation in HE operations such as multiplication and rotation.  NTT algorithm requires complex data communication between computation stages. Moreover, the modular arithmetic operations in NTT are costly in both hardware resources and latency.

We have focused on implementing high performance NTTs by reducing the complexity of interconnection networks using Streaming Permutation Networks (SPN). Additionally, we have developed low latency and resource efficient modular arithmetic modules. Our current research is focused on developing an automated framework that generates low latency NTT implementations given application parameters (polynomial degree and moduli), latency and hardware resource information as inputs.

HE-CNN Acceleration

A major challenge in the efficient implementation of CNN inference over homomorphic encrypted data is the large computational complexity and storage requirements of executing convolution layers. This is because HE converts the inputs into high degree polynomials, typically 1K to 32K. Furthermore, the computations can only be performed in a coefficient-wise manner and require expensive rotation operations to align the coefficients. These challenges have prevented the porting of efficient convolution algorithms such as im2col and frequency domain convolution which have been successfully used for developing low latency CNN implementations targeting FPGAs.

Our current research is focused on developing end to end implementations of HE-CNN models which achieve high performance. We are focusing on developing efficient algorithms and architectures for both dense and sparse HE convolutions. We are also developing performance models that capture noise and execution time of available design choices and enable selection of optimal parameters for HE-CNN.

Publications

Skip to toolbar