Isolate the definition of the gfsec_scheme_t enum to a dedicated header. This is to reduce coupling as this enum will be reused elsewhere.
|5 years ago|
|lib||6 years ago|
|man||6 years ago|
|src||5 years ago|
|.gitignore||6 years ago|
|AUTHORS||5 years ago|
|COPYING||6 years ago|
|Makefile.am||6 years ago|
|NEWS||6 years ago|
|README.md||5 years ago|
|configure.ac||5 years ago|
Gfsecret - Secret sharing tools
Gfsecret is a set of tools to facilitate secret sharing according to the Adi Shamir’s secret sharing scheme.
The gfsec-use program allows to temporarily reconstruct a splitted file from shares that have been dispersed on several external devices (USB sticks and/or MTP-compliant devices like some smartphones or audio players).
The program needs a configuration file (by default,
$XDG_CONFIG_HOME/gfsecret/default.conf) which describes the shared
secret. Here is a sample configuration:
OUTFILE=/home/alice/mysecret MINSHARES=2 URI=file:///home/alice/.local/share/gfsecret/mysecret.024 URI=label://MYSTICK/mysecretfile.070 URI=mtp://RF2GB6X704P/Documents/mysecret.139
With such a configuration, gfse-use will attempt to reconstruct the
/home/alice/mysecret, using at least two of the three available
shares: one available on the local filesystem, one on a USB storage
device with the label
MYSTICK, and one on a MTP-compliant device with
the serial number
RF2GB6X704P. Gfsec-use will automatically detect
which devices are currently connected and will fetch from them the
Once the secret file has been reconstructed (if enough shares are available), gfsec-use will spawn a new shell (or any other program specified on its command line). When the shell (or the user-specified command) terminates, the reconstructed secret file will be automatically deleted.
Gfsecret depends on the following libraries at compile-time:
- libgfshare, which implements the secret sharing scheme proper (mandatory);
- libgcrypt, for the SHA-256 implementation and random number generation (mandatory);
- GIO, to access shares stored on external volumes (typically USB storage) (optional);
- libmtp, to access shares stored on MTP-compliant devices (optional).
Gfsecret is distributed under the terms of the GNU General Public License, version 3 or higher. The full license is included in the COPYING file of the source distribution.
Homepage and repository
The project is located at http://www.incenp.org/dvlpt/gfsecret.html. The latest source code is available in a Git repository at git://git.incenp.org/gfsecret.git and may also be browsed at http://www.incenp.org/gitweb/?p=gfsecret.git;a=summary.