Information-Theoretic Secret Splitting — n-of-m Threshold Recovery
Shamir Secret Sharing (SSS) is a threshold cryptographic scheme where a secret (like a 12-word mnemonic or private key) is split into m shares, and any n shares can recover the secret. Fewer than n shares reveal nothing about the secret — not even a single bit.
Key property: Information-theoretic security. Unlike MPC, SSS is computationally secure without relying on hard problems (ECDLP, factoring). Perfect secrecy: even with infinite computing power, t-1 shares reveal zero information.
| Aspect | Shamir SSS | MPC (Threshold Signature) |
|---|---|---|
| Offline | Yes (purely local) | No (interactive protocol) |
| Recovery Model | Reconstruct secret | Each party keeps their share |
| Information Theory | Perfect secrecy | Computational secrecy |
| Use Case | Backup, recovery codes | Signing, key derivation |
SSS uses Lagrange polynomial interpolation over a finite field GF(p) (integers modulo a large prime p).
Recovery: Any t shares can uniquely determine the polynomial via Lagrange interpolation, thus revealing S = P(0).
Security: Any t-1 shares are uniformly random in GF(p). No information about S is leaked.
Example with t=2 (linear): P(x) = 0x4a2b + x*0x7c3f (mod p)
This is offline and deterministic — no network communication needed.
With shares y_1 and y_2 at x_1=1 and x_2=2, the secret is:
S = y_1 * (0 - 2)/(1 - 2) + y_2 * (0 - 1)/(2 - 1)
= y_1 * (-2)/(-1) + y_2 * (-1)/(1)
= 2*y_1 - y_2
Typical use: Split a 12 or 24-word BIP39 mnemonic into shares for backup.
User selects 128, 160, 192, or 256 bits of entropy. The app generates a BIP39 mnemonic or uses one from a hardware wallet.
User selects n-of-m: e.g., "2-of-3" means any 2 shares can recover, but 1 alone cannot.
App creates m random shares using Horner evaluation. Each share is a sequence of hex values or BIP39 words.
App re-runs Lagrange interpolation to verify that combining any t shares recovers the original secret.
Show each share as a card (with duplicate QR codes). User can print, photograph, or write them down.
Once exported, the original mnemonic is securely erased from device memory using explicit zeroing.
Typical use: Recover a lost or stolen mnemonic using saved shares.
User picks which n shares (out of m) to use. App shows the threshold requirement.
App uses camera to scan QR codes, or user manually types in hex/BIP39 words.
Verify checksum and that shares belong to the same scheme (same x-coordinates).
Recover P(0) = secret using Lagrange basis polynomials. All math is local.
Convert the recovered secret to BIP39 words or derive crypto keys.
Show mnemonic on screen. User can import into wallet, hardware device, or MPC app.
256-bit entropy = 24-word BIP39 mnemonic. Highest security.
2 of 3 shares required to recover
Loss of 1 share: OK
Loss of 2 shares: Secret lost forever
Scan 2 share QR codes or enter manually
All computations local to device...
| Aspect | Shamir SSS | MPC (Threshold Signing) | Single Device |
|---|---|---|---|
| Interactive | No (offline) | Yes (network required) | No |
| Secret Recovery | Reconstruct original | Each party keeps share | N/A |
| Security Type | Information-theoretic | Computational | Single point of failure |
| Use Case | Backup, recovery codes | Signing, key derivation | Custodial wallets |
| Storage | Print, air-gap storage | Device Secure Enclave | Device storage |
| Loss Tolerance | Lose m-n shares safely | Lose fewer than t parties | Device lost = key lost |
Shamir SSS: Backup a 24-word seed phrase into 5 cards, store them in vaults. Recover with any 3 cards. Perfect for long-term cold storage.
MPC: Day-to-day signing with your phone + server. No single device can sign alone. Better for frequent transactions.
Combination: Generate a master seed via MPC key generation, then back it up via Shamir SSS for ultimate redundancy.