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

feat(ecc): Weierstrass affine curves over complex fields #1127

Merged
merged 8 commits into from
Dec 24, 2024

Conversation

jonathanpwang
Copy link
Contributor

@jonathanpwang jonathanpwang commented Dec 24, 2024

Refactored the macros so that:

  • Derivation of Group and core ops from WeierstrassPoint is in a re-usable macro.

  • WeierstrassPoint is separate from FromCompressed trait

  • New macro that implements WeierstrassPoint on AffinePoint wrapper using only field intrinsics instead of curve intrinsics: this is necessary for complex curves because we do not yet have intrinsics for curve operations over non-prime fields.

  • Unit tests

Not included but I wish to do in the future:

  • Field should really extend IntMod, but IntMod has some stuff that is specific to modular integers. I want to split IntMod into IntegralDomain + ModularInteger and then Field is just an empty extension of IntegralDomain that you implement when you're sure the ring is a field. The functions more specific to our intrinsic implementation go into ModularInteger.

@jonathanpwang jonathanpwang marked this pull request as ready for review December 24, 2024 03:41
@jonathanpwang jonathanpwang merged commit e4eaff4 into main Dec 24, 2024
5 checks passed
@jonathanpwang jonathanpwang deleted the chore/sw-affine-point branch December 24, 2024 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant