Polydesk-logotype
Polydesk.ai — Header

Homomorphic Encryption (Chiffrement Homomorphe)

Le homomorphic encryption (chiffrement homomorphe) est une technique cryptographique qui permet d’effectuer des calculs directement sur des données chiffrées sans jamais les déchiffrer, de sorte que le résultat déchiffré est identique à celui qu’on aurait obtenu en calculant sur les données en clair.

Homomorphic Encryption en bref
Catégorie
Cryptographie / Privacy-preserving AI
Proposé par
Concept : Rivest, Adleman, Dertouzos (1978). Premier FHE : Craig Gentry (2009)
Principe
Calcul sur ciphertexts → résultat chiffré → déchiffrement = même résultat qu’en clair
Types
PHE (partiel), SHE (somewhat), FHE (fully homomorphic)
Schémas FHE
BFV, BGV, CKKS (arithmétique approchée), TFHE/CGGI (portes logiques)
Librairies
Microsoft SEAL, OpenFHE, TFHE-rs (Zama), Concrete (Zama), HElib
Défi principal
Performance : 1 000x à 1 000 000x plus lent que le calcul en clair selon l’opération

Le chaînon manquant de la protection des données

Le chiffrement classique protège les données au repos (stockées) et en transit (transmises). Mais pour les traiter, il faut les déchiffrer, ce qui les expose au moment le plus critique : pendant le calcul. C’est le talon d’Achille de la sécurité des données, surtout quand le calcul est externalisé vers un cloud tiers ou un prestataire.

Le chiffrement homomorphe résout ce problème en permettant de calculer directement sur les données chiffrées. Le serveur qui effectue le calcul ne voit jamais les données en clair, ne peut pas reconstruire les données originales, mais produit un résultat chiffré qui, une fois déchiffré par le propriétaire des données, est mathématiquement correct.

C’est ce que l’industrie appelle l’encryption-at-use ou encryption-in-use : le dernier maillon qui manquait entre l’encryption-at-rest et l’encryption-in-transit pour une protection end-to-end complète.

Types de chiffrement homomorphe

Partially Homomorphic Encryption (PHE)

Le PHE supporte un seul type d’opération sur les données chiffrées. RSA permet la multiplication homomorphe. Paillier permet l’addition homomorphe. Ces schémas sont matures, relativement rapides et déployés en production (vote électronique, agrégation privée de données). Mais ils ne peuvent pas enchaîner additions et multiplications, ce qui limite leur utilité pour le machine learning.

Somewhat Homomorphic Encryption (SHE)

Le SHE supporte additions et multiplications, mais seulement un nombre limité de multiplications consécutives. Chaque opération homomorphe introduit du bruit dans le ciphertext. Après un certain nombre d’opérations, le bruit dépasse le seuil et le déchiffrement échoue. Suffisant pour des circuits de faible profondeur (régression linéaire, polynômes de bas degré).

Fully Homomorphic Encryption (FHE)

Le FHE supporte un nombre arbitraire d’additions et de multiplications, permettant en théorie de calculer n’importe quelle fonction sur des données chiffrées. C’est le graal cryptographique, théorisé dès 1978 par Rivest, Adleman et Dertouzos, mais réalisé pour la première fois par Craig Gentry en 2009.

La clé technique est le bootstrapping : une opération qui « rafraîchit » le ciphertext en réduisant le bruit accumulé, permettant de poursuivre les calculs indéfiniment. Le bootstrapping est coûteux en calcul, mais c’est ce qui rend le FHE « fully » homomorphe.

Principaux schémas FHE

Schéma Génération Type d’arithmétique Usage principal
BFV 2e gen Entiers exacts Opérations sur entiers, logique exacte
BGV 2e gen Entiers exacts (modulus switching) Circuits arithmétiques profonds, plus efficace que BFV pour certaines tâches
CKKS 4e gen Flottants approchés ML (opérations sur réels), analytics, le plus utilisé en IA
TFHE / CGGI 3e gen Portes logiques (bootstrapping rapide) Évaluation de fonctions non polynomiales (ReLU, comparaisons), BNN

