Skip to main content

Cryptographic library for secret sharing and key management, powered by Rust

Project description

PyQuorum

Cryptographic library for secret sharing and key management, powered by Rust

Installation

pip install pyquorum

Quick Start

from pyquorum import ShamirScheme, BlakleyScheme, generate_key

k=3 # threshold for combine
n=4 # number of total shares
key = generate_key()
Scheme = ShamirScheme(k, n) # BlakleyScheme(k, n)
shares = Scheme.split(key)
combine = Scheme.combine(shares)

Security

This library does:

  • generate key
  • split secret
  • combine secret

What it doesn't:

  • replace encryption packages like cryptography, pyserpent and etc

WARNING - This library is in active development (0.x.x). It has not undergone a professional security audit and contains known vulnerabilities. Do not use in production.

You can review known vulnerabilities in SECURITY_ISSUES_TRACKER.md

If you found a security issue, please refer to SECURITY.md

Roadmap to v1.0.0

  • - Shamir Scheme
  • - Blakley Scheme
  • - Additive Scheme
  • - HKDF Key Derivation
  • - Threshold ECDSA

Support

If you find this package usefull, you can star repo on github

Theory

Shamir Scheme Share

How to split a secret key

Shamir split diagram

How to combine a secret key

Shamir combine diagram

Example

Source secret key

Spliting secret key to 5 shares

Combining 3 shares to secret key

Result

Blakley Scheme Share

How to split a secret key

Blakley split

How to combine a secret key

Blakley combine

Example

Spliting secret key to 4 shares

Combining 3 shares to secret key

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

pyquorum-0.2.1.tar.gz (11.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyquorum-0.2.1-cp39-abi3-win_amd64.whl (135.0 kB view details)

Uploaded CPython 3.9+Windows x86-64

pyquorum-0.2.1-cp39-abi3-manylinux_2_28_x86_64.whl (239.0 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

pyquorum-0.2.1-cp39-abi3-macosx_11_0_arm64.whl (211.7 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file pyquorum-0.2.1.tar.gz.

File metadata

  • Download URL: pyquorum-0.2.1.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyquorum-0.2.1.tar.gz
Algorithm Hash digest
SHA256 824cf1e827868204072c5eac3ce886dd18f24aebea7ab5504f0e5bcbb5f59b75
MD5 9df1823cbf38599f98a33e188b69d79d
BLAKE2b-256 15105b77b874ab0d02da3a942349f7535079fb3f2a0c3df729c9bcce14917b5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyquorum-0.2.1.tar.gz:

Publisher: publish.yml on svvqt/pyquorum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyquorum-0.2.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: pyquorum-0.2.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 135.0 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pyquorum-0.2.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e838a62dbd8263fbdbdec2a9cf95954b7b9ef2aaa57ad67d63320ca9b76ad60c
MD5 ce60df2abbef8dcd1aba99eca848d255
BLAKE2b-256 9c9e13d2b3adb3ef5ad4f5777c444a6d686a81429dd8d146992b28407d0a2a6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyquorum-0.2.1-cp39-abi3-win_amd64.whl:

Publisher: publish.yml on svvqt/pyquorum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyquorum-0.2.1-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pyquorum-0.2.1-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07288e06c34cb4344bfa4505d5791ec8ce25f558f91b5f46190a1da56a60cef5
MD5 ace2199f37e4d43b23d2aca145b15935
BLAKE2b-256 c5b30542a83161c2a181fbef0af743bb7f5850b02b46b2337d4dd411c72c78d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyquorum-0.2.1-cp39-abi3-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on svvqt/pyquorum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyquorum-0.2.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyquorum-0.2.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1bbdbda58f970904fe6949e62ca57adf6cc9d1bcb461d4b8d1421ec4b092a764
MD5 e1b20211aef29ff75e4ab6261b81699f
BLAKE2b-256 f1e9853120db619e7a53dc50d99463b62ae616fa1a53c18c9b984f5254dd3e7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyquorum-0.2.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: publish.yml on svvqt/pyquorum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page