GithubHelp home page GithubHelp logo

selfdrivingmenee / sssmp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from de-centralized-systems/sssmp

0.0 0.0 0.0 85 KB

Shamir Secret Sharing for Mnemonic Phrases

License: Creative Commons Attribution 4.0 International

Python 100.00%

sssmp's Introduction

DRAFT: Shamir Secret Sharing for Mnemonic Phrases

CC BY 4.0

This repository contains the Shamir Secret Sharing for Mnemonic Phrases (SSSMP) specification and the corresponding reference implementation. SSSMP is a secret sharing scheme with a particular focus on the use case of sharing random mnemonic phrases, as for example used within hierarchical deterministic wallets in context of cryptocurrencies. With this focus in mind, this specification is designed to be fully compatible with existing encodings of mnemonic phrases, in particular BIP39. It can, for example, be used to split a given (already existing) BIP39 mnemonic phrase of 12, 15, 18, 21, or 24 words, into up to n = 255 shares, such that any configurable subset of shares of size t โ‰ค n can be used to recover the original mnemonic phrase from the shares. However, this specification is not limited to the use of BIP39 for encoding and decoding of mnemonic phrases, but rather specifies the secret sharing on the level of byte sequences. Alternative encodings such as, e.g., bytewords, may be used instead of BIP39. The design is intentionally kept as simple as possible, and only adds minor modifications, in particular an integrated checksum mechanism, to the original secret sharing approach described by Shamir (1979).

Specification

For better readability of the mathematical notation used within the specification, we recommend viewing the HTML export of the specification. The specification itself is maintained in the Specification.md markdown file within the ./docs directory of this repository.

Reference Implementation

The reference implementation as well as a set of test vectors can be found in the ./src directory of this repository.

License

This work is licensed under the Creative Commons Attribution 4.0 International License.

CC BY 4.0

Contributions

Contributions are very welcome, please contact us directly, generate a pull request or create an issue.

sssmp's People

Contributors

kernoelpanic avatar philippschindler avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.