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

[crypto] E2 BLST-based type #4230

Merged
merged 12 commits into from
Apr 17, 2023
Merged

Conversation

tarakby
Copy link
Contributor

@tarakby tarakby commented Apr 17, 2023

Introduce new E2 type based on BLST low level to represent points on curve E_2 of BLS12-381:

  • new type Fp for elements on prime field F_p ( p prime of BLS12-381)
  • new type Fp2 for elements on extended prime field F_p^2.
  • new type E2 for points on curve of BLS12-381 over F_p^2.
  • use E2 in all package protocols (BLS, BLS multi-signature, BLS threshold signature, BLS-SPoCK, all DKGs).

Side changes:

  • update the way BLST C source are imported: all files are imported inside bls12381_utils.c only, otherwise static functions can't be used.
  • membership checks are disabled for now
  • update BLS batch verify logic to a simpler and more robust process for invalid format signatures (signature is tagged invalid while identities are used as a signature and public key when constructing the aggregation tree).
  • rename some G1/G2 functions and types to E1/E2 to not give a false sense of membership in G1/G2.

Remaining tasks related to E2:

  • update membership checks in G2 (once randomness and test functions are ready)
  • implement non-constant time scalar implementations with small exponents to speed up DKG polynomial computations in E2.

@tarakby tarakby merged commit 8595b05 into feature/blst-based-crypto Apr 17, 2023
@tarakby tarakby deleted the tarak/g2-blst-type branch April 17, 2023 22:54
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.

1 participant