CoconutGo
![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)
This is a Go implementation of the Coconut selective disclosure cerendtial scheme by Sonnino et al.: https://arxiv.org/pdf/1802.07344.pdf.
It supports threshold issuance on multiple public and privMate attributes, re-randomization and multiple unlinkable selective attribute revelations.
The implementation is based on the existing Python version: https://github.com/asonnino/coconut
Pre-requisites
To run the code, you only need to follow the standard Go installation procedure as described in https://golang.org/doc/install.
All of the requiered dependencies are attached in the vendor directory.
Test
In order to run tests, simply use the following:
go test -v ./...
Benchmarks
The benchmarks were performed on 64bit Ubuntu 18.04.1 LTS VM with 2 cores of 3.6GHz Ryzen 1600 assigned. Each individual benchmark was run single-threaded for 1 minute with -benchtime=60s
flag.
REQUIRE RERUNNING