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

Refactor Metal EC Backend #20

Closed
moven0831 opened this issue Dec 20, 2024 · 1 comment
Closed

Refactor Metal EC Backend #20

moven0831 opened this issue Dec 20, 2024 · 1 comment
Assignees

Comments

@moven0831
Copy link
Collaborator

moven0831 commented Dec 20, 2024

Description

  • PR refactor(metal_mont_backend): adapted from https://github.com/geometryxyz/msl-secp256k1 #13 introduced a comprehensive refactoring and enhancement of the Metal MSM module, including an EC backend adapted from Tal and Koh's work on Zprize 2023, various arithmetic operations, benchmarking, and testing suites. The original PR is quite large and spans multiple distinct domains. To maintain clarity, improve review efficiency, and track incremental progress, we need to split the original PR into several smaller PRs.

Goals

  1. Sub PRs:

    • BigInt Operations:
      BigInt arithmetic functionalities (addition, subtraction for arbitrary limb size and tests).

    • Field Operations:
      Field arithmetic functionalities (addition, subtraction above field).

    • Montgomery Multiplication
      link to Implement Optimized Montgomery Multiplication for Metal #6

    • Elliptic Curve Operations:
      ECPoint types definition and associated point addition/doubling operations.

  2. Close the Original PR:
    Once the new PRs are created and reference this issue, the original PR will be closed in favor of the smaller, more manageable contributions.

Acceptance Criteria:

  • Each new PR should be self-contained and properly documented.
  • All new PRs should reference this issue to maintain proper traceability.
  • The original PR should be closed only after these new PRs are created and are in review.

References:

@moven0831
Copy link
Collaborator Author

The EC algorithms for point addition (pADD), point mixed addition (pMADD), and point doubling (pDBL) successfully passed the correctness test using random inputs.

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

No branches or pull requests

1 participant