| 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. | ||||