identity.rs icon indicating copy to clipboard operation
identity.rs copied to clipboard

[Task] Upgrade to Ed25519 Signature 2020

Open eike-hass opened this issue 2 years ago • 4 comments

Description

Add support for Ed25519VerificationKey2020 ~and Ed25519Signature2020.~ We still need to keep Ed25519VerificationKey2018 for backwards compatibility, but should default to Ed25519VerificationKey2020 in the future.

Motivation

Stay compliant with the latest specification.

Resources

https://w3c-ccg.github.io/lds-ed25519-2020/

Change checklist

Add an x to the boxes that are relevant to your changes, and delete any items that are not.

  • [ ] The feature or fix is implemented in Rust and across all bindings whereas possible.
  • [ ] The feature or fix has sufficient testing coverage
  • [ ] All tests and examples build and run locally as expected
  • [ ] Every piece of code has been document according to the documentation guidelines.
  • [ ] If conceptual documentation (mdbook) and examples highlighting the feature exist, they are properly updated.
  • [ ] If the feature is not currently documented, a documentation task Issue has been opened to address this.

eike-hass avatar Jul 11 '22 08:07 eike-hass

We use JcsEd25519Signature2020, we do not use Ed25519Signature2018 nor Ed25519Signature2020 because they have a different data canonicalisation algorithm (RDF).

cycraig avatar Jul 23 '22 11:07 cycraig

@cycraig Thank you for clarifying 🙏As there is no superseding spec should we consider this issue obsolete?

eike-hass avatar Jul 25 '22 10:07 eike-hass

We should still add first-class support for Ed25519VerificationKey2020 (and maybe default to it) for interoperability. It's only the signature I think we should ignore, considering the better alternatives.

cycraig avatar Jul 26 '22 16:07 cycraig

General cryptographic agility is now tracked in https://github.com/iotaledger/identity.rs/issues/1037.

eike-hass avatar Sep 19 '22 15:09 eike-hass