🧐 Motivation
The embedded-Jubjub modules (Schnorr #548, Pedersen, ring signatures, FROST) all re-need the same low-level curve helpers. A shared primitives module avoids duplication and centralizes the scalar-fitting trick that unblocks the EmbeddedFr decode error in ecMul / ecMulGenerator.
📝 Details
Reusable primitives for the Jubjub embedded curve (over BLS12-381's scalar field): pointsEqual, isIdentity, assertNonIdentity, fitInJubjubScalar (truncates a Field into [0, 2^248) ⊂ [0, Fr) so it is a valid Jubjub scalar for ecMul / ecMulGenerator). Shared by the Schnorr (#548) / Pedersen / ring-signature / FROST modules. PoC: crypto/Jubjub.compact in #521.
Roadmap: Libraries → Jubjub Curve Primitives (Priority MNF: medium).
🧐 Motivation
The embedded-Jubjub modules (Schnorr #548, Pedersen, ring signatures, FROST) all re-need the same low-level curve helpers. A shared primitives module avoids duplication and centralizes the scalar-fitting trick that unblocks the
EmbeddedFrdecode error inecMul/ecMulGenerator.📝 Details
Reusable primitives for the Jubjub embedded curve (over BLS12-381's scalar field):
pointsEqual,isIdentity,assertNonIdentity,fitInJubjubScalar(truncates aFieldinto[0, 2^248) ⊂ [0, Fr)so it is a valid Jubjub scalar forecMul/ecMulGenerator). Shared by the Schnorr (#548) / Pedersen / ring-signature / FROST modules. PoC:crypto/Jubjub.compactin #521.Roadmap: Libraries → Jubjub Curve Primitives (Priority MNF: medium).