What's it all about?

Shamir's Secret Sharing Scheme is a proven mathematical algorithm to split a secret into several parts that can be distributed to multiple parties which need to cooperate in order for the secret to be restored.
  • You decide on the number of parts you want to split the secret in total (the shares).
  • You decide on how many parts you need to know (the threshold) to restore the secret.
The beauty of Shamir's Secret Sharing Scheme is that any number of shares below the threshold will not increase the possibility to reconstruct the secret. So if the threshold is 3 and you got access to two secrets, you still wouldn't know any more than if you'd only know one share.

A scenario: You have a vault and want other people to be able to access the vault when you are not available (e.g. you are on vacation). But you also don't want a single person to be able to empty the vault unnoticed.

So you decide to split the code into 5 parts, but at least 3 of them are required to get the code to the vault. That means, you define the number of shares as 5, and the threshold as 3.

A very interesting and funny explanation of Shamir's Secret Sharing Scheme is presented by the awesome Matt Parker on his YouTube Channel Stand-up Maths, called How to keep an open secret using mathematics.
Watch it. It's awesome.
Everything on this site is performed in the browser. No data about the secrets is sent to the server!
This site uses the ssss-js package, which is released under GPLv3. It is mostly compatible with ssss-split and ssss-combine commands for Linux, developed by B. Poettering (Homepage).
QR-Codes are generated locally with the qrcode library.
QR-Codes are scanned locally using the html5-qrcode library.
This software is released under the terms of the GNU GENERAL PUBLIC LICENSE, Version 3. Source code of this project is available from Github.
Build: 8a45659dbd8355b6c6b64e8bb82575e83696f6fa-with-overrides

Copyright © 2022-2024 Martin Carpella
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.