Polydesk-logotype
Polydesk.ai — Header

Secure Multiparty Computation (Calcul Multipartite Sécurisé)

Le secure multiparty computation (MPC, calcul multipartite sécurisé) est un ensemble de protocoles cryptographiques qui permettent à plusieurs parties de calculer conjointement une fonction sur leurs données privées respectives sans qu’aucune partie ne révèle ses données aux autres, et sans recourir à un tiers de confiance.

Secure Multiparty Computation en bref
Catégorie
Cryptographie / Privacy-preserving computation
Fondateurs
Andrew Yao (1982, Garbled Circuits), Goldreich, Micali, Wigderson (1987)
Principe
Plusieurs parties calculent f(x₁, x₂, …, xₙ) sans révéler les xᵢ individuels
Exemple classique
Le problème des millionnaires (Yao) : qui est le plus riche sans révéler les montants ?
Techniques
Garbled Circuits, Secret Sharing (Shamir, additive), Oblivious Transfer
Propriétés
Privacy (inputs cachés), Correctness (résultat exact), Independence of inputs
Applications
ML privé, enchères sécurisées, identité numérique, analyse financière, génomique

Le problème fondamental

Imaginez trois entreprises qui veulent calculer leur revenu moyen combiné sans que chacune ne révèle son chiffre d’affaires aux deux autres. En l’absence de MPC, il faudrait un tiers de confiance (un auditeur, par exemple) à qui chacune communiquerait son revenu, et qui calculerait la moyenne. Le MPC élimine ce tiers de confiance : les trois entreprises échangent des messages cryptographiques entre elles, et à la fin du protocole, chacune connaît la moyenne mais ne peut déduire le revenu individuel des autres.

C’est Andrew Yao qui a formalisé le concept en 1982 avec son célèbre « problème des millionnaires » : deux millionnaires veulent savoir qui est le plus riche sans révéler leur fortune exacte. Il a proposé les Garbled Circuits comme solution, un protocole qui reste à la base de nombreuses implémentations modernes.

Le MPC garantit deux propriétés fondamentales. La privacy : aucune partie n’apprend quoi que ce soit au-delà du résultat final de la fonction et de ce qu’elle peut déduire de sa propre entrée et du résultat. La correctness : même si certaines parties tentent de tricher, les parties honnêtes obtiennent le bon résultat.

Techniques fondamentales

Garbled Circuits (Circuits Brouillés)

La technique de Yao pour le calcul sécurisé entre deux parties. La fonction à calculer est représentée comme un circuit booléen (portes AND, OR, NOT). L’une des parties « brouille » le circuit en chiffrant les valeurs de chaque porte, puis l’envoie à l’autre partie. La seconde partie évalue le circuit brouillé sur ses propres entrées (obtenues via Oblivious Transfer) sans voir les entrées de la première partie. Le résultat est déchiffré conjointement.

Les Garbled Circuits sont optimisés pour les circuits booléens et les fonctions de comparaison. Ils sont la base du calcul sécurisé à deux parties (2PC) et peuvent être étendus au cas multi-parties. L’inconvénient : chaque évaluation nécessite un nouveau circuit brouillé (pas de réutilisation), ce qui rend le protocole coûteux en communication pour les fonctions complexes.

Secret Sharing (Partage de Secret)

Le secret sharing divise une valeur secrète en plusieurs « parts » (shares) distribuées entre les participants, de sorte qu’aucun sous-ensemble insuffisant de parts ne révèle la valeur originale. Pour reconstituer le secret, un nombre minimum de parts (le seuil) est nécessaire.

Shamir’s Secret Sharing. Basé sur l’interpolation polynomiale. Un secret est encodé comme le terme constant d’un polynôme de degré t, et chaque participant reçoit un point de ce polynôme. Il faut au moins t+1 points pour reconstituer le polynôme (et donc le secret). C’est le schéma le plus utilisé en MPC multi-parties car il supporte naturellement l’addition homomorphe de secrets.

Additive Secret Sharing. Le secret s est découpé en n parts aléatoires dont la somme vaut s. Chaque participant détient une part. L’addition de deux secrets partagés est triviale (chacun additionne ses parts localement). La multiplication est plus complexe et nécessite un protocole interactif (typiquement via des Beaver triples, des corrélations pré-calculées).

Les calculs sur les shares se font localement et en parallèle, puis les résultats partiels sont combinés. C’est ce qui rend le secret sharing adapté au ML : les opérations linéaires (multiplications matricielles) sont efficaces, les non-linéarités (activations) nécessitent plus d’interactions.

Oblivious Transfer (OT)

L’Oblivious Transfer est un protocole cryptographique dans lequel un émetteur envoie l’un de deux messages au récepteur, de sorte que le récepteur choisit lequel recevoir sans que l’émetteur ne sache quel message a été choisi, et le récepteur ne voit pas l’autre message. L’OT est une brique de base fondamentale pour les Garbled Circuits et de nombreux autres protocoles MPC. Les extensions OT permettent de générer efficacement un grand nombre de transferts à partir d’un petit nombre de « vrais » OT.

Modèles de sécurité

Semi-honest (honest-but-curious). Les participants suivent le protocole correctement mais tentent de déduire des informations supplémentaires à partir des messages qu’ils reçoivent. C’est le modèle le plus courant en MPC pour le ML, car il offre un bon compromis entre sécurité et performance.

Malicious. Les participants peuvent dévier arbitrairement du protocole : envoyer des messages falsifiés, modifier leurs entrées, abandonner le protocole en cours de route. Les protocoles résistants aux adversaires malveillants sont plus coûteux (typiquement 2 à 10x plus lents) mais offrent des garanties plus fortes. Le protocole SPDZ (et ses variantes) est la référence pour le MPC maliciously-secure.

Honest majority vs dishonest majority. Le nombre de parties corrompues que le protocole tolère. Les protocoles à majorité honnête (moins de la moitié des parties sont corrompues) sont plus efficaces. Les protocoles à majorité malhonnête offrent la sécurité même si toutes les parties sauf une sont compromises, au prix d’une complexité accrue.

MPC pour le machine learning

Le MPC appliqué au ML (SecureML) permet à plusieurs parties d’entraîner ou d’utiliser conjointement un modèle de machine learning sans révéler leurs données respectives. C’est distinct du federated learning (qui partage les gradients en clair par défaut) et du chiffrement homomorphe (qui chiffre les données pour un calcul unilatéral).

Inférence privée

Le client détient les données d’entrée, le serveur détient le modèle. Ni le client ne voit le modèle, ni le serveur ne voit les données. Les deux parties exécutent un protocole MPC qui produit la prédiction pour le client. Les protocoles actuels atteignent des performances raisonnables : l’inférence d’un SVM sur données partagées via secret sharing prend quelques secondes à minutes selon la complexité.

Entraînement privé

Plusieurs parties qui possèdent chacune une portion des données d’entraînement collaborent pour entraîner un modèle partagé sans révéler leurs données. SecureML et SecureNN sont les protocoles de référence. Les opérations linéaires (multiplications matricielles) sont efficaces via secret sharing additif + Beaver triples. Les opérations non linéaires (ReLU, Softmax) sont le goulot d’étranglement et font l’objet de recherches intensives.

Les avancées récentes (2025) montrent des accélérations de plus de 1 000x pour les opérations multi-dimensionnelles (multiplication de matrices, identification biométrique) grâce aux tensor triples, une nouvelle forme de corrélation pré-calculée. Les protocoles Softmax multi-parties atteignent des temps de calcul de quelques secondes pour des vecteurs de taille 255.

MPC + Federated Learning

Le MPC renforce le federated learning en protégeant les gradients échangés entre clients et serveur. Au lieu d’envoyer les gradients en clair (vulnérables aux attaques d’inversion), les clients partagent leurs gradients via secret sharing. Le serveur agrège les shares sans jamais voir les gradients individuels. C’est l’architecture la plus robuste pour le privacy-preserving ML distribué.

Applications concrètes

Enchères sécurisées. La première application à grande échelle du MPC : l’enchère électronique de betteraves sucrières au Danemark (2008), où les prix de marché ont été calculés sans que les enchérisseurs ne révèlent leurs offres. Ce cas d’usage reste un modèle pour les enchères privées dans les marchés financiers et publicitaires.

Identité numérique et biométrie. Partisia a démontré en 2025 un système d’identité étudiante au Japon utilisant la reconnaissance faciale via MPC : la vérification biométrique s’effectue sans déchiffrer les données faciales, conforme aux standards eIDAS 2.0. Les protocoles d’identification biométrique (FingerCode, Eigenfaces, FaceNet) ont été accélérés de plus de 1 000x via les tensor triples.

Analyse financière inter-entreprises. Les banques utilisent le MPC pour collaborer sur la détection de fraude et le calcul de risques agrégés sans partager les données de transactions individuelles. Partisia collabore avec des institutions au Danemark, en Colombie et aux États-Unis pour des échanges bancaires sécurisés.

Génomique et santé. Le calcul d’études d’association pangénomique (GWAS) sur des données génomiques partagées entre plusieurs institutions permet d’identifier des facteurs de risque génétiques sans centraliser les génomes individuels. L’entraînement de SVM sur des données médicales partagées via MPC est désormais praticable avec des performances proches du texte clair.

Blockchain et gestion de clés. Le MPC est largement utilisé dans les wallets crypto pour le stockage distribué de clés privées (MPC wallets). La clé n’existe jamais en un seul endroit : elle est partagée entre plusieurs parties et les transactions sont signées via un protocole MPC sans reconstituer la clé complète.

Vote électronique. Le MPC garantit que les votes individuels restent secrets tout en permettant de calculer le résultat de l’élection de manière vérifiable.

Outils et frameworks

Framework Éditeur Modèle de sécurité Usage principal
MP-SPDZ Recherche (Bristol) Semi-honest + Malicious Framework de référence académique, supporte 30+ protocoles MPC
ABY / ABY3 TU Darmstadt / Microsoft Semi-honest (2PC / 3PC) ML sécurisé, conversion efficace entre secret sharing arithmétique/booléen
CrypTen Meta Semi-honest MPC pour PyTorch, interface ML-friendly
PySyft OpenMined Semi-honest FL + MPC + DP combinés, écosystème privacy-first
Partisia Platform Partisia Malicious Plateforme enterprise pour enchères, identité, analytics
MOTION TU Darmstadt Semi-honest Framework généraliste haute performance, GMW/BMR/secret sharing

Pour le ML sécurisé en Python, CrypTen (Meta) offre l’interface la plus accessible : il s’intègre directement dans PyTorch et abstrait la complexité MPC derrière une API familière. Pour la recherche et les benchmarks, MP-SPDZ est le framework le plus complet avec plus de 30 protocoles implémentés. Pour les déploiements enterprise, Partisia est le leader commercial avec des cas d’usage en production depuis 2008.

MPC vs HE vs DP : positionnement

Technique Ce qu’elle protège Architecture Performance
MPC Inputs de chaque partie pendant le calcul Multi-parties collaboratives Modéré (secret sharing rapide, garbled circuits plus lents)
HE Données du client pendant le calcul serveur Client-serveur Lent (1000-1M x overhead)
DP Données individuelles dans les résultats publiés Centralisé ou distribué Rapide (bruit ajouté au résultat)

Le MPC est le meilleur choix quand plusieurs organisations veulent collaborer sur un calcul sans révéler leurs données. Le HE est adapté au cas client-serveur (externalisation de calcul). La DP protège les résultats publiés. Les trois sont complémentaires et souvent combinés dans les architectures de privacy-preserving ML.

Limites et défis

Coût de communication. Le MPC nécessite des échanges de messages entre les parties à chaque opération interactive (multiplications, comparaisons). La latence réseau amplifie les temps d’exécution, surtout en WAN. Les protocoles modernes réduisent les rounds d’interaction mais ne les éliminent pas.

