Orie, you wrote “We could have reused 5 for pub... should we do that?”.
Yes, I would suggest reusing existing field identifiers where they make sense.
The single-byte COSE identifiers are limited and it would be better to reuse
them than to needlessly create new ones with similar meanings to ones that you
could reuse.
And in JOSE, you probably want to use string identifiers that correspond to the
algorithm’s descriptions in the specs your referencing.
-- Mike
From: COSE <[email protected]> On Behalf Of Orie Steele
Sent: Sunday, October 22, 2023 2:08 PM
To: cose <[email protected]>
Subject: [COSE] Updates on Dilithium for JOSE and COSE
Hello,
We're not planning to publish new drafts for the post quantum signature for
JOSE and COSE items that are adopted.
We're still discussing / waiting for the names to solidify, and the final
versions from NIST to be published.
However we have made some progress towards complete representations for JOSE
and COSE of keys and envelopes.
Here are some rendered examples that are generated from an experimental
implementation, based on cloudflare's go library for dilithium.
https://github.com/transmute-industries/cose/tree/main/interop
Obviously all the code points for new things are placeholders, but I find them
easier to use than TBDs.
I wanted to draw attention to this pre-draft proposal for the COSE Key Type
Structure:
~~~~ cbor-diag
{ / COSE Key /
1: 7, / ✨ 7 is MLWE /
2: h'85eb5426...533214a2', / Identifier /
3: -55555, / ✨ -55555 is CRYDI2 /
-13: h'fbd0006c...f2f88c9c', / ✨ private key for 7 /
-14: h'fbd0006c...f2f88c9c', / ✨ public key for 7 /
}
~~~~
-13 and -14 are new private and public components for the new kty 7 (MLWE).
I noticed that
https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters
Has a lot of repeating "d",... has "x", "y", and "pub"... I think this
structure is a bit awkward, and confusing, but the time to fix it has passed....
In order to keep things simple, I am suggesting that the cose and jose key
types for dilithium, define new public and private components, and not re-use
"d" and "x", or "pub" (there is no priv to reuse)....
We could have reused 5 for pub... should we do that?
These proposed changes are not yet reflected in our drafts, but they seem worth
making so that folks implementing support for post quantum cryptography have
nice friendly labels for post quantum key types.
Current proposal would be:
/ kty / 1: 7, / MLWE /
/ priv / -13 : ... / ( short for private key or secret key) /
/ pub / -14 : ... / ( short for public key ) /
Feedback is welcome, we're still working on validating the implementation of
the drafts, generating better examples for the draft appendix... and of course
waiting for naming to settle down.
Regards,
OS
--
ORIE STEELE
Chief Technology Officer
www.transmute.industries<http://www.transmute.industries/>
[https://ci3.googleusercontent.com/mail-sig/AIorK4xqtkj5psM1dDeDes_mjSsF3ylbEa5EMEQmnz3602cucAIhjLaHod-eVJq0E28BwrivrNSBMBc]<https://transmute.industries/>
_______________________________________________
COSE mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/cose