On 2023-08-30 9:10, Ilari Liusvaara wrote:
On Wed, Aug 30, 2023 at 01:27:49AM +0000, Michael Jones wrote:
Orie Steele<https://twitter.com/OR13b> and I have written a new
specification creating algorithm identifiers for JOSE and COSE that
fully specify the cryptographic operations to be performed -
something we'd promised to do during our presentation to the JOSE
working 
group<https://datatracker.ietf.org/meeting/117/materials/slides-117-jose-fully-specified-algorithms-for-jose-and-cose-00>
at IETF 117. The introduction to the specification (quoted below)
describes why this matters.

The specification is available at:
*        
https://www.ietf.org/archive/id/draft-jones-jose-fully-specified-algorithms-00.html
Two small things that came up in quick read:

- Why ES25519/ES448 instead of Ed25519/Ed448? Or is having an alg and
   crv with the same name an issue for some implementations?

   I would associate ES25519/ES448 with certain other stuff...


- Ed25519 and Ed448 are fully specified algorithms, so the description
   field could just be "Ed25519"/"Ed448".

Indeed.  I adopted this for JSF (JSON Signature Format):

{
  statement: "Hello Signed World!",
  otherProperties: [2000, true],
  signature: {
    algorithm: "Ed25519",
    publicKey: {
      kty: "OKP",
      crv: "Ed25519",
      x: "_kms9bkrbpI1lPLoM2j2gKySS-k89TOuyvgC43dX-Mk"
    },
    value: 
"exZXFA5-7nwVc4xX15B95Vd3aXW_8iGOZin8hcxoyUZAAULqKb7wazzocKuhRT0HfeZqFZxgDZteztXTQ7TUCw"
  }
}

It seems that https://www.rfc-editor.org/rfc/rfc8410 builds on the same idea.

Anders



Then:


"Discuss the treatment of EDCH-ES and its ephemeral keys."

There is actually an related issue in JOSE and COSE.

ECDH-ES (and ECDH-SS) when appiled to EC/EC2 keys is non-cofactor, which
makes it unsuitable for curves with h > 1. X25519 and X448 have built-in
workaround.

Currently, there are no curves that trigger the problem. However, there
are proposals to register curves that do.

There are essentially two ways to address this:

- Define copies of existing ECDH-ES/ECDH-SS codepoints that are limited
   to EC/EC2 and multiply by h at output.
- Change the existing codepoints to multiply by h at output for EC/EC2.


The issue with latter is if somebody is using ECDH-ES/ECDH-SS with some
private EC crv that happens to have h > 1. That would create an
incompatibility.





-Ilari

_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose

Reply via email to