Le schéma CKKS est le plus adapté au ML car il supporte nativement l’arithmétique approchée sur les nombres réels (additions, multiplications de flottants). Les schémas de 2e génération (BFV, BGV) sont limités aux entiers et exigent des quantifications. TFHE excelle pour les opérations non polynomiales (ReLU, max pooling, comparaisons) grâce à son bootstrapping rapide, mais est moins efficace pour l’arithmétique standard.

Les frameworks hybrides comme Chimera et Pegasus combinent CKKS et TFHE pour tirer parti des forces de chaque schéma : CKKS pour les couches linéaires et TFHE pour les activations non linéaires.

Homomorphic encryption et machine learning

Inférence chiffrée

L’application la plus mature. Le client chiffre ses données d’entrée (une image médicale, une transaction financière, une requête). Le serveur applique un modèle pré-entraîné directement sur les données chiffrées et renvoie le résultat chiffré. Le client déchiffre le résultat. Le serveur n’a jamais vu les données ni le résultat.

Les performances progressent rapidement. CryptoNets (Microsoft Research) a démontré les premières inférences de réseaux de neurones sur données chiffrées. L’inférence homomorphe d’un CNN sur MNIST prend environ 1 seconde pour les architectures optimisées. Pour des modèles simples (SVM, régression logistique), les temps varient de 17 secondes (CKKS cloud) à quelques minutes (TFHE edge). L’inférence sur des arbres de décision (profondeur 5) est réalisable en moins de 5 secondes avec une précision proche du texte clair.

Le projet EncryptedLLM a démontré l’évaluation d’un forward pass GPT-2 entièrement chiffré, avec une accélération GPU 200x par rapport à la baseline CPU. Les fonctions d’activation (non polynomiales) nécessitent des approximations polynomiales ou l’utilisation de TFHE, mais les résultats préservent la qualité des sorties du modèle.

Entraînement chiffré

L’entraînement de modèles ML sur des données chiffrées reste un défi majeur. Les premières tentatives (Nandakumar et al.) nécessitaient 1,5 jour pour entraîner un modèle à trois couches sur un minibatch de 60 images. Le coût du bootstrapping à chaque itération rend l’entraînement FHE impraticable pour les modèles de grande taille. En pratique, la majorité des applications privilégient l’entraînement en clair (éventuellement avec differential privacy) et l’inférence chiffrée.

HE + Federated Learning

La combinaison federated learning + chiffrement homomorphe protège les gradients échangés entre les clients et le serveur d’agrégation. Le serveur agrège les gradients chiffrés sans les voir, ce qui neutralise les attaques d’inversion de gradient. L’overhead de performance est significatif mais acceptable pour les mises à jour de paramètres (agrégation = additions homomorphes, supportées efficacement par tous les schémas).

Applications concrètes

Santé et imagerie médicale. Les hôpitaux peuvent envoyer des images médicales chiffrées à un service cloud de diagnostic IA sans exposer les données patient. CipherFace (2025) démontre la reconnaissance faciale entièrement chiffrée pour l’authentification. Les analyses génomiques (GWAS) sur données chiffrées permettent la recherche collaborative sans partager les génomes individuels.

Finance. Évaluation de risque de crédit et détection de fraude sur des données transactionnelles chiffrées. Les institutions peuvent externaliser le scoring à un prestataire sans exposer les données clients. Compatible avec les exigences réglementaires de confidentialité bancaire.

Cloud computing (zero-trust). Dans une architecture zero-trust, aucune entité n’est de confiance par défaut. Le FHE permet d’envoyer des données chiffrées à un serveur cloud non fiable, d’y effectuer des calculs, et de récupérer les résultats chiffrés, le tout sans que le cloud n’accède jamais aux données. C’est le cas d’usage le plus prometteur pour les SaaS traitant des données sensibles.

Nucléaire et défense. Le Oak Ridge National Laboratory (DOE) utilise le FHE avec Microsoft SEAL pour des analyses de santé structurelle de réacteurs (PCA et réseaux de neurones) sur des données propriétaires, permettant l’analyse par des tiers sans exposer les données classifiées.

Reconnaissance faciale privée. Les systèmes de vérification d’identité chiffrés permettent de comparer un visage à une base de données sans que le serveur ne voie ni le visage ni les templates biométriques stockés.

Librairies et frameworks

