-
Notifications
You must be signed in to change notification settings - Fork 3
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
Algorithm identifiers like HPKE-P256-SHA256-A128GCM are overly verbose #8
Comments
Hpke Jose Cipher Suite 0 - HPKE-P256-SHA256-A128GCM -> HJCS-0 ? |
https://www.iana.org/assignments/hpke/hpke.xhtml has the source of truth for the values. There is also the problem of "why register all these in JOSE / COSE, who actually wants to use them" |
In order to have meaningful short algorithm names, I propose that we use
I will create a PR unless people make a counterproposal. |
If we are going to go for shorter names, I think we can skip straight to So that would yield:
|
The two numbers are aligned to the numbers in the registries at https://www.iana.org/assignments/hpke/hpke.xhtml. Then were not making anything up. I could live with either approach. What do others think? |
ahh, maybe just
|
Still seems like it might be better to just go with |
I could support hpke-kem-kdf-aead naming like |
One subtle consideration is that any sort of systematic pattern can be interpreted as adding all the algorithms (since it is obvious what the algorithm name would be). Advantage of being systematic would be eliminating the possibility that an algorithm gets added in subtly incompatible way (which could cause major interoperability headaches). Then these algorithms could presumably get used with kty=AKP. There is an obvious interpretation for "priv" and "pub" in this case (raw HPKE private and public keys). However, it depends on KEM if it is possible to derive "pub" from "priv" (and including both causes possible security issue), or not (both are needed). I think KEM 0x30 (which is essentially deprecated) is currently the only one where it is not possible to derive public key from private key. |
My vote (that doesn't count because I'm a tourist in JOSE): Fully specified is useful so that devs don't need to fish around in the guts of RFCs to figure out what actually makes up a given cipher suite. Short-forms over the wire are also fine. I have a slight preference for |
It also occurred to me that names of the form HPKE-n will probably better correspond to COSE algorithm identifiers, where they will be a single integer anyway. So unless people voice objections here shortly, I'll plan to create a PR to accomplish that. Getting to stable algorithm identifiers is a big step towards enabling deployments (something being contemplated at openid/oid4vc-haip#131). |
late to the party, but i really prefer this approach with the short(est) codes. the verbose tags takes too much space - and like mentioned above if we need to refer back to the RFC anyway smaller is better. |
Its also easier to read, write and compare "HPKE-0" in contrast to "HPKE-P256-SHA265-A128GCM" (review this carefully for a case in point). |
The "alg" values should be short identifiers that fully-specify the computation to be performed. They should not contain syntax that is parsed, such as a required "HPKE" string prefix.
Let's decide on reasonable short identifiers for each of the algorithms - ideally 8 characters each or less.
The text was updated successfully, but these errors were encountered: