Merged
Conversation
Collaborator
|
@yelhousni you need that one for this: Consensys/gnark#185 right? I did not merge it since it starts with |
Collaborator
Author
Yes. Actually, ConsenSys/gnark#185 uses the other tower option (the one already merged to develop) but we are likely to merge this PR #83 as it results in fewer constraints in gnark (for inverse and full-sparse mul). I still have few tests to do in gnark. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
[ready to merge]
Currently,
Fp24is implemented as a towerFp->Fp2->Fp4->Fp8->Fp24. The initial choice of this was to allow XTR-based compression ofGTelements (which we haven't implemented yet). On the application side, we don't need the compression now, but maybe we would if we decide to implement Inner Pairing Product Argument (IPPA). This PR experiment with another choice of towerFp->Fp2->Fp4->Fp12->Fp24. On the one hand, this has the advantage of faster inversion and conjugation asFp24would be a quadratic extension field. On the other hand, theq^4-th power Frobenius (FrobeniusQuad()) is slower as we don't useFp8elements anymore (on whichFrobeniusQuad()acts asConjugate()). The overall speedup in pairing is negligible as these operations are not very significant. However, as we are trying to speedup inverses inFp(#80), it might be interesting to switch to this tower.Bench: