An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 10.0% on proxy.golang.org
Top 1.8% dependent packages on proxy.golang.org
Top 2.9% dependent repos on proxy.golang.org

proxy.golang.org : github.com/lafriks/go-shamir

Package shamir implements Shamir's Secret Sharing algorithm over GF(2^8). Shamir's Secret Sharing algorithm allows you to securely share a secret with N people, allowing the recovery of that secret if K of those people combine their shares. It begins by encoding a secret as a number (e.g., 42), and generating N random polynomial equations of degree K-1 which have an X-intercept equal to the secret. Given K=3, the following equations might be generated: These polynomials are then evaluated for values of X > 0: These (x, y) pairs are the shares given to the parties. In order to combine shares to recover the secret, these (x, y) pairs are used as the input points for Lagrange interpolation, which produces a polynomial which matches the given points. This polynomial can be evaluated for f(0), producing the secret value--the common x-intercept for all the generated polynomials. If fewer than K shares are combined, the interpolated polynomial will be wrong, and the result of f(0) will not be the secret. This package constructs polynomials over the field GF(2^8) for each byte of the secret, allowing for fast splitting and combining of anything which can be encoded as bytes. This package has not been audited by cryptography or security professionals.

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/lafriks/go-shamir
Keywords: go , go-library , golang , golang-library , shamir , shamir-secret-sharing
License: MIT
Latest release: 10 months ago
First release: over 4 years ago
Namespace: github.com/lafriks
Dependent packages: 9
Dependent repositories: 3
Stars: 2 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Funding links: https://github.com/sponsors/lafriks
Last synced: 1 day ago

    Loading...
    Readme
    Loading...