Librairie Éditeur Schémas Langage Usage type
Microsoft SEAL Microsoft BFV, BGV, CKKS C++ (wrappers Python, .NET) Référence académique et industrie, ML chiffré
OpenFHE Duality Technologies BFV, BGV, CKKS, TFHE C++ (wrapper Python) Tous schémas, bootstrapping, le plus complet
Concrete Zama TFHE Rust/Python Compilation de programmes Python en circuits FHE
TFHE-rs Zama TFHE Rust FHE boolien haute performance, portes logiques
HElib IBM BGV, CKKS C++ Pionnière, optimisations BGV avancées
Lattigo EPFL / Tune Insight BFV, BGV, CKKS Go FHE en Go, adapté aux microservices
TenSEAL OpenMined CKKS, BFV (via SEAL) Python Interface Python orientée ML, intègre PyTorch

Pour le ML chiffré, CKKS via Microsoft SEAL ou OpenFHE est le choix standard. Pour les circuits logiques et les fonctions non polynomiales, Concrete (Zama) offre un workflow Python → compilation TFHE particulièrement accessible. TenSEAL (OpenMined) est le point d’entrée recommandé pour les data scientists Python qui veulent expérimenter avec le HE sans plonger dans la cryptographie bas niveau.

Limites et défis

Performance. Le FHE reste 1 000x à 1 000 000x plus lent que le calcul en clair selon la complexité de l’opération. L’accélération GPU (EncryptedLLM : 200x d’accélération) et les accélérateurs matériels dédiés (DARPA DPRIVE, Intel, ASIC spécialisés) réduisent cet écart mais ne l’éliminent pas encore.

Taille des ciphertexts. Un ciphertext FHE est des ordres de grandeur plus volumineux que la donnée en clair (typiquement 1 000x à 10 000x). Cela impacte les coûts de stockage et de bande passante.

Fonctions non polynomiales. Les schémas CKKS (les plus utilisés en ML) supportent nativement les additions et multiplications, mais pas les fonctions d’activation non polynomiales (ReLU, sigmoid, comparaisons). Ces fonctions doivent être approximées par des polynômes ou évaluées via TFHE, avec un coût supplémentaire.

Complexité de développement. Écrire un algorithme FHE-compatible nécessite de repenser le calcul en termes de circuits arithmétiques, de gérer manuellement la profondeur multiplicative et le bruit. Ce n’est pas un « drop-in replacement » pour le code existant (bien que Concrete de Zama s’en rapproche).

Résistance quantique. Un avantage : les schémas FHE basés sur les réseaux euclidiens (lattices) sont considérés résistants aux attaques quantiques, contrairement à RSA et aux courbes elliptiques. Le HE est naturellement « quantum-safe ».

Évolution et tendances

Le FHE a traversé quatre générations de schémas cryptographiques. La première (Gentry, 2009) était une preuve de concept impraticable. La deuxième (BFV, BGV, 2012-2014) a introduit le modulus switching pour réduire le bruit sans bootstrapping, rendant les circuits de profondeur modérée praticables. La troisième (TFHE/CGGI, 2016) a réduit le bootstrapping à moins d’une seconde, ouvrant la voie aux fonctions non polynomiales. La quatrième (CKKS, 2017) a introduit l’arithmétique approchée sur les réels, ce qui est exactement ce dont le ML a besoin.

Les tendances actuelles portent sur trois axes. L’accélération matérielle d’abord : le programme DPRIVE de la DARPA finance le développement d’accélérateurs ASIC dédiés au FHE, et Intel investit dans des processeurs optimisés pour les opérations sur les lattices. L’objectif est de combler l’écart de performance avec le calcul en clair d’un facteur 100x à 1 000x dans les prochaines années.

La compilation automatique ensuite : Concrete de Zama transforme du code Python standard en circuits FHE optimisés automatiquement, abstraisant la complexité cryptographique. L’objectif est qu’un développeur puisse écrire du code normal et le compiler pour le FHE sans expertise cryptographique.

L’application aux LLM enfin : EncryptedLLM a démontré l’évaluation chiffrée de GPT-2 avec une accélération GPU de 200x. C’est encore loin de la production (les LLM modernes sont bien plus grands que GPT-2), mais la direction est claire : l’inférence chiffrée de modèles de langage pour les requêtes sensibles (santé, finance, juridique) est un objectif à moyen terme.

