Shamir Secret Sharing Scheme
Split a secret into shares or combine shares to recover it
Safety note: Shares are generated locally in your browser. Store them securely and do not share them publicly.
Split + combine
Split
Generated shares
Combine
Recovered secret
About Shamir's Secret Sharing
Shamir's Secret Sharing (SSS) is a cryptographic algorithm invented by Adi Shamir in 1979. It allows a secret to be divided into multiple parts so the original secret can be reconstructed only when a minimum number of shares are combined.
This method offers information-theoretic security: no information about the secret is revealed if fewer than the threshold of shares is available.
How to Use This Tool
- In the Split section, enter your secret and choose total and required shares.
- Copy the generated shares and distribute them to trusted parties.
- In the Combine section, paste enough shares to recover the secret.
Why Teams Use SSS
- Reduce single points of failure for critical secrets.
- Require multiple parties to reconstruct sensitive data.
- Support secure backups of encryption keys.
Do This Locally (CLI)
# macOS (Homebrew)
brew install ssss
# Linux (Debian/Ubuntu)
sudo apt update && sudo apt install ssss
# Windows (WSL Ubuntu)
wsl --install -d Ubuntu
sudo apt update && sudo apt install ssss
# Split a secret into 5 shares with threshold 3
echo "my-secret" | ssss-split -t 3 -n 5
# Combine shares (paste 3 shares when prompted)
ssss-combine -t 3Prefer Node? There is no official npm CLI, but you can use a library like secrets.js-grempe.
npm i secrets.js-grempe
const secrets = require('secrets.js-grempe');
const shares = secrets.share(secrets.str2hex('my-secret'), 5, 3);
const recovered = secrets.hex2str(secrets.combine(shares.slice(0, 3)));
FAQ
Do I need all shares to recover the secret?
No. You only need the threshold number of shares defined in the split settings.
Are shares encrypted?
Shares are derived from the secret but should still be treated as sensitive data.
Is any data sent to a server?
No. All operations run locally in your browser.