02 - Le calcul sécurisé : calculer sur des données chiffrées ou privées : Chiffrement totalement homomorphe : calculer sur des données chiffrées (1)
Description
Xavier Leroy
Chaire Sciences du logiciel
Année 2025-2026
Collège de France
02 - Le calcul sécurisé : calculer sur des données chiffrées ou privées : Chiffrement totalement homomorphe : calculer sur des données chiffrées (1)
Résumé
Ce cours a commencé par des rappels sur les algorithmes de chiffrement et la manière de spécifier et de démontrer leur sécurité. Nous avons ensuite introduit la notion de chiffrement semi-homomorphe : les chiffrements qui sont homomorphes pour l'addition ou la multiplication de textes clairs mais pas pour les deux opérations. Nous en avons montré quatre exemples : les chiffrements RSA, d'ElGamal, d'ElGamal exponentiel, et de Paillier. Mais l'objectif ultime est d'obtenir un chiffrement qui soit homomorphe pour l'addition et pour la multiplication, ce qui permettrait d'évaluer de manière homomorphe des circuits booléens arbitraires, via un encodage des portes logiques par des polynômes.
Comme première étape dans cette direction, nous avons introduit la notion de chiffrement faiblement homomorphe, c'est-à-dire homomorphe pour un nombre limité d'additions et de multiplications. Nous avons présenté la construction, due à van Dijk, Gentry, Halevy et Vaikuntanathan (2010), d'un tel chiffrement utilisant uniquement des nombres entiers. Ce chiffrement peut être rendu totalement homomorphe en le combinant avec la procédure de bootstrap introduite par Gentry en 2009. Cette procédure repose sur l'évaluation homomorphe d'un circuit qui réalise le déchiffrement. Elle permet de supprimer la limite sur le nombre d'additions et de multiplications successives, et donc d'évaluer des circuits arbitraires, à condition que le circuit de déchiffrement soit suffisamment simple pour être évalué par un chiffrement faiblement homomorphe, ce qui est difficile à réaliser.



