Le partage de secret de Shamir : les maths derrière le K-of-N
Un polynôme, des points, une interpolation : comment fractionner une clé de façon prouvablement sûre.
Nous avons vu l’intuition du partage de secret de Shamir avec l’image d’une droite. Plongeons dans la mécanique : elle est étonnamment simple et offre une sécurité prouvable.
L’idée : cacher le secret dans un polynôme
Pour un schéma « K parmi N », on construit un polynôme de degré K−1 dont le terme constant est le secret :
f(x) = secret + a1·x + a2·x² + ... + a(K-1)·x^(K-1)
(les coefficients a1..a(K-1) sont aléatoires)
Le secret, c’est f(0). Chaque « part » est simplement un point de la courbe : on distribue (1, f(1)), (2, f(2)), … à chaque témoin.
Pourquoi K points suffisent (et K−1 ne disent rien)
Un polynôme de degré K−1 est entièrement déterminé par K points : avec K parts, on reconstruit la courbe et on lit f(0). Mais avec seulement K−1 points, une infinité de polynômes passent par eux — donc une infinité de secrets possibles. On n’apprend rien. C’est une sécurité parfaite, pas seulement « difficile à casser ».
Reconstruire : l’interpolation de Lagrange
Réunir K parts et retrouver le secret se fait par interpolation de Lagrange — un calcul direct qui reconstitue f(0) à partir des points. Pas de force brute : juste de l’algèbre.
Un détail crucial : l’arithmétique modulaire
En pratique, les calculs se font dans un corps fini (modulo un grand nombre premier), pas sur les réels. Cela évite les problèmes de précision et garantit la propriété de sécurité parfaite.
Ce que ça permet
Répartir une clé entre un notaire et deux proches (3 parts, seuil 2), tolérer la perte d’une part, et garantir qu’aucun détenteur seul ne peut rien. La cryptographie au service de la confiance humaine.
Envie d’aller plus loin avec SecretVault ?
Découvrir SecretVault