{"id":21352090,"url":"https://github.com/avras/bp-ed25519","last_synced_at":"2025-07-12T20:32:04.737Z","repository":{"id":187040876,"uuid":"610718782","full_name":"avras/bp-ed25519","owner":"avras","description":"bellperson gadget for ed22519 curve operations","archived":false,"fork":false,"pushed_at":"2023-08-08T16:53:32.000Z","size":396,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-28T03:56:24.612Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","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/avras.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}},"created_at":"2023-03-07T10:46:03.000Z","updated_at":"2023-09-30T09:38:36.000Z","dependencies_parsed_at":"2023-08-08T19:36:04.140Z","dependency_job_id":null,"html_url":"https://github.com/avras/bp-ed25519","commit_stats":null,"previous_names":["avras/bp-ed25519"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avras%2Fbp-ed25519","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avras%2Fbp-ed25519/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avras%2Fbp-ed25519/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avras%2Fbp-ed25519/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avras","download_url":"https://codeload.github.com/avras/bp-ed25519/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225834368,"owners_count":17531471,"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":[],"created_at":"2024-11-22T03:12:33.083Z","updated_at":"2024-11-22T03:12:33.702Z","avatar_url":"https://github.com/avras.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ed25519 Curve Operations in `bellperson`\n\n[bellperson](https://github.com/filecoin-project/bellperson) gadget for ed22519 curve operations (point addition, scalar multiplication). It is inspired by the approach taken by [circom-ecdsa](https://github.com/0xPARC/circom-ecdsa).\n\n\u003e Experimental code, do not use in production\n\nScalar multiplication with a 4-bit lookup gives the minimum number of constraints (about 1.3 million).\n\n```\n$ cargo t -r window_m -- --nocapture\n\nrunning 1 test\nlookup 3, Num constraints = 1347012\nlookup 4, Num constraints = 1294624\nlookup 5, Num constraints = 1307404\nlookup 6, Num constraints = 1406882\ntest nonnative::circuit::tests::alloc_affine_scalar_multiplication_window_m ... ok\n```\n\n## Repo Organization\n\n- The `scratch` directory contains prototyping code and notes\n- The `src` directory has the Rust code\n    + The `src/field.rs` and `src/curve.rs` modules have the non-circuit and non-limbed versions of the ed25519 base field and curve.\n    + The `src/nonnative/vanilla.rs` module has the non-circuit limbed version of the ed25519 base field. Not all the functions here are used in the gadget. Some are the result of prototyping limbed arithmetic and will be removed in the future.\n    + The `src/nonnative/circuit.rs` module has the circuits \n\n\n## License\n\nLicensed under MIT license as the `field` module is based on an earlier version of the MIT-licensed `crypto/dalek-ff-group` crate of [Serai](https://github.com/serai-dex/serai).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favras%2Fbp-ed25519","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favras%2Fbp-ed25519","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favras%2Fbp-ed25519/lists"}