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
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.