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

Add support for new signature algorithms #38

Open
0xturboblitz opened this issue Dec 31, 2023 · 17 comments
Open

Add support for new signature algorithms #38

0xturboblitz opened this issue Dec 31, 2023 · 17 comments
Assignees
Labels
help wanted Extra attention is needed medium

Comments

@0xturboblitz
Copy link
Member

0xturboblitz commented Dec 31, 2023

It's crucial for proof of passport to support more signature algorithms. See the map here for which country uses which. Here there are in order of priority.

Signature algorithm Mock passport data Register circuit DSC circuit Implemented in app Assigned
rsa sha1
rsa sha256
rsa sha512
rsassaPss sha256 🚧 🚧
ecdsa sha1 🚧
ecdsa sha256 🚧
ecdsa sha384
ecdsa sha512 🚧

They are all based on the same primitives (RSA, ECDSA and SHA) that all have implementations in circom.

With the new circuit design we shipped, adding support for new signature algorithms can be done easily by copying the passport verifier circuit and modifying it.

Hash function circuits here

If you try your hands at those, please include typescript tests for them.

@puneeth072003
Copy link

I'd like to take up this issue.

@0xturboblitz 0xturboblitz added help wanted Extra attention is needed ODHack labels May 23, 2024
@0xturboblitz 0xturboblitz changed the title Implement more signature algorithms Add support for new signature algorithms May 23, 2024
@remicolin
Copy link
Member

Hi @puneeth072003 you can work on this, have you experience building circom circuits?
You can't take the whole issue but you can start by working on one of the 3 signature/hash algorithm.

@remicolin remicolin reopened this May 23, 2024
@RajeshRk18
Copy link

Can I take up this issue? I've experience contributing to PLUME with circom. So, I'll be able to implement all 3 signature schemes

@0xturboblitz
Copy link
Member Author

Hi @RajeshRk18, yes go for it
If you have questions you can dm us at @FlorentTavernier or @colinremi on telegram

@remicolin
Copy link
Member

hi @RajeshRk18
do you have any updates to share with us?
We will assign the rsa-pss part to the person currently working on mgf1.

@RajeshRk18
Copy link

RajeshRk18 commented May 31, 2024

@remicolin I am on it! Started working on rsapss already. Will make a pr soon

This was referenced Jun 1, 2024
@RajeshRk18
Copy link

RsassaPss is in wip.

@RajeshRk18
Copy link

@remicolin Also rsassaPss requires MGF. So, #115 needs to be merged

@remicolin
Copy link
Member

@RajeshRk18 Please focus on SHA1 and ECDSA for the moment, they require already a good amount of work.

@0xturboblitz
Copy link
Member Author

0xturboblitz commented Jun 2, 2024

Just added the mock passport data for rsassaPss here: https://github.com/zk-passport/proof-of-passport/blob/57ec1c3407ea1f66f348636a68e0d1c6cf914c65/common/src/utils/mockPassportData.ts#L105

If anyone wants to, you can now try doing the full implementation for rsassaPss using #115

@RajeshRk18
Copy link

@0xturboblitz why I was unassigned? I am almost done

@0xturboblitz 0xturboblitz assigned RajeshRk18 and unassigned RajeshRk18 Jun 2, 2024
@seshanthS
Copy link
Collaborator

Hello, Shall I take sha1WithRSAEncryption

@0xturboblitz
Copy link
Member Author

Assigning to @seshanthS as @RajeshRk18's sha1 pr is mostly copy-paste and does not compile

@0xVikasRushi
Copy link
Collaborator

0xVikasRushi commented Jul 5, 2024

Hello @remicolin @0xturboblitz 👋

I was thinking to implement ECDSA with sha1.

Please let me know if i can take up the ecdsa-with-SHA1

@0xturboblitz
Copy link
Member Author

please do @0xVikasRushi

@remicolin
Copy link
Member

@0xVikasRushi can you give your telegram @?

@0xVikasRushi
Copy link
Collaborator

@0xVikasRushi can you give your telegram @?

@Rushi0578

@remicolin remicolin removed the good first issue Good for newcomers label Jul 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed medium
Projects
None yet
6 participants