# README
Threshold Cryptography Eliptic Curve Digital Signature Algorithm
Implementation of Threshold Cryptography Eliptic Curve Digital Signature Algorithm proposed on the paper Using Level-1 Homomorphic Encryption To Improve Threshold DSA Signatures For Bitcoin Wallet Security.
This implementation is loosely based on the extension of Paillier Toolbox to use Level-2 Homomorphic Encryption from Princeton CITP. That code is the working example of the work in the paper mentioned earlier.
This code also implements the level-2 homomorphic encryption protocol from Dario Catalano et al, Boosting Linearly-Homomorphic Encryption to Evaluate Degree-2 Functions on Encrypted Data.
Requirements
The only requirement for this library is our [Threshold Paillier Implementation] (https://github.com/niclabs/tcpaillier). It will be downloaded automatically if the module is used with Go Modules
Using the library
To use the library with a module-enabled go project, you must write the following line on a terminal on the root file of the project.
go get github.com/niclabs/tcecdsa
Tests
To run the tests you just need to use go test:
go test github.com/niclabs/tcecdsa