pyshamir


Namepyshamir JSON
Version 1.0.4 PyPI version JSON
download
home_pagehttps://github.com/konidev20/pyshamir
SummaryPython port of Shamir key Split and Combine methods from Hashicorp Vault.
upload_time2023-08-31 20:47:17
maintainerSrigovind Nayak
docs_urlNone
authorSrigovind Nayak
requires_python>=3.7
license
keywords shamir pyshamir
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![pyshamir banner](https://user-images.githubusercontent.com/5201843/232241639-22034903-87c2-4bf0-9b36-2ae9a8481b71.png)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=coverage)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/konidev20/pyshamir/badge)](https://api.securityscorecards.dev/projects/github.com/konidev20/pyshamir)

## Description

Python port of Shamir key Split and Combine methods from Hashicorp Vault.

## Installation

```sh
pip install pyshamir 
```

## Usage

### Split & Combine

```py
from pyshamir import split, combine
import secrets

# generate a random secret, here secret is a 32 bytes
secret = secrets.token_bytes(32)

# set the number of shares; i.e. the number of parts to split the secret into
num_of_shares = 5

# threshold is minimum number of keys required to get back the secret
threshold = 3

# split to get a list of bytearrays which can be combined later to get back the secret
parts = split(secret, num_of_shares, threshold)

# Now, the parts be combined to get back the secret
recomb_secret = combine(parts)
```

## References

1. [Shamir Secret Sharing | Wikipedia](https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing)
2. [Go Implementation | HashiCorp Vault](https://github.com/hashicorp/vault/tree/main/shamir)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/konidev20/pyshamir",
    "name": "pyshamir",
    "maintainer": "Srigovind Nayak",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "sgovind.dev@outlook.com",
    "keywords": "shamir,pyshamir",
    "author": "Srigovind Nayak",
    "author_email": "sgovind.dev@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/b5/1b/95e9c6f58f54b2a76e6861bf60241eac0001af93b7bbde42290af7511ee3/pyshamir-1.0.4.tar.gz",
    "platform": null,
    "description": "![pyshamir banner](https://user-images.githubusercontent.com/5201843/232241639-22034903-87c2-4bf0-9b36-2ae9a8481b71.png)\n\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)\n[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=konidev20_pyshamir&metric=coverage)](https://sonarcloud.io/summary/new_code?id=konidev20_pyshamir)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/konidev20/pyshamir/badge)](https://api.securityscorecards.dev/projects/github.com/konidev20/pyshamir)\n\n## Description\n\nPython port of Shamir key Split and Combine methods from Hashicorp Vault.\n\n## Installation\n\n```sh\npip install pyshamir \n```\n\n## Usage\n\n### Split & Combine\n\n```py\nfrom pyshamir import split, combine\nimport secrets\n\n# generate a random secret, here secret is a 32 bytes\nsecret = secrets.token_bytes(32)\n\n# set the number of shares; i.e. the number of parts to split the secret into\nnum_of_shares = 5\n\n# threshold is minimum number of keys required to get back the secret\nthreshold = 3\n\n# split to get a list of bytearrays which can be combined later to get back the secret\nparts = split(secret, num_of_shares, threshold)\n\n# Now, the parts be combined to get back the secret\nrecomb_secret = combine(parts)\n```\n\n## References\n\n1. [Shamir Secret Sharing | Wikipedia](https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing)\n2. [Go Implementation | HashiCorp Vault](https://github.com/hashicorp/vault/tree/main/shamir)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Python port of Shamir key Split and Combine methods from Hashicorp Vault.",
    "version": "1.0.4",
    "project_urls": {
        "Documentation": "https://github.com/konidev20/pyshamir",
        "Homepage": "https://github.com/konidev20/pyshamir",
        "Issue Tracker": "https://github.com/konidev20/pyshamir/issues",
        "Source Code": "https://github.com/konidev20/pyshamir"
    },
    "split_keywords": [
        "shamir",
        "pyshamir"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2da8615132073ef0cf47a3f8c81786b213ed92e5498b102d871cd87b76adf7e7",
                "md5": "ee8fbeeeffc12d43b1961c9c128e4a06",
                "sha256": "69f9ab0277ed1fc7de99a52f5373619efae0355d54ba75d049ea694c463d9bc8"
            },
            "downloads": -1,
            "filename": "pyshamir-1.0.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ee8fbeeeffc12d43b1961c9c128e4a06",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 4558,
            "upload_time": "2023-08-31T20:47:16",
            "upload_time_iso_8601": "2023-08-31T20:47:16.103983Z",
            "url": "https://files.pythonhosted.org/packages/2d/a8/615132073ef0cf47a3f8c81786b213ed92e5498b102d871cd87b76adf7e7/pyshamir-1.0.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b51b95e9c6f58f54b2a76e6861bf60241eac0001af93b7bbde42290af7511ee3",
                "md5": "1456524c26af4fa5b48e7f5de72ecf3c",
                "sha256": "971fa89a054f351afb3ac788e25c845486ebe0a200ea0d570beec4ca81c73b24"
            },
            "downloads": -1,
            "filename": "pyshamir-1.0.4.tar.gz",
            "has_sig": false,
            "md5_digest": "1456524c26af4fa5b48e7f5de72ecf3c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 4726,
            "upload_time": "2023-08-31T20:47:17",
            "upload_time_iso_8601": "2023-08-31T20:47:17.700782Z",
            "url": "https://files.pythonhosted.org/packages/b5/1b/95e9c6f58f54b2a76e6861bf60241eac0001af93b7bbde42290af7511ee3/pyshamir-1.0.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-31 20:47:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "konidev20",
    "github_project": "pyshamir",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pyshamir"
}
        
Elapsed time: 0.67851s