{"id":13768711,"url":"https://github.com/distributed-lab/noir-plume","last_synced_at":"2025-03-02T18:25:27.478Z","repository":{"id":247375416,"uuid":"824102544","full_name":"distributed-lab/noir-plume","owner":"distributed-lab","description":"Implementation of the PLUME protocol in Noir.","archived":false,"fork":false,"pushed_at":"2024-11-14T17:42:54.000Z","size":182,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-01-13T05:41:46.920Z","etag":null,"topics":["noir","plume","signature","zkp"],"latest_commit_sha":null,"homepage":"","language":"Noir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/distributed-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-04T11:16:44.000Z","updated_at":"2024-12-27T16:11:20.000Z","dependencies_parsed_at":"2024-07-22T13:23:30.484Z","dependency_job_id":"47385331-d46e-4670-840f-55933b48b12e","html_url":"https://github.com/distributed-lab/noir-plume","commit_stats":null,"previous_names":["distributed-lab/noir-plume"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distributed-lab%2Fnoir-plume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distributed-lab%2Fnoir-plume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distributed-lab%2Fnoir-plume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/distributed-lab%2Fnoir-plume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/distributed-lab","download_url":"https://codeload.github.com/distributed-lab/noir-plume/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241550244,"owners_count":19980677,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["noir","plume","signature","zkp"],"created_at":"2024-08-03T16:01:24.875Z","updated_at":"2025-03-02T18:25:27.449Z","avatar_url":"https://github.com/distributed-lab.png","language":"Noir","funding_links":[],"categories":["Libraries","Get Coding"],"sub_categories":["Cryptography","Libraries"],"readme":"# PLUME in Noir\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Noir CI 🌌](https://github.com/distributed-lab/noir-plume/actions/workflows/noir.yml/badge.svg)](https://github.com/distributed-lab/noir-plume/actions/workflows/noir.yml)\n\n\u003e Signature nullification cryptography.\n\nRead about PLUME [here](https://blog.aayushg.com/nullifier/).\n\n## How to use?\n\n### Add dependency to your project's `Nargo.toml`\n\n```toml\n[dependencies]\nplume = { git = \"https://github.com/distributed-lab/noir-plume\", tag = \"v2.0.0\", directory = \"crates/plume\"}\n```\n\n### Employ in your `Noir` code as following\n\n```rust\nuse plume::plume_v1;\n\n...\n\nplume_v1(msg, c, s, pk, nullifier);\n```\n\nOr in case you prefer [second version](https://www.notion.so/mantanetwork/PLUME-Discussion-6f4b7e7cf63e4e33976f6e697bf349ff):\n\n```rust\nuse plume::plume_v2;\n\n...\n\nplume_v2(msg, c, s, pk, nullifier);\n```\n\n### Examples\n\nCheck out how to generate proofs with PLUME in either `crates/use_v1` or `crates/use_v2`.\nSample data generation in our `SageMath` [implementation](./etc).\n\n## Benchmarks\n\nWe have provided information regarding different computational statistics such as constraints amount and time for various activities, see [Benchmark.md](./BENCHMARK.md)\n\n## Need something else?\n\nIn order to bring `PLUME` to `Noir`, we needed to implement\n[secp256k1_XMD:SHA-256_SSWU_RO_](https://datatracker.ietf.org/doc/id/draft-irtf-cfrg-hash-to-curve-06.html) hash-to-curve algorithm, thus now it is available in `Noir` ecosystem!\n\nTested using [this data](https://www.ietf.org/archive/id/draft-irtf-cfrg-hash-to-curve-13.html#appendix-J.8.1).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdistributed-lab%2Fnoir-plume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdistributed-lab%2Fnoir-plume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdistributed-lab%2Fnoir-plume/lists"}