Coconut
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
Metadata
Release files for coconut-lib 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| coconut-lib-1.3.1.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| coconut_lib-1.3.1-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 19.0 kB
Release files / coconut-lib-1.3.1.tar.gz
| Download URL | coconut-lib-1.3.1.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b9fd8d30eba33674199ef4295f164a04561db2cc58f8c7b44637daa4db94b196
|
|
BLAKE2b-256 checksum How to use checksums |
8f7606b6b012a41ea034895bf18f4e56e7f9d8a3735ee179ae296f799922a643
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.10
|
Release files / coconut_lib-1.3.1-py2.py3-none-any.whl
| Download URL | coconut_lib-1.3.1-py2.py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
e1b2977c9b22051b6aec77942b21e448ffc13ddc3359974f4b5c0e01470b0621
|
|
BLAKE2b-256 checksum How to use checksums |
dab5ce796214f41cbdbb8f21719788d95029df44befea8086dd1f73ceb853922
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.12.1 pkginfo/1.4.2 requests/2.20.1 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/2.7.10
|