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

Feature Request: Public Key Derivation Function for BLS12381G2 #196

Open
Dtitkaio opened this issue Dec 25, 2024 · 0 comments
Open

Feature Request: Public Key Derivation Function for BLS12381G2 #196

Dtitkaio opened this issue Dec 25, 2024 · 0 comments

Comments

@Dtitkaio
Copy link

Hi MATTR team! 👋

First, thank you for maintaining this fantastic library. The BBS+ signature implementation has been incredibly valuable for our SSI projects.

Context:
We're building a key management system using your library, and we've found ourselves in an interesting situation. While generateBls12381G2KeyPair() works great for new keys, we're looking for a way to handle key import scenarios where we need to derive public keys from existing private keys.

Current Workflow:

// This works great for new keys!
const keyPair = await generateBls12381G2KeyPair();

Desired Enhancement:
Would it be possible to add a utility function for deriving public keys from private keys? Something like:

// Potential API
const publicKey = await derivePublicKeyFromPrivate(existingPrivateKey);

Use Cases:

  • Key recovery scenarios where only the private key is available
  • Integration with existing key management systems
  • Supporting key import/export functionality in SSI wallets

We'd love to contribute to this effort if you're open to it! Let us know if you'd like us to:

  • Draft a proposal for the API design
  • Help with implementation
  • Write tests
  • Provide additional use cases or requirements

Thanks for considering this request! Let us know if you need any clarification or additional information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant