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
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.