Partage de Secret de Shamir (SSS)

Une implémentation navigateur du schéma de partage de secret d'Adi Shamir de 1979 — la même construction utilisée par Hashicorp Vault pour sa clé maître et par Trezor pour les sauvegardes sharded de seed crypto. Choisissez combien de parts produire (N jusqu'à 255) et combien sont nécessaires pour reconstruire (K, le seuil). Distribuez les parts entre personnes, appareils ou coffres-forts. Usages réels courants : diviser une seed de portefeuille de 24 mots entre trois personnes de confiance pour que deux d'entre elles puissent la récupérer, mettre sous séquestre un mot de passe root d'entreprise en 3-sur-5 entre cadres, ou s'assurer qu'un partenaire puisse accéder aux comptes importants s'il vous arrive quelque chose.

Comment l'utiliser

1
Choisissez N et K

Choisissez N (combien de parts faire) et K (combien sont nécessaires pour récupérer). Choix courants : 2-sur-3 personnel, 3-sur-5 pour une petite équipe, 5-sur-7 pour une mise sous séquestre à forte valeur.

2
Tapez le secret

Mot de passe maître, phrase seed, clé de chiffrement — n'importe quoi jusqu'à quelques centaines d'octets fonctionne.

3
Distribuez les parts

Donnez chaque part à une personne, un endroit ou un appareil différent. Écrivez-les sur papier, imprimez-les ou enregistrez-les dans des gestionnaires de mots de passe séparés.

4
Récupérez au besoin

Quand vous avez besoin du secret, rassemblez K des parts, collez-les dans l'onglet Combiner et le secret est reconstruit.

Divisez un mot de passe maître ou une phrase seed en N morceaux — K d'entre eux le récupèrent, moins ne révèlent rien

Vous recevrez N parts. K d’entre elles reconstruisent le secret. Moins que K ne révèlent rien.
Toutes les parts ci-dessous appartiennent à un même jeu. Diviser à nouveau crée un NOUVEAU jeu, et les anciennes parts cessent de fonctionner — vous ne pouvez récupérer un secret qu’à partir de parts du même jeu.

Ce que fait le Partage de Secret de Shamir

  • Sécurité théorique de l’information : avec moins de K parts, un attaquant n’apprend RIEN du secret.
  • Chaque part porte un petit en-tête (version, seuil, identifiant de jeu) plus une balise d’intégrité de 4 octets, afin que Combiner puisse vérifier une récupération correcte et signaler clairement les parts incompatibles ou insuffisantes.
  • Utilise le schéma byte-wise standard sur GF(2⁸) — la même algèbre qu’AES.
  • Distribuez les parts entre personnes, appareils, lieux géographiques.
  • Cette implémentation N’AJOUTE PAS de couche de mot de passe — les parts SONT la protection.
Copié

Fonctionnalités

Sécurité théorique de l'information
Contrairement au chiffrement, Shamir offre une confidentialité parfaite : K−1 parts contiennent zéro information sur le secret. Les maths viennent de l'interpolation polynomiale sur un corps fini.
GF(2⁸) byte-wise
Chaque octet est divisé indépendamment avec la même algèbre de corps fini que celle utilisée dans AES — éprouvée, rapide et standard.
Jusqu'à 255 parts
Divisez en 2-sur-3 pour la sauvegarde familiale, 3-sur-5 pour la mise sous séquestre de clés d'entreprise, ou tout (K, N) jusqu'à N = 255.
Récupération vérifiée
Une balise d'intégrité intégrée signifie que Combiner confirme que le secret est reconstruit exactement — et renvoie une erreur claire pour les parts incompatibles, insuffisantes ou issues de jeux différents, au lieu de produire silencieusement des données erronées.
Aléa cryptographiquement sûr
L'aléa qui pilote la génération des parts provient de la source aléatoire sécurisée de votre navigateur — jamais le faible Math.random. Critique : un aléa faible permettrait à un attaquant de reconstruire le secret depuis moins de K parts.
Tourne dans votre navigateur
La division et la recombinaison sont effectuées dans votre onglet du navigateur via la Web Crypto API. L'interpolation polynomiale sur GF(2⁸) est calculée côté client en JavaScript — aucun endpoint /split ou /combine n'existe pour cet outil, l'algorithme est livré dans les ressources de la page.

Questions fréquentes

En quoi est-ce différent de chiffrer et donner le mot de passe à tout le monde ?

Le chiffrement divise le secret en ciphertext + clé — quiconque a les deux a un accès complet. Shamir divise le secret directement en N morceaux ; il en faut K, et K−1 parts ne révèlent rien mathématiquement (pas seulement computationnellement).

Quel (K, N) est bon ?

2-sur-3 est le défaut populaire pour les individus (deux endroits, vous, partenaire, avocat). 3-sur-5 pour les petites équipes. Un K plus haut réduit le risque de compromission ; un N plus haut améliore la survivabilité face à la perte.

Puis-je faire confiance à l'implémentation ?

Elle utilise le schéma byte-wise standard de Shamir sur GF(2⁸) — la même construction utilisée par Hashicorp Vault, Trezor SLIP-0039 (sauvegardes BIP-39 sharded) et la plupart des autres implémentations SSS de production. La division et la combinaison s'exécutent dans votre navigateur via la Web Crypto API.

Que se passe-t-il si une part est perdue ?

Tant qu'au moins K parts restent, le secret peut être récupéré. Distribuez N > K pour ajouter de la redondance — un schéma 3-sur-5 survit à la perte de 2 parts.

Que se passe-t-il si une part fuit vers un attaquant ?

Si moins de K fuient, votre secret est toujours sûr. Vous devriez tourner le secret et redistribuer de nouvelles parts ; les anciennes ne peuvent plus rien récupérer parce que le secret sous-jacent a changé.

Quel format de part utilise-t-il ?

Les maths sous-jacentes sont le schéma canonique byte-wise sur GF(2⁸) avec le polynôme de réduction standard 0x11b. Chaque part est enveloppée dans un petit conteneur auto-descriptif (version, seuil, identifiant de jeu et balise d'intégrité) afin que l'outil puisse vérifier la récupération et détecter les parts incompatibles — récupérez les parts avec cet outil plutôt qu'avec une bibliothèque GF(256) brute.

Comment évaluez-vous cet outil ?

Merci pour votre note !
Vous voulez en dire plus ? Laissez un commentaire !
Merci ! Votre commentaire apparaîtra après modération.
Publié Auteurs: