During the last months, we extended our DTC library to support Elliptic Curve Digital Signature Algorithm (ECDSA). To acheive this, we also created two independient libraries in Go programming language.

## TCPaillier

TCPaillier is an implementation of Threshold Criptography Paillier’s Cryptosystem. This code is based on the implementation of Paillier Threshold Encryption Scheme from UTDallas, and both implementations are based on the paper from Ivan Damgård et al. A Generalization of Paillier’s Public Key System with Applications to Electronic Voting.

Official Usage Documentation with examples

## TCECDSA

TCECDSA is an 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.

Official Usage Documentation with examples

## DTC and DTCNode Upgrades

We upgraded DTC and DTCNode Go implementations to use TCECDSA library to sign with the elliptic curves officially supported by Golang (P-224, P-256, P-384, P-512).

DTCNode Source Code and README

## DHSM-Signer is now called HSM-Tools

We renamed DHSM-Signer to HSM-Tools, and extended it to allow ECDSA signatures over DNS zones.