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

Fix test_sw_properties for some cofactor groups #555

Merged
merged 1 commit into from
Dec 22, 2022

Conversation

rubdos
Copy link
Contributor

@rubdos rubdos commented Dec 22, 2022

Description

The sw_properties test failed for groups with cofactors, for which the first valid point (according to incrementing x) was on the prime order subgroup.
The test assumed that the first point should have been of low order, such that multiplying it with the cofactor put it in the high order group.

This patch simplifies the code, and skips over these points.

This version works for the experimental curves that @Tarinn and I are testing out, one of which has cofactor 2, and triggered this edge case.

Fixes #553


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 (this is a unit test that is fixed for future curves)
  • 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

The sw_properties test failed for groups with cofactors, for which the
first valid point (according to incrementing x) was on the prime order
subgroup.
The test assumed that the first point should have been of low order,
such that multiplying it with the cofactor put it in the high order
group.

This patch simplifies the code, and skips over these points.

Fixes arkworks-rs#553
@rubdos rubdos requested review from a team as code owners December 22, 2022 10:59
@rubdos rubdos requested review from Pratyush, mmagician and weikengchen and removed request for a team December 22, 2022 10:59
@Pratyush Pratyush merged commit 4d01c84 into arkworks-rs:master Dec 22, 2022
@rubdos rubdos deleted the fix-553 branch December 22, 2022 13:05
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.

Oversight in fn test_sw_properties() ?
3 participants