Calculer ensemble sans rien révéler

Une brique : le partage additif de secret

Comment calculer sur des données que personne ne doit voir ? Une des briques les plus simples du MPC est le partage additif de secret. L'idée : découper chaque nombre secret en morceaux qui, séparément, ne disent rien.

Découper un secret en parts aléatoires

Supposons qu'Alice détienne un salaire secret s = 3200 et qu'il y ait trois parties en tout. Alice choisit deux nombres au hasard, par exemple r1 = 900 et r2 = 2500, puis calcule la dernière part de façon à ce que la somme retombe sur son secret :

part_1 = 900
part_2 = 2500
part_3 = s - r1 - r2 = 3200 - 900 - 2500 = -200

Vérification : 900 + 2500 + (-200) = 3200. Alice distribue une part à chaque partie et n'en garde qu'une.

Le point crucial : prise isolément, une part comme 900 est totalement aléatoire. Elle ne révèle rien sur 3200. Il faut réunir toutes les parts pour reconstituer le secret.

Additionner sans jamais recombiner

La magie du partage additif est que l'addition se fait localement. Supposons trois employés, chacun ayant partagé son salaire de la même manière. Chaque partie détient une part de chaque salaire :

                  part de s_A   part de s_B   part de s_C
Partie 1 :           900           410           120
Partie 2 :          2500          1000           700
Partie 3 :          -200           190          1180

Pour obtenir la somme des salaires, chaque partie additionne simplement les parts qu'elle détient :

Partie 1 : 900 + 410 + 120  = 1430
Partie 2 : 2500 + 1000 + 700 = 4200
Partie 3 : -200 + 190 + 1180 = 1170

Puis les trois parties annoncent seulement ces trois totaux et les additionnent :

1430 + 4200 + 1170 = 6800

C'est exactement la somme des trois salaires — sans qu'aucun salaire individuel n'ait jamais été révélé.

Ce que l'on apprend, ce que l'on cache

À la fin, tout le monde connaît la somme 6800 (et donc le salaire moyen). Mais personne n'a vu les salaires individuels : chaque part échangée était un nombre aléatoire, et seule la somme finale a été dévoilée.

salaires privés --> parts aléatoires --> additions locales --> somme publique
   (cachés)           (rien visible)        (rien visible)       (résultat)

Une limite honnête

Le partage additif rend l'addition triviale. La multiplication de deux valeurs secrètes, elle, est bien plus délicate et demande des protocoles supplémentaires (échanges entre parties). C'est pourquoi les fonctions plus complexes exigent d'autres techniques, vues au chapitre suivant.

En résumé

Le partage additif de secret découpe chaque entrée en parts aléatoires distribuées aux autres parties. L'addition se calcule localement sur les parts, puis on ne recombine que le résultat. On obtient ainsi la somme de salaires sans jamais révéler les salaires individuels.