-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for custom BigInt
Moduli
#4676
Comments
BigInt
ModuliBigInt
Moduli
Seems like this won't happen after all @Savio-Sou ? This seems critical for RSA thus passport verification, zkEmail, and some other things (cc @joeandrews) |
We closed #5327 due to Barretenberg team's concern on merging the PR. Meanwhile, we've come up with a design spec that should be implementable in pure Noir. We're looking for a community team to implement the specs and maintain the library. (Readers interested, do reach out.) |
That said, this Issue is no longer relevant to live in this repository as the aim shifts towards a standalone BigUInt library implementing the specs linked above. Closing this as not planned accordingly. |
I’ve been using the new
BigInt
feature in Noir, and was able to decrypt an RSA signature using a 2048 bit modulus.However, while it successfully decrypted the RSA signature (confirmed via
println
), it also produced the error:The backend encountered an error: Assertion failed
. See bigint_constraint.cpp#L360Currently the barretenberg backend only supports 6 different moduli for foreign field arithmetic, and so although it appeared to work, this couldn't be used for creating actual proofs with constraints.
The current approach works well for BN254, ECDSA, EdDSA and other signature algorithms/curves with a fixed modulus, but not so much for non-curve algorithms like RSA, where the modulus changes with each keypair.
Some questions:
Related:
The text was updated successfully, but these errors were encountered: