Skip to content
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

Semantics of ext2mul #1087

Open
Al-Kindi-0 opened this issue Oct 3, 2023 · 0 comments
Open

Semantics of ext2mul #1087

Al-Kindi-0 opened this issue Oct 3, 2023 · 0 comments
Labels
assembly Related to Miden assembly

Comments

@Al-Kindi-0
Copy link
Collaborator

Al-Kindi-0 commented Oct 3, 2023

Currently, ext2mul is implemented as a sequence of 3 VM operations: EXT2MUL DROP DROP where EXT2MUL works as follows:

Inputs:  [b1, b0, a1, a0, ...]
Outputs: [b1, b0, c1, c1, ...]

Where (c0, c1) is the result of an extension field multiplication of (a0, a1) and (b0, b1). Basically, after the multiplication, (b0, b1) stays on the stack while (a0, a1) is overwritten with the result of the multiplication.

Having access to the raw MUL2EXT operation, some of the operations in the Falcon signature verification algorithm could be improved significantly. @bobbinth estimates a reduction in the overall cycle count in the order of 4K - 6K cycles for the whole Falcon verification procedure

Originally posted by @bobbinth in #1000 (comment)

@bobbinth bobbinth added the assembly Related to Miden assembly label Oct 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assembly Related to Miden assembly
Projects
None yet
Development

No branches or pull requests

2 participants