Advanced HE packing methods with applications to ML
Abstract
Outsourcing computations over sensitive data to a third-party cloud environment should usually rely on dedicated privacy-preserving solutions to adhere to privacy regulations such as the GDPR. One solution that gained great attention is fully homomorphic encryption (FHE), a cryptographic method that allows users to perform different types of computation on encrypted data. However, writing a non-interactive FHE code that evaluates complex functions is a task that is mostly left to experts. Otherwise, the resulting code may become very slow and even impractical. Tile tensors are a recently developed data structure that aims, together with a dedicated language, to simplify the process of writing complex FHE programs. This tutorial introduces developers of security solutions without previous FHE background to the world of FHE programming through the use of tile tensors. It provides step-by-step guidelines for implementing complex operators such as matrix-multiplication and convolutions, and eventually guides participants toward writing their own privacy-preserving convolutional neural network solution. The demonstrations in this tutorial use Python and the HELayers library that implements tile tensors.