Skip to content

euandeas/key-shards

Repository files navigation

Logo

Key Shards

A distributed backup application for secrets, using Shamir's Secret Sharing.

About

Key Shards is a distributed backup application for private keys, passwords or any other important information. Several shares are produced and only a subset of them are required toreveal the secret.

This program would not be suitable for backing up every password that you use, a password manager is more suited for this job. However, this program is suited for backing up master passwords or the secret key that some services give you (e.g. 1Password or Proton). Other use cases include cryptocurrency wallet keys or succession planning.

Unlike conventional secret sharing, this is not targeted towards distributing a secret among a group, but instead the personal backup of secrets. However, this application can be used for this conventional purpose if you understand what you are doing and the surrounding security risks.

This is based on an implementation of Shamir's Secret Sharing written in Rust which can be found here.

Features

  • Runs on Windows, macOS & Linux
  • Free, open-source & auditable
  • Custom Rust Shamir's Secret Sharing implementation that supports
    • XChaCha20-Poly1305 AEAD wrapper
    • BIP Mnemonic compression wrapper
    • Secret Padding
    • Experimental - Up to 2 shorter predefined shares for long secrets
  • Built-in password generator
  • Export shares as text, PEM files (RFC 7468) or QR codes.
  • Scan QR codes if your device has a camera

Built With

Rust, Tauri & SvelteKit

Getting Started

If you want to build the project yourself you can follow the steps below. This can be done on Mac, Windows or Linux.

Prerequisites

  1. Install Tauri Prerequisites & Rust.
  2. Install Node.js
  3. Install the OpenCV for C++.

Installation

If you do not already have the source code:

git clone https://github.com/euandeas/key-shards.git
cd key-shards

Once inside the project directory, to get the program to run:

npm install
npm run tauri dev

Usage

Creating Shares:

Logo

Combining Shares:

Logo

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published