Complexité d’implémentation. Convertir un algorithme ML en protocole MPC exige de représenter toutes les opérations comme des circuits (arithmétiques ou booléens). Les opérations non linéaires (ReLU, division, racine carrée) sont particulièrement coûteuses.

Scalabilité en nombre de parties. La complexité de communication croît avec le nombre de parties. Les protocoles récents visent une complexité indépendante du nombre de parties (pour des circuits suffisamment larges), mais en pratique le MPC reste limité à quelques dizaines de parties pour les calculs complexes.

Hypothèses de confiance. Les garanties de sécurité dépendent du modèle adversarial choisi. Un protocole semi-honest offre zéro protection si un participant dévie activement du protocole. Le choix du bon modèle de sécurité est critique et doit correspondre au niveau de confiance réel entre les parties.


Questions fréquentes sur le secure multiparty computation

Quelle est la différence entre MPC et chiffrement homomorphe ?

Le MPC permet à plusieurs parties de calculer conjointement une fonction sur leurs données privées, sans tiers de confiance. Le chiffrement homomorphe permet à une seule entité de calculer sur les données chiffrées d’un client, sans les voir. Le MPC est collaboratif (plusieurs contributeurs de données), le HE est client-serveur (un propriétaire de données, un calculateur). Le MPC est généralement plus rapide que le FHE pour les mêmes opérations, mais nécessite des communications entre les parties. Les deux techniques sont complémentaires et parfois combinées (le FHE multi-clés permet du MPC via HE).

Le MPC est-il assez performant pour le machine learning en production ?

Pour l’inférence sur des modèles de complexité modérée (SVM, régression logistique, petits réseaux de neurones), oui. Les temps d’inférence sont de l’ordre de secondes. Pour l’entraînement de grands modèles, le MPC reste significativement plus lent que l’entraînement en clair, mais les progrès sont rapides : les tensor triples accélèrent les opérations matricielles de plus de 1 000x, et les protocoles Softmax multi-parties atteignent des temps de quelques secondes. Le cas d’usage le plus mature en production est l’inférence privée (le client soumet des données, le serveur possède le modèle, ni l’un ni l’autre ne voit les inputs de l’autre).

Comment le MPC se combine-t-il avec le federated learning ?

Le MPC renforce le federated learning en protégeant les gradients échangés. Dans un FL standard, les gradients sont envoyés en clair au serveur d’agrégation, ce qui est vulnérable aux attaques d’inversion de gradient. En combinant FL et MPC (via secure aggregation), les clients partagent leurs gradients sous forme de shares cryptographiques, et le serveur agrège les shares sans jamais voir les gradients individuels. C’est l’architecture recommandée pour les déploiements à haute sensibilité (santé, finance). PySyft (OpenMined) et NVIDIA FLARE intègrent nativement cette combinaison.

Quels sont les cas d’usage du MPC les plus matures en production ?

Les cas d’usage les plus aboutis sont les enchères sécurisées (depuis 2008 au Danemark), la gestion de clés privées en blockchain (MPC wallets, adoptés par Coinbase, Fireblocks et d’autres), la vérification d’identité biométrique sans déchiffrement (Partisia au Japon, 2025), et l’analyse financière inter-organisations (calcul de risques agrégés entre banques). En ML, l’inférence privée est le cas le plus mature. L’entraînement MPC reste principalement au stade de la recherche et des pilotes pour les modèles de grande taille.

Le MPC est-il conforme au RGPD et à l’AI Act ?

Le MPC s’aligne naturellement avec les principes du RGPD (minimisation des données, privacy by design) et de l’AI Act (transparence, robustesse). Les données personnelles ne quittent jamais le contrôle de leur propriétaire et ne sont jamais reconstruites en un point unique. L’EDPS reconnaît le MPC comme une technique de privacy-enhancing technology (PET). Cependant, le MPC seul ne constitue pas une conformité RGPD complète : les questions de base légale, de consentement et de droits des personnes restent des obligations distinctes. La MPC Alliance, fondée en 2020, travaille à accélérer la standardisation et l’adoption du MPC dans les cadres réglementaires.

Polydesk.ai — Footer