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

impl CanonicalSerialize/Deserialize for BigUint #551

Merged
merged 4 commits into from
Dec 21, 2022
Merged

Conversation

weikengchen
Copy link
Member

Description

This PR adds the canonical serialization and deserialization for BigUint. A limitation is that it would only support a specific version of num-bigint.


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
  • Re-reviewed Files changed in the GitHub PR explorer

N/A:

  • Updated relevant documentation in the code
  • Added a relevant changelog entry to the Pending section in CHANGELOG.md

@weikengchen weikengchen requested review from a team as code owners December 18, 2022 23:07
@weikengchen weikengchen requested review from Pratyush and mmagician and removed request for a team December 18, 2022 23:07
writer: W,
compress: Compress,
) -> Result<(), SerializationError> {
self.to_bytes_le().serialize_with_mode(writer, compress)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should check that this serializes the length (maybe putting a regression test?)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me add one. Ideally this translates to [T].

@Pratyush Pratyush changed the title Add canonical serialization and deserialization for BigUint impl CanonicalSerialize/Deserialize for BigUint Dec 21, 2022
@Pratyush Pratyush merged commit 6d48f38 into master Dec 21, 2022
@Pratyush Pratyush deleted the canonical-bigint branch December 21, 2022 16:31
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