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

4.2 Unnecessary Use of BLS12-381 Curve #131

Draft
wants to merge 1 commit into
base: unstable
Choose a base branch
from

Conversation

pavelkrolevets
Copy link
Contributor

@pavelkrolevets pavelkrolevets commented Sep 30, 2024

Problem: in pkgs/dkg/drand, ECIES is instantiated using the BLS12-381. While this is perfectly functional and secure, ECIES does not require the pairing functionality carried by BLS and is usually deployed with pairing-unfriendly curves that are more performant in this use case. For instance, Kyber supports ECIES with Curve25519.

Solution: change Longerm and Auth at Kyber config to edwards25519

Result: Kyber supports only same schemas for VSS and Auth messages: if we use BLS12-381 for VSS and edwards25519/Curve25519 for ECIES, then we get an error at this place https://github.com/drand/kyber/blob/master/share/dkg/dkg.go#L220

Conclusion: we cant use different schemes for VSS and ECIES, so we continue to use BLS12-381 despite its slower

@pavelkrolevets pavelkrolevets changed the base branch from main to unstable September 30, 2024 11:20
@pavelkrolevets pavelkrolevets changed the title Ecies change 4.2 Unnecessary Use of BLS12-381 Curve Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants