No project description provided
Project description
Multi Party Schnorr Signatures (python extension)
-
Aggregated Signatures: {n,n} scheme based on simple_schnorr_multi_signatures_with_applications_to_bitcoin and the scheme for discrete-logs (section 5) from compact_multi_signatures_for_smaller_blockchains
-
not implement
Multi-signature scheme based on Micali-Ohta-Reyzin: Accountable-Subgroup Multisignatures. This code is being used currently for 2p-Schnorr key management. -
Threshold Schnorr scheme based on provably secure distributed schnorr signatures and a {t,n} threshold scheme. For more efficient implementation we used the DKG from Fast Multiparty Threshold ECDSA with Fast Trustless Setup. The cost is robustness: if there is a malicious party out of the n parties in DKG the protocol stops and if there is a malicious party out of the t parties used for signing the signature protocol will stop.
-
The implementations aim to be bip-schnorr compliant.
Disclaimers:
(1) This code should not be used for production at the moment.
(2) This code is not secure against side-channel attacks
(3) The code do not contain a network layer (if you are interested, check white-city for ongoing effort, contribtutions are welcome)
Get Started
threshold 3 out of 5 with 4 parties in signing
Install
Please use python3.5 or more
Install by pip pip3 install --user git+http://github.com/namuyan/multi-party-schnorr.git
How to use? please look at examples *.py
Cannot use on windows? please read a issue/39
Development Process
This contribution workflow is described in CONTRIBUTING.md.
Contact
For any questions, feel free to email us.
License
The library is released under the terms of the GPL-3.0 license. See LICENSE for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for multi-party-schnorr-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a25c747e596cd6e017eb4644ed0cc4785b963d8620f49bdd54454eeee57d925 |
|
MD5 | 74f54ae986a84a4e6d201245cda4c38a |
|
BLAKE2b-256 | a1437d95297f12ed53fd28624d1c1826e9c6148543311c0ad8d649ce0466fbcd |
Hashes for multi_party_schnorr-0.1.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 732ed61a3730654efe8586da99b6517022c02b314b0940389d0e6adc2b68116a |
|
MD5 | 9e5a343c7461ad3df752d4c0e5825c8a |
|
BLAKE2b-256 | f9ddcfbea4bda67155a23d622b77e0b056c77b09a26b150fe2343c56ce53672e |
Hashes for multi_party_schnorr-0.1.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 939845e2b650151654eafd78a6bb6b8a1f7020cb3268cca438c2a0a99fe09d5b |
|
MD5 | 6a3131912d479243463cdba9690518e5 |
|
BLAKE2b-256 | 31bce7c787f04f5c666ecfd8b08212739c8db14548a490c4ea30c3a4a7ab4427 |
Hashes for multi_party_schnorr-0.1.3-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb4eaafef038f76b4ab40df05264656ca43ee947768ca84a03deddcef301ad06 |
|
MD5 | c9a7bed9f4e864d26d6b9b1290938e1d |
|
BLAKE2b-256 | c8e876ede3e51ae948409d669c539b2310f514ef3594461e88536c4bd609b23a |