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

SRI - Accept Eddsa signatures throughout the application #759

Open
2 tasks
biscuitdey opened this issue Oct 5, 2023 · 2 comments
Open
2 tasks

SRI - Accept Eddsa signatures throughout the application #759

biscuitdey opened this issue Oct 5, 2023 · 2 comments
Assignees
Milestone

Comments

@biscuitdey
Copy link
Collaborator

Overview

Previously we accepted only Ecdsa signatures in the SRI because we used Metamask to login and Metamask used Ecdsa signatures. But Ecdsa signature verification inside circom zk circuits is very #752 & the available alternatives are not widely used (causing issues with #752 (comment)). Keeping these issues in mind, SRI team has decided to use Eddsa signatures.

Reference

PR #752

Tasks

  • Generate Eddsa signatures on the client-side
  • Add Eddsa sig verification in auth
@biscuitdey biscuitdey added this to the mil5 milestone Oct 5, 2023
@ognjenkurtic
Copy link
Collaborator

Currently blocked by #765

@biscuitdey biscuitdey self-assigned this Dec 14, 2023
@biscuitdey
Copy link
Collaborator Author

Approach used (as suggested by Andreas):

  1. get pubkey_owner from accounts in MM through API
  2. `message = keccack256(pubKey_owner)'
  3. call the MM signing function API with the message as payload and the target account to use
  4. API returns signature
  5. Convert hex signature into Bigint number
  6. That is the EdDSA privkey
  7. Then generate the EdDSA pubkey from privkey using circom crypto library
  8. Then use circom crypto library to create EdDSA signatures with privkey

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 a pull request may close this issue.

2 participants