On Jul 31, 2023, at 12:36 PM, Orie Steele 
<[email protected]<mailto:[email protected]>> wrote:

This depends on how it might be used.

Yes, it's possible to pull apart DHKem output into a kty: EC / crv P256 
setup... but it's also possible to just treat enc a regular bytes:

{
        "kid": "...opaque-dhkem-output",
        "alg": "...", // probably not a thing, but just for argument's sake.
        "kty": "oct",
        "k": "04 + x + y ...."
}

vs

{
  "kty": "EC",
  "crv": "P-256",
  "x": "mpWfwr7bhFcmmDDQkpc5KGua-PaI7tbakIpZc4rKy38",
  "y": "uqdK_tLp8_7Xt3uH3zhjv5JwPygp-lPGRNdhBSwAkSg",
  "use": "enc", // probably not a thing, but just for argument's sake.
  "key_ops": [ "deriveBits" ], // probably not a thing, but just for argument's 
sake.
  "alg": "..."  // probably not a thing, but just for argument's sake.
}

Well, um, er, these kind seems to maximization the worst to me:
- Not compatible with COSE_Key (some people think this is important; I don’t)
- Not aligned with my point about standards and layering
- Not the easiest alignment with HPKE libraries
- Includes redundant alg and curve info
- Bonus confusion from kid and key use that has point in this context

LL


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

Reply via email to