mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-24 10:02:29 +01:00
e4f2047ae8
Signed-off-by: B. Watson <urchlay@slackware.uk> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
68 lines
3.8 KiB
Groff
68 lines
3.8 KiB
Groff
.TH SSSS "1" "September 2023" "0.5" "SlackBuilds.org"
|
|
.SH NAME
|
|
ssss \- Split and Combine Secrets using Shamir's Secret Sharing Scheme.
|
|
.SH SYNOPSIS
|
|
\fBssss-split -t \fIthreshold\fB -n \fIshares\fB [-w \fItoken\fB] [-s \fIlevel\fB] [-M] [-r] [-x] [-q] [-Q] [-D] [-v]
|
|
|
|
ssss-combine -t \fIthreshold\fB [-M] [-r -n \fIshares\fB] [-x] [-q] [-Q] [-D] [-v]
|
|
\f1
|
|
.SH DESCRIPTION
|
|
ssss is an implementation of Shamir's Secret Sharing Scheme. The program suite does both: the generation of shares for a known secret, and the reconstruction of a secret using user-provided shares.
|
|
.SH COMMANDS
|
|
\fBssss-split\f1: prompt the user for a secret and generate a set of corresponding shares.
|
|
|
|
\fBssss-combine\f1: read in a set of shares and reconstruct the secret.
|
|
.SH OPTIONS
|
|
.TP
|
|
\fB-t \fIthreshold\fB\f1
|
|
Specify the number of shares necessary to reconstruct the secret.
|
|
.TP
|
|
\fB-n \fIshares\fB\f1
|
|
Specify the number of shares to be generated.
|
|
.TP
|
|
\fB-M\f1
|
|
Require a successful memory lock in order to proceed, and terminate if one was not obtained. Option is not available if the code was compiled with NOMLOCK.
|
|
.TP
|
|
\fB-w \fItoken\fB\f1
|
|
Text token to name shares in order to avoid confusion in case one utilizes secret sharing to protect several independent secrets. The generated shares are prefixed by these tokens.
|
|
.TP
|
|
\fB-s \fIlevel\fB\f1
|
|
Enforce the scheme's security level (in bits). This option implies an upper bound for the length of the shared secret (shorter secrets are padded). Only multiples of 8 in the range from 8 to 1024 are allowed. If this option is ommitted (or the value given is 0) the security level is chosen automatically depending on the secret's length. The security level directly determines the length of the shares.
|
|
.TP
|
|
\fB-r\f1
|
|
Recovery mode: \fBssss-combine\f1 reads in a set of \fIt\f1 shares and reconstruct \fIn\f1 shares again. \fBssss-split\f1 doesn't generate shares randomly, but asks the secret and \fIt\f1 - 1 shares (secret is treated here as a share). Usable to recover forgotten shares.
|
|
.TP
|
|
\fB-x\f1
|
|
Hex mode: use hexadecimal digits in place of ASCII characters for I/O. This is useful if one wants to protect binary data, like block cipher keys.
|
|
.TP
|
|
\fB-q\f1
|
|
Quiet mode: disable all unnecessary output. Useful in scripts.
|
|
.TP
|
|
\fB-Q\f1
|
|
Extra quiet mode: like \fB-q\f1, but also suppress warnings.
|
|
.TP
|
|
\fB-D\f1
|
|
Disable the diffusion layer added in version 0.2. This option is needed when shares are combined that were generated with ssss version 0.1.
|
|
.TP
|
|
\fB-v\f1
|
|
Print version information.
|
|
.SH EXAMPLE
|
|
In case you want to protect your login password with a set of ten shares in such a way that any three of them can reconstruct the password, you simply run the command
|
|
|
|
ssss-split -t 3 -n 10 -w passwd
|
|
|
|
To reconstruct the password pass three of the generated shares (in any order) to
|
|
|
|
ssss-combine -t 3
|
|
.SH NOTES
|
|
To protect a secret larger than 1024 bits a hybrid technique has to be applied: encrypt the secret with a block cipher and apply secret sharing to just the key. Among others openssl and gpg can do the encryption part:
|
|
|
|
openssl bf -e < file.plain > file.encrypted
|
|
|
|
gpg -c < file.plain > file.encrypted
|
|
.SH SECURITY
|
|
\fBssss\f1 tries to lock its virtual address space into RAM for privacy reasons. But this may fail for two reasons: either the current uid doesn't permit page locking, or the RLIMIT_MEMLOCK is set too low. After printing a warning message \fBssss\f1 will run even without obtaining the desired mlock.
|
|
.SH AUTHOR
|
|
The original software (v0.5) was written in 2006 by B. Poettering (ssss AT point-at-infinity.org). Find the newest version of ssss on the project's homepage: \fBhttp://point-at-infinity.org/ssss/\f1. The amended versions (v0.5.1+) were written between 2011..2020 by Jon D Frisby (jfrisby AT mrjoy.com). Find the newest version on github: \fBhttps://github.com/MrJoy/ssss\f1.
|
|
.SH FURTHER READING
|
|
\fBhttp://en.wikipedia.org/wiki/Secret_sharing\f1
|