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

Move multi_miller_loop and final_exponentiation into BW6Config #542

Merged
merged 3 commits into from
Dec 13, 2022

Conversation

achimcc
Copy link

@achimcc achimcc commented Dec 13, 2022

Description

This PR implements the steps analagous to the PR #534 for the BW6 model. The motivation os further outlined in issue #537 :

This PR moves the implementation of the functions multi_miller_loop and final_exponentiation in the BW6 model from the Pairing trait into the BW6Parameters trait. Here they serve as default implementations, which are then referenced in the Pairing implementation for BW6.

This way we can overwrite the default implementations for both functions when we define model curves for the BW6 model. The motivation for this is like the one in #528 : we can provide our own implementations on platforms on which elliptic curve arithmetic is slow or for the case os specialized hardware.

closes: #XXXX


Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

  • Targeted PR against correct branch (master)
  • Linked to GitHub issue with discussion and accepted design OR have an explanation in the PR that describes this work.
    - [ ] Wrote unit tests
  • Updated relevant documentation in the code
  • Added a relevant changelog entry to the Pending section in CHANGELOG.md
  • Re-reviewed Files changed in the GitHub PR explorer

@achimcc achimcc marked this pull request as ready for review December 13, 2022 09:47
@achimcc achimcc requested review from a team as code owners December 13, 2022 09:47
@achimcc achimcc requested review from Pratyush, mmagician and weikengchen and removed request for a team December 13, 2022 09:47
@weikengchen weikengchen merged commit d42f71c into arkworks-rs:master Dec 13, 2022
@mmagician
Copy link
Member

Some further discussion in #537.

andrewmilson added a commit to andrewmilson/algebra that referenced this pull request Jan 1, 2023
* upstream/master: (29 commits)
  Fix some clippy lints (arkworks-rs#570)
  Correct tag name & complete command suggestion (arkworks-rs#569)
  Open a "release-PR" against a `releases` branch (arkworks-rs#566)
  Allow to overwrite default impl of `msm` in TwistedEdwards form (arkworks-rs#567)
  Remove poly-benches. (arkworks-rs#558)
  DO NOT MERGE YET. Release 0.4 (arkworks-rs#512)
  otherwise downstream users that have not migrated will not see warning (arkworks-rs#563)
  use `into_bigint()` in `Debug` for `Fp<P, N>` (arkworks-rs#562)
  Add `frobenius_map_in_place` (arkworks-rs#557)
  Fix test_sw_properties for some cofactor groups (arkworks-rs#555)
  Move h2c tests to test-templates (arkworks-rs#554)
  impl `CanonicalSerialize/Deserialize` for `BigUint` (arkworks-rs#551)
  Fix MontFp issue in fields with 64 * k bits (arkworks-rs#550)
  Fix tests for Modulus plus one div four (arkworks-rs#552)
  fix (arkworks-rs#547)
  Rename all `*Parameters` to `*Config` (arkworks-rs#545)
  Fix doc-comment on `SWUMap` and CamelCase `(CO)DOMAIN`
  Small cleanups in hash-to-curve (arkworks-rs#544)
  Allow to overwrite the default implementation of `msm` (arkworks-rs#528)
  Move `multi_miller_loop` and `final_exponentiation` into `BW6Config` (arkworks-rs#542)
  ...
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.

3 participants