Skip to content

distributed-lab/noir-plume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PLUME in Noir

License: MIT Noir CI 🌌

Plume is needed to confirm your identity without disclosing your private data, i.e. zero-knowledge proof. Plume has another feature: you can send a message from a private group using special group message. For more details visit https://blog.aayushg.com/nullifier/.

Eager to try? 😎

Add dependency to your project's Nargo.toml

[dependencies]
plume = { git = "https://github.com/distributed-lab/noir-plume", tag = "v1.0.0", directory = "crates/plume"}

Use in your Noir code as following

use plume::plume_v1;

...

plume_v1(msg, c, s, pk, nullifier);

Or in case you prefer 2 version:

use plume::plume_v2;

...

plume_v2(msg, c, s, pk, nullifier);

Examples

Check out how to generate proofs with PLUME in either crates/use_v1 or crates/use_v2. For proving data generation, see our SageMath implementation.

Benchmark 📊

We have provided information regarding different computational statistics such as constraints amount and time for various activities, see Benchmark.md

There is more? 🤯

In order to bring in PLUME to Noir, we needed to implement secp256k1_XMD:SHA-256_SSWU_RO_ hash-to-curve algorithm, ergo now it is available in Noir ecosystem!

Based on this description.
Tested using this data.