La standardisation progresse aussi. Le consortium HomomorphicEncryption.org regroupe des acteurs académiques et industriels (Microsoft, Google, Intel, Samsung, IBM) pour définir des standards d’interopérabilité entre les librairies FHE. L’ISO/IEC JTC 1 travaille sur des normes internationales pour le chiffrement homomorphe.

HE vs DP vs SMPC : complémentaires, pas concurrents Le chiffrement homomorphe protège les données pendant le calcul (confidentialité des inputs). La differential privacy protège les données dans les résultats publiés (confidentialité des outputs). Le secure multiparty computation permet à plusieurs parties de calculer conjointement sans révéler leurs inputs. Les trois techniques sont complémentaires et souvent combinées dans les architectures de privacy-preserving ML.

Questions fréquentes sur le homomorphic encryption

Peut-on entraîner un réseau de neurones entièrement sur des données chiffrées ?

En théorie, oui (le FHE peut calculer n’importe quelle fonction). En pratique, c’est actuellement impraticable pour les modèles de grande taille. L’entraînement nécessite des millions d’itérations avec des opérations non linéaires (activations, normalisation) qui sont très coûteuses en FHE. L’entraînement d’un modèle simple (3 couches) sur 60 images prend environ 1,5 jour. L’approche recommandée est d’entraîner le modèle en clair (éventuellement avec differential privacy) et de n’utiliser le FHE que pour l’inférence, où les performances sont acceptables (secondes à minutes selon la complexité).

Quel schéma FHE choisir pour une application de machine learning ?

CKKS est le choix par défaut pour le ML car il supporte l’arithmétique approchée sur les nombres réels (exactement ce dont le ML a besoin). Pour les opérations de classification et comparaison (fonctions non polynomiales comme ReLU), TFHE est plus adapté grâce à son bootstrapping rapide qui évalue efficacement les portes logiques. Les frameworks hybrides (Chimera, Pegasus) combinent les deux : CKKS pour les couches linéaires et TFHE pour les activations. En pratique, Microsoft SEAL (CKKS) ou OpenFHE (tous schémas) sont les points d’entrée recommandés.

Le chiffrement homomorphe est-il résistant aux ordinateurs quantiques ?

Oui. Les schémas FHE modernes (BFV, BGV, CKKS, TFHE) sont basés sur des problèmes de réseaux euclidiens (lattices) comme LWE (Learning With Errors) et RLWE. Ces problèmes sont considérés résistants aux attaques des ordinateurs quantiques, contrairement aux schémas classiques (RSA, courbes elliptiques) qui seraient brisés par l’algorithme de Shor. Le FHE est donc naturellement « quantum-safe », ce qui en fait un investissement pérenne pour la sécurité à long terme.

Quelle est la différence entre chiffrement homomorphe et secure multiparty computation ?

Le chiffrement homomorphe permet à une seule entité de calculer sur les données chiffrées d’un client, sans les voir. Le SMPC permet à plusieurs parties de calculer conjointement une fonction sur leurs données combinées, sans qu’aucune partie ne voie les données des autres. Le HE est client-serveur (un calculateur, un propriétaire de données). Le SMPC est collaboratif (plusieurs parties contribuent des données). Les deux protègent la confidentialité pendant le calcul, mais pour des architectures différentes. Ils sont souvent combinés dans les systèmes de privacy-preserving ML.

Le chiffrement homomorphe est-il prêt pour la production ?

Pour l’inférence sur des modèles de complexité modérée (régressions, SVM, arbres de décision, petits CNN), oui. Les temps d’inférence sont de l’ordre de secondes à quelques minutes, acceptables pour de nombreuses applications non temps réel (scoring de crédit batch, diagnostic médical asynchrone, analytics privés). Pour les modèles de grande taille (LLM, CNN profonds) et l’entraînement, le FHE reste trop lent pour la production. L’accélération GPU et les accélérateurs matériels (DARPA DPRIVE, projets Intel/ASIC) devraient réduire significativement cet écart dans les prochaines années.

Polydesk.ai — Footer