-
Notifications
You must be signed in to change notification settings - Fork 21
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
X25519KeyAgreementKey2019 and X25519KeyAgreementKey2020 #111
Comments
We think the language could be improved... probably by some folks working on EDVs and DIDComm. See #109 (comment) |
To be honest The issue with |
for example, compare: |
not key derivation and conversion are 2 different things (but i guess in the Ed25519 -> X25519, it's the same thing since scalar mult() is also key derivation) by the way, i like how your keys examples above set the type as |
The question I've always wondered is why We support |
@Baha-sk see this thread: https://github.com/w3c-ccg/lds-jws2020/issues/4 TLDR: Linked Data Suites define a
Other folks want to see this:
If you change the It depends on how you plan to handle the "latest recommendations".... Do you want Or...
What happens if only 1 curve in standard suites 2020 is broken next year? |
@Baha-sk,
The reason for this is that it is an attempt to help avoid too much cryptographic agility which leads to foot guns and vulnerabilities. However, we've been working on a future compromise for this where the vocabulary terms needn't change by using a constant type of something like "RecommendedVerificationKey" but adding a broken out property of "version" or "year" (TBD) that is used to express the current recommended version/year. This version/year would be an indirection that maps to at most two different acceptable algorithms (as opposed to allowing the direct expression of any algorithm from a registry as JOSE does). Combining this with multibase-multicodec encoded key material could provide the checks needed to meet the safety goals. In short, this sort of approach could be a good compromise that helps achieve the goals of safer, limited cryptoagility whilst reducing vocab and library churn when upgrades are eventually needed.
If the concern is over a potential vulnerability with using the same key for Ed25519 and X25519, this is now required reading for anyone working in this space: https://eprint.iacr.org/2021/509 |
if we don't want to take the JOSE path (to limit the keys we ought to support), then key types should be specific to the key itself, not its purpose or use. Not so good examples:
Better examples, imo: P256Key2021, P384Key2021, P521Key2021, ED25519Key2021, X25519Key2021, BLSKey2021, etc. |
X25519KeyAgreementKey2019 is not defined very well, but referenced by various community members as if it can be used reliably.
X25519KeyAgreementKey2020 remain not defined at all.
The text was updated successfully, but these errors were encountered: