Split secrets into T pieces. The secret can be recovered by recombining any D pieces.
This module implements:
block-wise SSS: a block-wise version of Shamir's secret sharing. Full implementation details on https://secret-splitter.com.
Splitting is done by:
- Apply a random mask to the secret
- For each block of the mask, generate a polynomial of degree D-1
- A piece consists of the masked secret and one point of each polynomial
Recovering is done by:
- Collect D pieces: D polynomials for each block of the mask
- Interpolate the points to retrieve the blocks of the mask
- Recover the secret by re-applying the mask to the masked version
A puzzle piece is a yaml serialisation of the following mapping:
# string, tells if the secret encoded is a string encoded as UTF-8 ("utf-8") or a raw stream of bytes ("none")
encoding: utf-8
# one puzzle piece, exact format depending on the implementation
# this implementation stores a sequence of [point, value] items, one per block of the secret
# Flow-sequence format preferred to keep it on one line
puzzle piece: [[1,258],[1,3]]
# base64 representation of the result of the mask XOR the byte representation of the secret
encoded secret: YXo=
# name of the algorithm used for splitting
algorithm: block-wise SSS
# different algorithms might add additional information required for recovering the secret.
Working on blocks makes the algorithm linear in the number of bytes of the secret rather than exponential.
Metadata
Release files for secret-splitter 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| secret_splitter-1.0.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| secret_splitter-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.0 kB
Release files / secret_splitter-1.0.0.tar.gz
| Download URL | secret_splitter-1.0.0.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c92dfbcfe5b63d8bc6d964ea19609e643c5c2220ac8de0e91537441e557a854
|
|
BLAKE2b-256 checksum How to use checksums |
1f66906633f49834479a587acf590b26ab1254712278eafa0834b66d5cf286a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|
Release files / secret_splitter-1.0.0-py3-none-any.whl
| Download URL | secret_splitter-1.0.0-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3cca26067e831cc52fbd3a3e185d1705a762b906dab62f0df65e7a9e1837122a
|
|
BLAKE2b-256 checksum How to use checksums |
81fb0baca3a0209770ec6deb6043427b82cb2a80eac0bdbe76b84565ee1da6c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.10
|