Shamir Secret Sharing
Le Shamir Secret Sharing (SSS) divise un secret en N parts, M nécessaires pour reconstruire. SLIP-39 l'applique aux seeds Bitcoin (Trezor). Utile pour la résilience. Critiqué pour sa complexité.
Origine
Le Shamir Secret Sharing (SSS) est un schéma cryptographique inventé par Adi Shamir en 1979 (le "S" de RSA). Il permet de découper un secret en N parts distinctes, telles qu'il faut au moins M d'entre elles (M ≤ N) pour reconstruire le secret original, tout en garantissant qu'aucun ensemble de M-1 parts ou moins ne révèle la moindre information.
Principe mathématique
L'idée repose sur l'interpolation polynomiale. Pour un seuil M-of-N :
- On choisit un polynôme aléatoire
f(x)de degré M-1, avecf(0) = S(le secret). - On évalue
f(x)en N points distincts :(1, f(1)), (2, f(2)), ..., (N, f(N)). - Chaque part est un de ces points.
- Pour reconstituer : avec M points, l'interpolation de Lagrange détermine de manière unique le polynôme et donc
f(0) = S. - Avec moins de M points, le polynôme est sous-déterminé :
Speut être n'importe quoi.
Sur un corps fini (typiquement GF(256) pour SSS bit-à-bit ou GF(p) pour SLIP-39), les opérations sont exactes.
Configuration possibles
| Schéma | Tolérance perte | Tolérance compromission | |--------|------------------|--------------------------| | 2-of-3 | 1 part perdue OK | 2 parts compromises = catastrophe | | 3-of-5 | 2 parts perdues OK | 3 compromises = catastrophe | | 5-of-7 | 2 parts perdues OK | 5 compromises = catastrophe | | 2-of-2 (= XOR) | Aucune | 2 compromises = catastrophe |
Implémentations Bitcoin
SLIP-39 (Trezor)
SLIP-39 (SatoshiLabs Improvement Proposal) est l'application officielle de SSS aux seeds Bitcoin, conçue par SatoshiLabs et implémentée nativement dans les Trezor T, Safe 3 et Safe 5. Caractéristiques :
- Wordlist propre de 1024 mots (différente de BIP-39).
- Chaque part est elle-même une suite de mots utilisable.
- Support du seuil M-of-N paramétrable au moment du backup.
- Compatible avec passphrase BIP-39 (couche de sécurité supplémentaire).
- Support multi-groupe : par exemple "il faut 2 parts du groupe A ET 3 parts du groupe B".
Autres
- Keystone Pro supporte SLIP-39.
- Quelques wallets logiciels (Sparrow, etc.) lisent SLIP-39 mais ne le génèrent pas.
- Codex32 (BIP-93) est une alternative ouverte plus "papier-friendly".
Avantages
- Quorum souple : un schéma 3-of-5 tolère 2 pertes ET force 3 compromissions.
- Standard académique : 45 ans de relectures.
- Résilience familiale : héritage et plan succession bien plus robuste qu'une seed unique.
- Robustesse aux pannes : si une part est partiellement illisible, les autres compensent.
Critiques et limites
- Complexité opérationnelle : recombiner 3 parts manuellement sans erreur exige rigueur.
- Dépendance Trezor : seuls quelques wallets supportent SLIP-39 nativement.
- Wordlist différente : pas inter-compatible avec BIP-39.
- Pas de chiffrement par défaut : chaque part doit être stockée comme une seed.
- Adoption modeste : la plupart des utilisateurs préfèrent la simplicité d'une seed unique + métal.
SSS vs SeedXOR vs multisig
| Critère | SSS / SLIP-39 | SeedXOR | Multisig on-chain | |---------|---------------|---------|------| | Quorum | M-of-N | N-of-N | M-of-N | | Single point of failure | Reconstitution (offline) | Reconstitution | Aucun (multisig vrai) | | Coût on-chain | Identique single-sig | Identique single-sig | Plus cher | | Confidentialité | Maximale | Maximale | Exposée (avant Taproot) | | Coordination signature | Une seule machine | Une seule machine | N machines coopèrent |
À retenir
Le Shamir Secret Sharing est le standard académique du partage de secrets. Sur Bitcoin via SLIP-39, il offre une résilience supérieure à toute solution "seed unique sur métal", au prix d'une complexité opérationnelle non négligeable. Pour un setup familial ou héritage, c'est un outil de premier rang.
Termes lies
- SeedXORSeedXOR (ColdCard) divise une seed en N parts via XOR : chaque part seule est inutile, toutes sont nécessaires. Schéma simple inspiré du SSS. Alternatif à Shamir Secret Sharing.
- Codex32Codex32 (BIP-93) est un schéma moderne de partage de seed avec résilience aux erreurs. Lisible humainement et calculable à la main. Conçu par Andrew Poelstra. Alternative à SLIP-39.
- TrezorTrezor (SatoshiLabs) est le tout premier hardware wallet (2014). Pionnier du marché, open-source (matériel et firmware). Prend en charge multisig, SLIP-39 (Shamir). Actuellement décliné en Model One, Safe 3, Safe 5.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.