Skip to content

Implementation of the PLUME protocol in Noir.

License

Notifications You must be signed in to change notification settings

signorecello/noir-plume

This branch is 4 commits ahead of distributed-lab/noir-plume:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e0d8042 Â· Feb 13, 2025
Nov 14, 2024
Feb 13, 2025
Nov 14, 2024
Feb 13, 2025
Nov 14, 2024
Nov 14, 2024
Jul 29, 2024
Oct 29, 2024
Nov 14, 2024
Nov 14, 2024

Repository files navigation

PLUME in Noir

License: MIT Noir CI 🌌

Signature nullification cryptography.

Read about PLUME here.

How to use?

Add dependency to your project's Nargo.toml

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

Employ in your Noir code as following

use plume::plume_v1;

...

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

Or in case you prefer second 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. Sample data generation in our SageMath implementation.

Benchmarks

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

Need something else?

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

Tested using this data.

About

Implementation of the PLUME protocol in Noir.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Noir 71.0%
  • Sage 16.2%
  • TypeScript 6.9%
  • Shell 5.5%
  • HTML 0.4%