Being able to get access to the extensive abilities of machine learning techniques while keeping data confidential is an important scientific challenge with a wealth of potential applications, notably to protect individuals' privacy. Many different approaches have been proposed for addressing this challenge, with various tradeoffs between efficiency and privacy. In this unit, we shall focus on methods based on homomorphic-encryption. Homomorphic encryption is a cryptographic primitive which allows one to compute on encrypted data: the end user of an AI system can send its query in encrypted form, obtain the result in encrypted form, guaranteeing that at no point of the computation was the server able to derive any information on the query or the partial result. The unit will roughly be divided into two parts. The first one will present homomorphic encryption, starting from the hard problems on which it is based and the basic algorithms. The second part will study homomorphic algorithmic questions which are central in the evaluation of neural networks: homomorphic linear algebra, homomorphic activation functions, homomorphic evaluation of Softmax. Depending on the time, we shall also discuss other important questions related to privacy-preserving computation such as private information retrieval, federated learning, etc. The following topics will be studied.
Prerequisites (advisable but not mandatory):