During the last semester, we reimplemented the entire set of libraries using Go Programming Language.

The implementation process consisted of 4 sub-projects, which are explained below.

TCRSA

TCRSA is a reimplementation of the libtc Threshold Criptography library, using only dependences from Go Standard Library. This allows the code to be highly portable and easily deployable.

Official Usage Documentation with examples

Source Code and README

DTC

DTC is a reimplementation of the libdtc Distributed Threshold Criptography code used as library by PKCS#11 enabled systems. It is easily deployable and with a similar performance compared to its C++ version.

It uses ZMQ as the transport layer of the system, but it does not require to have an open port on the library side of the connection (the C++ version has that requirement). It also uses sqlite3 for key info administration.

Source Code, README and installation instructions

DTCNode

DTCNode is a reimplementation of the libdtc Distributed Threshold Criptography code used in nodes, easily deployable and with a similar performance compared to its C++ version.

Source Code, README and installation instructions

DHSM-Signer

DHSM-Signer allows to sign a zone using a PKCS#11 enabled device. It is useful for testing the DTC library performance and functionalities.

Source Code, README and installation instructions