Metadata-Version: 2.1
Name: thresecdsa
Version: 0.1.1
Summary: An implementation of MPC threshold signatures
Author: vis
Author-email: vishleshakee@gmail.com
License: GPL-3.0-orlater
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: base58
Requires-Dist: ecdsa (>=0.17.0)
Requires-Dist: phe
Requires-Dist: pycryptodome

[![Build Status](https://app.travis-ci.com/johnoliverdriscoll/py-thresecdsa.svg?branch=master)](https://app.travis-ci.com/johnoliverdriscoll/py-thresecdsa)
[![Documentation Status](https://readthedocs.org/projects/py-thresecdsa/badge/?version=latest)](https://py-thresecdsa.readthedocs.io/en/latest/?badge=latest)

# thresecdsa

This is an implementation of MPC threshold signatures for both ECDSA and EdDSA.
The ECDSA implementation is based on [Fast Multiparty Threshold ECDSA with Fast
Trustless Setup](https://eprint.iacr.org/2019/114.pdf). The EdDSA implementation is based on [Provably Secure Distributed Schnorr Signatures and a (*t*, *n*)
Threshold Scheme for Implicit Certificates](https://github.com/ZenGo-X/multi-party-schnorr/blob/master/papers/provably_secure_distributed_schnorr_signatures_and_a_threshold_scheme.pdf).

# Installation

## PIP

```shell
$ pip3 install thresecdsa
```

## Building from source

```shell
$ sudo apt-get install git
$ git clone https://github.com/johnoliverdriscoll/py-thresecdsa
$ cd py-thresecdsa
$ pip3 install .
$ python3 -m unittest -v
```

# Usage

## Python package

Read the automatically generated [documentation](https://py-thresecdsa.readthedocs.io/en/latest/?badge=latest) and [unit tests](https://github.com/johnoliverdriscoll/py-thresecdsa/blob/master/test).

## Command line

This project includes a command line utility that can perform all features.
Examples of complete end-to-end key generation and signing flows using the
command line utility can be found in the [TESTING](TESTING.md) document.
