Cryptology Academy · Leçon

Problème MPC et circuits brouillés de Yao

Comprenez le calcul sécurisé à deux parties au moyen de circuits booléens brouillés.

Leçon 1 sur 412 étapes

Problème MPC et circuits brouillés de Yao est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.

Le problème du calcul multipartite sécurisé

Le MPC permet à n parties, détenant chacune une entrée privée x_i, de calculer conjointement f(x_1,...,x_n) sans se révéler mutuellement leurs entrées — comme si un tiers de confiance effectuait le calcul.

Exemple classique : le problème des millionnaires

Le problème des millionnaires de Yao, formulé en 1982 : Alice et Bob veulent savoir qui est le plus riche sans révéler leur fortune. Aucun tiers de confiance n’est utilisé. Le MPC résout ce problème avec des garanties cryptographiques.

Objectifs de sécurité du MPC

1. Confidentialité : les parties n’apprennent que le résultat et ce qu’elles peuvent en déduire. 2. Exactitude : le résultat est correct même si certaines parties sont corrompues. 3. Il existe des variantes pour les adversaires semi-honnêtes et malveillants.

Les circuits booléens comme modèle de calcul

Toute fonction peut être exprimée sous la forme d’un circuit booléen (portes AND, XOR et NOT). Les protocoles MPC fonctionnent souvent au niveau du circuit et évaluent chaque porte de manière sécurisée.

Construction du circuit brouillé de Yao

Alice (la brouilleuse) attribue deux étiquettes aléatoires à chaque fil : une pour 0 et une pour 1. Elle chiffre la table de vérité de chaque porte avec les étiquettes des fils d’entrée. Bob (l’évaluateur) n’obtient que les étiquettes correspondant à ses entrées grâce à un transfert oblivieux.

Évaluation des portes brouillées

Bob reçoit des tables brouillées (4 chiffrages par porte AND). Il déchiffre exactement une ligne à l’aide de ses étiquettes d’entrée et obtient l’étiquette de sortie, sans savoir si elle représente 0 ou 1.

Optimisation par pointage et permutation

Associez un « bit de sélection » aléatoire à chaque étiquette. Bob utilise ces bits de sélection pour trouver la bonne ligne brouillée en O(1), au lieu d’essayer les quatre déchiffrements. Cela réduit le calcul d’un facteur 4.

Optimisation XOR libre

Kolesnikov et Schneider (2008) : choisissez un décalage global Δ. Ensuite, label_1 = label_0 ⊕ Δ pour chaque fil. Les portes XOR deviennent gratuites (aucun chiffrement n’est nécessaire), ce qui économise environ 30 % de bande passante.

Demi-portes : un nombre minimal de portes AND

Zahur et ses collaborateurs (2015) : chaque porte AND ne nécessite plus que 2 textes chiffrés, contre 4 auparavant. Combinée à l’optimisation XOR libre, cette méthode divise par deux la bande passante des circuits brouillés classiques.

Brouillage à deux parties ou multipartite

Les circuits brouillés classiques sont conçus pour deux parties. Les extensions multipartites (par exemple, le protocole BMR) parallélisent le brouillage entre toutes les parties, mais nécessitent une communication en O(n²). Elles sont pratiques pour un petit nombre de parties.

Vérification des connaissances

Dans le protocole du circuit brouillé de Yao, comment Bob obtient-il les étiquettes des fils correspondant aux bits de son entrée privée ?

Récapitulatif de la leçon

Le MPC permet aux parties de calculer conjointement sans révéler leurs entrées. Les circuits brouillés représentent les fonctions booléennes sous forme de tables de vérité chiffrées. Les optimisations (XOR libre, demi-portes, pointage et permutation) les rendent pratiques. Le transfert OT fournit à Bob les étiquettes de ses entrées en privé.

Gratuit pour commencer

Apprends Cryptology Academy avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
67
Leçons
261

Questions Fréquemment Posées

La leçon « Problème MPC et circuits brouillés de Yao » est-elle gratuite ?

Oui — le texte complet de « Problème MPC et circuits brouillés de Yao » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Problème MPC et circuits brouillés de Yao » ?

Comprenez le calcul sécurisé à deux parties au moyen de circuits booléens brouillés. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Cryptology Academy ?

Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Problème MPC et circuits brouillés de Yao » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?

Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Problème MPC et circuits brouillés de Yao
  2. Protocole GMW et transfert inconscient
  3. SPDZ et MPC arithmétique sur des partages secrets
  4. Applications de MPC : intersection privée d’ensembles et apprentissage automatique
← Retour à Cryptology Academy