Skip to content

Implementations of the Coconut signing scheme, cross-compatible between Rust and Go.

Notifications You must be signed in to change notification settings

nymtech/coconut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coconut

Coconut [paper] is a distributed cryptographic signing scheme providing a high degree of privacy for its users. You can find an overview of how to use it in the Coconut section of the Nym documentation.

A simple explanation is also available in blog form.

This repo contains Go and Rust implementations of Coconut.

Note: Currently the libraries are not interoperable - different methods of curve hash are being used.

Running the Rust CLI demo

First, install Rust for your operating system. Instructions can be found at the Rust website.

Once Rust is installed:

git clone https://github.com/nymtech/coconut.git

cd coconut/cli-demo-rs
cargo run 

Follow the prompts to demonstrate Coconut functionality.

We suggest:

4 issuing authorities Threshold of 3 2 public attributes 1 private attribute

Running the Webassembly demo

Instructions are in the webassembly-demo README

License

Coconut is released under the Apache-2.0 license. See inside the LICENSES folder of each project.

This project was partially funded through the NGI0 PET Fund, a fund established by NL.net with financial support from the European Commission's NGI programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310.

About

Implementations of the Coconut signing scheme, cross-compatible between Rust and Go.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •