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

Support gabi with updated keyshare protocol #274

Merged
merged 4 commits into from
Dec 12, 2022

Conversation

sietseringers
Copy link
Member

@sietseringers sietseringers commented Dec 11, 2022

This version of gabi produces a proofU that proves knowledge of both keyshares. To take that into account, this commit changes the following:

  • irmaclient.Client.startKeyshareSession() is now called newKeyshareSession, because it does not actually immediately start the session. Instead, it returns after checking the user's PIN. This is necessary because what happens next now differs per session type, see next point.
  • In case of disclosure/ABS, the session proceeds as before. In case of issuance, /api/v2/prove/getPs at the keyshare server is first invoked to retrieve the P values (R_0^{keyshare server secret}), after which the session is started.
  • In case of the old keyshare protocol, the keyshare's P is divided out from the U of the proofU because that is what the issuer expects in the old keyshare protocol.

Note: this commit uses the new function in gabi added by privacybydesign/gabi#38. Once that is merged, gabi should be bumped in go.mod.

sietseringers and others added 4 commits December 11, 2022 19:25
This version of gabi produces a proofU that contains both keyshares. This commit changes the following:
- irmaclient.Client.startKeyshareSession() is now called newKeyshareSession, because it does not actually immediately start the session. Instead, it returns after checking the user's PIN. This is necessary because what happens next now differs per session type, see next point.
- In case of disclosure/ABS, the session proceeds as before. In case of issuance, /api/v2/prove/getPs at the keyshare server is first invoked to retrieve the P values (R_0^{keyshare server secret}), after which the session is started.
- In case of the old keyshare protocol, the keyshare's P is divided out from the U of the proofU because that is what the issuer expects in the old keyshare protocol.
@synaptic-cleft synaptic-cleft merged commit a919ad7 into getCommitments Dec 12, 2022
@synaptic-cleft synaptic-cleft deleted the getCommitments-working branch December 12, 2022 10:48
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.

2 participants