w3c / vc-di-ecdsa

Data Integrity specification for ECDSA using NIST-compliant curves
https://w3c.github.io/vc-di-ecdsa/
Other
9 stars 9 forks source link

Add cryptographic suite instantiation algorithm. #57

Closed msporny closed 4 months ago

msporny commented 4 months ago

This PR adds the "Cryptographic Suite Selection Algorithm" to the ECDSA Cryptosuite that was defined by @jyasskin in the Data Integrity specification as an interface that MUST be defined by all DI cryptographic suite specifications.

Additional alignments are needed in the Data Integrity spec to line all of this up (I'll link to that PR once that's done). There is some "misalignment" w/ the interface and the algorithms for deriving selective disclosure proofs that we might need to handle in a future PR.


Preview | Diff

iherman commented 4 months ago

The issue was discussed in a meeting on 2024-02-14

View the transcript #### 1.1. Fix algorithm misalignments using new cryptosuite interface. (pr vc-data-integrity#244) _See github pull request [vc-data-integrity#244](https://github.com/w3c/vc-data-integrity/pull/244)._ **Manu Sporny:** processed a number of PRs across VCDM, DI, cryptosuites. need to talk about Jeffery Yaskin's PR (#244) to create an interface for all DI specs. _See github pull request [vc-di-ecdsa#57](https://github.com/w3c/vc-di-ecdsa/pull/57)._ **Manu Sporny:** that broke interfaces b/w DI specs. trying to get them re-aligned. 2 PRs - 1 for DI, 1 for ECDSA-SD. heads up to the group we're trying to align these interfaces. … some misalignment on how they would work. have a plan forward to address this. plan is for an interface in all DI specs that all have 'functions' each cryptosuite executes to create/verify proofs. a standard interface. … the functions to expose was under debate. based on discussion we will only define 2 functions on the interface: create proof and verify proof. … will require changes to algorithms across these specs. pushing more details into the cryptosuite specs. less in DI the spec. should not impact implementations. we know we will go through a 2nd CR. the interfaces are changing, not the algorithms. … are there any concerns/guidance before I start making those changes? > *Dave Longley:* +1 to those changes. **Ivan Herman:** presume that ECDSA then EDDSA and then BBS? **Manu Sporny:** correct. **Michael Jones:** think it takes us down a bad path to build interfaces that no one will build. we should not be creating APIs, that is out of scope. **Manu Sporny:** agree that APIs are out of scope, but that's not what we're creating here. **Michael Jones:** that is what you described. **Manu Sporny:** have discussed this before. we're discussing interfaces, which is what the w3c does, not in web IDL which would define an API. implementations are implementing in this way. they are abstract, not concrete web IDL interfaces. **Michael Jones:** I am missing context. what else are you planning to do? **Manu Sporny:** changing the interfaces that we had months ago, which Jefferey asked for. that PR had weeks of review and already went in. **Brent Zundel:** any other comments? **Manu Sporny:** no - that's the major PR I need feedback on.
msporny commented 4 months ago

Normative, multiple reviews, changes requested and made, no objections, merging.