On Sun, May 28, 2023 at 05:23:11PM +0200, Hannes Tschofenig wrote:
> I agree regarding OKP and HSS-LMS key types, Ilari.
> 
> Kohei and I wanted to get an initial version out to the group to see
> what others in the group think. Hence, we kept is short & simple.
> 

Some (bad) attempt at text (edited from text in the draft, needs
further editing):


3. COSE Key Thumbprint

The thumbprint of a COSE Key MUST be computed as follows:

1. Construct a COSE_Key structure (see Section 7 of [RFC9052])
containing only the required parmeters representing the key. This
specification describes what those required parameters are and what,
if necessary, the data types are.

2. Encode the COSE_Key into byte string using the Core Deterministic
Encoding described in Section 4.2.1 of [RFC8949].

3. Hash the bytes from step (2) with a cryptographic hash function H.
For example, SHA-256 [RFC6234] may be used as a hash function. The
resulting value is the COSE Key Thumbprint with H of the COSE_Key.
The details of this computation are further described in subsequent
sections.


4. Required COSE Key Parameters 

Only the public key parameters of a key's representation are used when
computing its COSE Key Thumbprint value. This section summarizes these
parameters.

The "kty" (label: 1) parameter MUST be present for all key types and the
values found in the IANA COSE Key Types registry MUST be used. Other
parameters depend on the key type. The subsection below list the required
parameters for commonly used key types (in order).


4.1. OKP

OKP keys (value: 1) have the following parameters:

* "kty"         label: 1        value: 1
* "crv"         label: -1       value: int/tstr
* "x"           label: -2       value: bstr


4.2. EC2

EC2 keys (value: 2) have the following parameters:

* "kty"         label: 1        value: 2
* "crv"         label: -1       value: int/tstr
* "x"           label: -2       value: bstr
* "y"           label: -3       value: bstr

Note that for interoperability, uncompressed representation MUST be
used. Hence, the parameter "y" is bstr. A compressed key representation
MUST be decompressed before thumbprint calculation.


4.3. RSA

RSA keys (value: 3) have the following parameters:

* "kty"         label: 1        value: 3
* "n"           label: -1       value: bstr
* "e"           label: -2       value: bstr


4.4. Symmetric

Symmetric keys do not have thumbprints.


4.5. HSS-LMS

HSS-LMS keys (value: 5) have the following parameters:

* "kty"         label: 1        value: 5
* "pub"         label: -1       value: bstr




-Ilari

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

Reply via email to