Skip to main content

Threshold Issuance Selective Disclosure Credentials.

Project description

Coconut

license Build Status Documentation Status

Coconut is a novel selective disclosure credential scheme supporting distributed threshold issuance, public and private attributes, re-randomization, and multiple unlinkable selective attribute revelations. Coconut integrates with blockchains to ensure confidentiality, authenticity and availability even when a subset of credential issuing authorities are malicious or offline. Coconut uses short and computationally efficient credentials, and our evaluation shows that most Coconut cryptographic primitives take just a few milliseconds on average, with verification taking the longest time (10 milliseconds). We implement and evaluate a generic Coconut smart contract library for Chainspace and Ethereum.

A link to the full paper is available at the following address: https://arxiv.org/abs/1802.07344

Pre-requisites

Coconut is built on top of petlib and bplib, make sure to follow these instructions to install all the pre-requisites.

Install

If you have pip installed, you can install Coconut with the following command:

$ pip install coconut-lib

otherwise, you can build it manually as below:

$ git clone https://github.com/asonnino/coconut
$ cd coconut
$ pip install -e .

Test

Tests can be run as follows:

$ pytest -v --cov=coconut tests/

or simply using tox:

$ tox

License

The Apache 2.0 license

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coconut-lib-1.3.1.tar.gz (7.8 kB view hashes)

Uploaded Source

Built Distribution

coconut_lib-1.3.1-py2.py3-none-any.whl (11.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page