Skip to main content

Shamir Secret Sharing on paper using gfshare

Project description

Paper-Secret

Shamir Secret Sharing on paper using gfshare.

Installation

PyPi

Dependencies

Required and optional dependencies with example how to install them for Arch Linux.

gfshare is required to split (enpaper) and merge (depaper) the secret. See man gfshare for an explanation of Shamir Secret Sharing in gf(2**8).

sudo pacman -S --needed libgfshare

qrencode and imagemagick (convert) are required to create and merge QR-codes during the split process. One can pass -q to enpapaer to skip this step.

sudo pacman -S --needed qrencode imagemagick

enscript and ghostscript (ps2pdf) are required to create a PDF containing the split secret in text form. One can pass -t to enpaper to skip this step.

sudo pacman -S --needed enscript ghostscript

Usage

Create a file with secret content:

cat > secret.txt

Split the secret into 5 lines:

enpaper secret.txt

Manually delete up to 2 of the 5 lines in secret.txt_txt.txt.

Then recreate the secret:

depaper secret.txt.split-text.txt

Print the secret:

cat secret.txt.split-text.txt.merged.txt

Notes

Manually reconstructing the secret from k strings:

  • For each string of the k strings
    • Create a file which name begins with part and ends with a dot and the first three characters of the string
      • For example part.112
    • Convert the 3rd to last character from base64 to binary and insert it into the file
  • Execute gfcombine part.*
  • The file part contains the reconstructed secret

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paper-secret-0.1.3.tar.gz (7.3 kB view hashes)

Uploaded Source

Built Distribution

paper_secret-0.1.3-py3-none-any.whl (8.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page