Skip to main content

Allows a group of people to hold sensitive information using a simple secret-splitting scheme.

Project description

Salvage distributes sensitive data to multiple people such that it can only be recovered by several people working together. This is useful for storing information with both a low risk of losing access to it and a low risk of accidental exposure. A classic application is to create a “recovery kit” for a server or infrastructure, which can be used in the event that conventionally stored keys and credentials become lost or unavailable.

Salvage works by encrypting a file or directory with a random master key and then applying a simple key-splitting scheme to distribute the key across multiple shares. You can create a kit for any number of participants with any threshold required to recover the information. For example, you might create a kit for five people, any three of whom may combine their shares to recover the data.

Salvage runs under Python 2.7 or Python 3.2 and later. The only external dependency is gpg, for the cryptography. For maximum utility, it is packaged as a single flat Python script that can be run with no installation. The algorithms and file formats are simple and carefully documented to ensure that recovery is always possible even if this software is unavailable for some reason.

Installation

$ pip install salvage

This package will only install the salvage executable. It does not depend on any Python packages.

Quick Start

To create a new salvage kit for five participants with a recovery threshold of three:

% salvage new 5 3 path/to/source/dir

This will create five shares, each containing an encrypted archive and some metadata. To decrypt and unpack the archive:

% salvage recover path/to/share1 path/to/share2 path/to/share3

The three paths must be three of the shares generated in the first step. The master key will be reconstructed and the data will be decrypted and unpacked.

See salvage -h for additional options.

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

salvage-0.1.1.tar.gz (24.8 kB view details)

Uploaded Source

File details

Details for the file salvage-0.1.1.tar.gz.

File metadata

  • Download URL: salvage-0.1.1.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for salvage-0.1.1.tar.gz
Algorithm Hash digest
SHA256 98f7b340c8e01416519697a1b02e00754c07be586b8c2ce0336bb11a11c4626b
MD5 a0b01efbbfb5e696bb58e228136a3084
BLAKE2b-256 3d76adaded03c6b023ff897d39d84cb0b24799463c2db6b9ed10c2955390b898

See more details on using hashes here.

Provenance

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