You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Currently,
ext2mul
is implemented as a sequence of 3 VM operations:EXT2MUL DROP DROP
whereEXT2MUL
works as follows: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 procedureOriginally posted by @bobbinth in #1000 (comment)
The text was updated successfully, but these errors were encountered: