mirror of
https://github.com/markspanbroek/sss.nim
synced 2026-01-14 10:31:41 +00:00
No description
| .github/workflows | ||
| sources@348f1809e6 | ||
| sss | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| .gitmodules | ||
| .tool-versions | ||
| build.sh | ||
| license | ||
| readme.md | ||
| sss.nim | ||
| sss.nimble | ||
Shamir Secret Sharing
Split a random key into a number of shares. Using a number of these shares the key can be restored.
This is a nim wrapper around the c library by dsprenkels. Only the hazardous low level API is wrapped, so only use this when you know what you're doing.
Examples
Generate a uniform random key:
let key = randomKey()
Create 3 shares of the key, of which 2 are sufficient to restore the key:
let shares = key.shares(2, 3)
Restore the key by combining 2 shares:
let restored = combine(shares[0..1])
Updating to a newer version
Follow these steps when updating the wrapper to a newer version of sss:
- update the git submodule in
sources/to point to the new version - run
build.sh - update the version in
sss.nimble - commit the changes