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

Use ArkWorks BLS12-381 implementation #497

Closed
3 tasks done
annenkov opened this issue Jan 9, 2024 · 0 comments · Fixed by #489 or #496
Closed
3 tasks done

Use ArkWorks BLS12-381 implementation #497

annenkov opened this issue Jan 9, 2024 · 0 comments · Fixed by #489 or #496
Assignees
Labels
[Type] Task An additional feature or improvement.

Comments

@annenkov
Copy link
Contributor

annenkov commented Jan 9, 2024

Task description

Change the BLS12-381 curve implementation to https://crates.io/crates/ark-bls12-381
Currently, we use the BLS12-381 curve implementation from an outdated version of the pairing crate. Updating this implementation is not possible because the target group type is not accessible externally and we need it to define custom serialization (see the details here).
ArkWorks ecosystem offers many curve implementations and is well-maintained.

However, in order to use an up-to-date version of ArkWorks' BSL12-381, we need to update ed25519-dalek, since the versions of rand crate must agree. It's also desirable to do so due to the security advisory related to the version of the crate before 2.0.

Both changes (ArkWorks BLS and ed25519-dalek upgrade) should happen at the same time.

Sub-tasks

  • Define adapters to ArkWorks algebra traits
  • Integrate the BLS21-381 curve implementation
  • Upgrade ed25519-dalek to version 2.
@annenkov annenkov added the [Type] Task An additional feature or improvement. label Jan 9, 2024
@annenkov annenkov self-assigned this Jan 9, 2024
This was linked to pull requests Jan 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Task An additional feature or improvement.
Projects
None yet
1 participant