Skip to content

Conversation

@p4u
Copy link

@p4u p4u commented Jan 8, 2026

  • Added src/bls12377.js with curve parameters.
  • Updated src/curves.js to support 'bls12377' curve name.
  • Exposed new curve in main entry point.

- Added src/bls12377.js with curve parameters.
- Updated src/curves.js to support 'bls12377' curve name.
- Exposed new curve in main entry point.
@p4u
Copy link
Author

p4u commented Jan 8, 2026

For reference see https://github.com/Consensys/gnark-crypto/blob/master/ecc/bls12-377/bls12-377.go

The parameters were adopted from the standard BLS12-377 definition (as used in Gnark and Zexe).

  • Seed: x = 0x8508c00000000001 (9586122913090633729)
  • Scalar Field (r): Computed as $x^4 - x^2 + 1$.
  • Base Field (q): Computed as $(x-1)^2 \cdot r/3 + x$.
  • Curve: $y^2 = x^3 + 1$ (b=1).
  • Extension: Constructed with non-residue $\xi = -5$ (derived from Gnark's $u^2 + 5$ tower definition).

@p4u
Copy link
Author

p4u commented Jan 8, 2026

Before merging this, we must merge iden3/wasmcurves#73 and update the wasmcurves version on the package.json for ffjavascript

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant