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.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7bcd77f979f4a0a54328a29815719b18b497d6bd9738dfc3a0a0674b185eadf |
|
MD5 | f8ab680a7c5f57c51499928e6a4b78df |
|
BLAKE2b-256 | 4e1c439275d2775b04e24dddeb7d5eed71ac1e7b163c05a5953df4188ee2a0c6 |
Hashes for multi_party_schnorr-0.1.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afa60f85952a2224aff7dd48002742de0f38d8f110acfeab22f12ca82049a69c |
|
MD5 | b5f5b52c01d53c904661141b2090f4ab |
|
BLAKE2b-256 | 67444530590c149c5df06c41ad57e4458cd5a2f164043521906ad8ab2f420cef |
Hashes for multi_party_schnorr-0.1.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d54011665e58f89a352955182f7e968d435ef335b238c4be6022463571b9e236 |
|
MD5 | 25d3962ef44484c89524c6ba03a47593 |
|
BLAKE2b-256 | 056b191cd7eb64cb5d108062fea72133659e83337c72ee45e820c8dbbf3bf027 |
Hashes for multi_party_schnorr-0.1.1-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 534909a359d7bddf7d512d081e9b47a5bfb1bf7d6c662efc8452d1d8b6752046 |
|
MD5 | 1137369cd23edcf27c4b487c809c0ff1 |
|
BLAKE2b-256 | 7fb84d62a06fc4d6d4c610eb35c321661bcb12146f045ea9327b50aa4e244c79 |