rfc9053v8.txt   rfc9053.txt 
skipping to change at line 1681 skipping to change at line 1681
the y-coordinate. The latter encoding has not been recommended by the y-coordinate. The latter encoding has not been recommended by
the IETF due to potential IPR issues. However, for operations in the IETF due to potential IPR issues. However, for operations in
constrained environments, the ability to shrink a message by not constrained environments, the ability to shrink a message by not
sending the y-coordinate is potentially useful. sending the y-coordinate is potentially useful.
For EC keys with both coordinates, the "kty" member is set to 2 For EC keys with both coordinates, the "kty" member is set to 2
(EC2). The key parameters defined in this section are summarized in (EC2). The key parameters defined in this section are summarized in
Table 19. The members that are defined for this key type are: Table 19. The members that are defined for this key type are:
crv: This contains an identifier of the curve to be used with the crv: This contains an identifier of the curve to be used with the
key. The curves defined in this document for this key type can key. The curves defined in this document for this key type can
be found in Table 18. Other curves may be registered in the be found in Table 18. Other curves may be registered in the
future, and private curves can be used as well. future, and private curves can be used as well.
x: This contains the x-coordinate for the EC point. The integer is x: This contains the x-coordinate for the EC point. The integer
converted to a byte string as defined in [SEC1]. Leading-zero is converted to a byte string as defined in [SEC1]. Leading-
octets MUST be preserved. zero octets MUST be preserved.
y: This contains either the sign bit or the value of the y: This contains either the sign bit or the value of the
y-coordinate for the EC point. When encoding the value y, the y-coordinate for the EC point. When encoding the value y, the
integer is converted to a byte string (as defined in [SEC1]) and integer is converted to a byte string (as defined in [SEC1])
encoded as a CBOR bstr. Leading-zero octets MUST be preserved. and encoded as a CBOR bstr. Leading-zero octets MUST be
Compressed point encoding is also supported. Compute the sign preserved. Compressed point encoding is also supported.
bit as laid out in the Elliptic-Curve-Point-to-Octet-String Compute the sign bit as laid out in the Elliptic-Curve-Point-
Conversion function of [SEC1]. If the sign bit is zero, then to-Octet-String Conversion function of [SEC1]. If the sign bit
encode y as a CBOR false value; otherwise, encode y as a CBOR is zero, then encode y as a CBOR false value; otherwise, encode
true value. The encoding of the infinity point is not y as a CBOR true value. The encoding of the infinity point is
supported. not supported.
d: This contains the private key. d: This contains the private key.
For public keys, it is REQUIRED that "crv", "x", and "y" be present For public keys, it is REQUIRED that "crv", "x", and "y" be present
in the structure. For private keys, it is REQUIRED that "crv" and in the structure. For private keys, it is REQUIRED that "crv" and
"d" be present in the structure. For private keys, it is RECOMMENDED "d" be present in the structure. For private keys, it is RECOMMENDED
that "x" and "y" also be present, but they can be recomputed from the that "x" and "y" also be present, but they can be recomputed from the
required elements, and omitting them saves on space. required elements, and omitting them saves on space.
+======+======+=======+========+=================================+ +======+======+=======+========+=================================+
| Key | Name | Label | CBOR | Description | | Key | Name | Label | CBOR | Description |
| Type | | | Type | | | Type | | | Type | |
skipping to change at line 1736 skipping to change at line 1736
A new key type is defined for Octet Key Pairs (OKPs). Do not assume A new key type is defined for Octet Key Pairs (OKPs). Do not assume
that keys using this type are elliptic curves. This key type could that keys using this type are elliptic curves. This key type could
be used for other curve types (for example, mathematics based on be used for other curve types (for example, mathematics based on
hyper-elliptic surfaces). hyper-elliptic surfaces).
The key parameters defined in this section are summarized in The key parameters defined in this section are summarized in
Table 20. The members that are defined for this key type are: Table 20. The members that are defined for this key type are:
crv: This contains an identifier of the curve to be used with the crv: This contains an identifier of the curve to be used with the
key. The curves defined in this document for this key type can key. The curves defined in this document for this key type can
be found in Table 18. Other curves may be registered in the be found in Table 18. Other curves may be registered in the
future, and private curves can be used as well. future, and private curves can be used as well.
x: This contains the public key. The byte string contains the x: This contains the public key. The byte string contains the
public key as defined by the algorithm. (For X25519, internally public key as defined by the algorithm. (For X25519,
it is a little-endian integer.) internally it is a little-endian integer.)
d: This contains the private key. d: This contains the private key.
For public keys, it is REQUIRED that "crv" and "x" be present in the For public keys, it is REQUIRED that "crv" and "x" be present in the
structure. For private keys, it is REQUIRED that "crv" and "d" be structure. For private keys, it is REQUIRED that "crv" and "d" be
present in the structure. For private keys, it is RECOMMENDED that present in the structure. For private keys, it is RECOMMENDED that
"x" also be present, but it can be recomputed from the required "x" also be present, but it can be recomputed from the required
elements, and omitting it saves on space. elements, and omitting it saves on space.
+======+==========+=======+=======+=================================+ +======+==========+=======+=======+=================================+
| Name | Key | Label | Type | Description | | Name | Key | Label | Type | Description |
| | Type | | | | | | Type | | | |
skipping to change at line 2275 skipping to change at line 2275
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8439] Nir, Y. and A. Langley, "ChaCha20 and Poly1305 for IETF [RFC8439] Nir, Y. and A. Langley, "ChaCha20 and Poly1305 for IETF
Protocols", RFC 8439, DOI 10.17487/RFC8439, June 2018, Protocols", RFC 8439, DOI 10.17487/RFC8439, June 2018,
<https://www.rfc-editor.org/info/rfc8439>. <https://www.rfc-editor.org/info/rfc8439>.
[RFC9052] Schaad, J., "CBOR Object Signing and Encryption (COSE): [RFC9052] Schaad, J., "CBOR Object Signing and Encryption (COSE):
Structures and Process", STD 96, RFC 9052, Structures and Process", STD 96, RFC 9052,
DOI 10.17487/RFC9052, July 2022, DOI 10.17487/RFC9052, August 2022,
<https://www.rfc-editor.org/info/rfc9052>. <https://www.rfc-editor.org/info/rfc9052>.
[SEC1] Certicom Research, "SEC 1: Elliptic Curve Cryptography", [SEC1] Certicom Research, "SEC 1: Elliptic Curve Cryptography",
Standards for Efficient Cryptography, May 2009, Standards for Efficient Cryptography, May 2009,
<https://www.secg.org/sec1-v2.pdf>. <https://www.secg.org/sec1-v2.pdf>.
[STD94] Bormann, C. and P. Hoffman, "Concise Binary Object [STD94] Bormann, C. and P. Hoffman, "Concise Binary Object
Representation (CBOR)", STD 94, RFC 8949, December 2020, Representation (CBOR)", STD 94, RFC 8949, December 2020,
<https://www.rfc-editor.org/info/std94>. <https://www.rfc-editor.org/info/std94>.
skipping to change at line 2299 skipping to change at line 2299
Mattsson, J. P., Thormarker, E., and S. Ruohomaa, Mattsson, J. P., Thormarker, E., and S. Ruohomaa,
"Deterministic ECDSA and EdDSA Signatures with Additional "Deterministic ECDSA and EdDSA Signatures with Additional
Randomness", Work in Progress, Internet-Draft, draft- Randomness", Work in Progress, Internet-Draft, draft-
mattsson-cfrg-det-sigs-with-noise-04, 15 February 2022, mattsson-cfrg-det-sigs-with-noise-04, 15 February 2022,
<https://datatracker.ietf.org/doc/html/draft-mattsson- <https://datatracker.ietf.org/doc/html/draft-mattsson-
cfrg-det-sigs-with-noise-04>. cfrg-det-sigs-with-noise-04>.
[COUNTERSIGN] [COUNTERSIGN]
Schaad, J. and R. Housley, "CBOR Object Signing and Schaad, J. and R. Housley, "CBOR Object Signing and
Encryption (COSE): Countersignatures", Work in Progress, Encryption (COSE): Countersignatures", Work in Progress,
Internet-Draft, draft-ietf-cose-countersign-06, 20 July Internet-Draft, draft-ietf-cose-countersign-08, 22 August
2022, <https://datatracker.ietf.org/doc/html/draft-ietf- 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-
cose-countersign-06>. cose-countersign-08>.
[GitHub-Examples] [GitHub-Examples]
"GitHub Examples of COSE", commit 3221310, 3 June 2020, "GitHub Examples of COSE", commit 3221310, 3 June 2020,
<https://github.com/cose-wg/Examples>. <https://github.com/cose-wg/Examples>.
[HKDF] Krawczyk, H., "Cryptographic Extraction and Key [HKDF] Krawczyk, H., "Cryptographic Extraction and Key
Derivation: The HKDF Scheme", 2010, Derivation: The HKDF Scheme", 2010,
<https://eprint.iacr.org/2010/264.pdf>. <https://eprint.iacr.org/2010/264.pdf>.
[OSCORE-GROUPCOMM] [OSCORE-GROUPCOMM]
 End of changes. 10 change blocks. 
27 lines changed or deleted 27 lines changed or added

This html diff was produced by rfcdiff 1.48.