<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.0.2) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ra-cose-hybrid-encrypt-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="Hybrid key exchange in JOSE and COSE">Hybrid key exchange in JOSE and COSE</title>
    <seriesInfo name="Internet-Draft" value="draft-ra-cose-hybrid-encrypt-02"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Aritra Banerjee">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Munich</city>
          <country>Germany</country>
        </postal>
        <email>aritra.banerjee@nokia.com</email>
      </address>
    </author>
    <date year="2023" month="October" day="20"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>JOSE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 74?>

<t>Hybrid key exchange refers to using multiple key exchange algorithms simultaneously and combining the result with the goal of providing
security even if all but one of the component algorithms is broken. It is motivated by transition to post-quantum cryptography. 
This document provides a construction for hybrid key exchange in JOSE and COSE. It defines the use of traditional and PQC algorithms, 
a hybrid post-quantum KEM, for JOSE and COSE.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ra-cose-hybrid/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cose Working Group mailing list (<eref target="mailto:cose@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cose/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cose/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 82?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The migration to PQC is unique in the history of modern digital cryptography in that neither the traditional algorithms nor the post-quantum algorithms are fully trusted to protect data for the required data lifetimes. The traditional algorithms, such as RSA and elliptic curve, will fall to quantum cryptalanysis, while the post-quantum algorithms face uncertainty about the underlying mathematics, compliance issues, unknown vulnerabilities, hardware and software implementations that have not had sufficient maturing time to rule out classical cryptanalytic attacks and implementation bugs.</t>
      <t>During the transition from traditional to post-quantum algorithms, there is a desire or a requirement for protocols that use both algorithm types. <xref target="I-D.ietf-pquip-pqt-hybrid-terminology"/> defines terminology for the Post-Quantum and Traditional Hybrid Schemes.</t>
      <t>This document gives a construction for hybrid key exchange in Javascript Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE). The overall design approach is a simple, "hash and concatenation" based approach to use a “hybrid” shared secret.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document makes use of the terms defined in <xref target="I-D.ietf-pquip-pqt-hybrid-terminology"/>. For the purposes of this document, it is helpful to be able to divide cryptographic algorithms into two classes:</t>
      <t>"Traditional Algorithm":  An asymmetric cryptographic algorithm based on integer factorisation, finite field discrete logarithms or elliptic curve discrete logarithms. In the context of JOSE, examples of traditional key exchange algorithms include Elliptic Curve Diffie-Hellman Ephemeral Static <xref target="RFC6090"/> <xref target="RFC8037"/>. In the context of COSE, examples of traditional key exchange algorithms include Ephemeral-Static (ES) DH and Static-Static (SS) DH <xref target="RFC9052"/>.</t>
      <t>"Post-Quantum Algorithm":  An asymmetric cryptographic algorithm that is believed to be secure against attacks using quantum computers as well as classical computers. Examples of PQC key exchange algorithms include Kyber.</t>
      <t>"Hybrid" key exchange, in this context, means the use of two key exchange algorithms based on different cryptographic assumptions, e.g., one traditional algorithm and one Post-Quantum
algorithm, with the purpose of the final shared secret key being secure as long as at least one of the component key exchange algorithms remains unbroken. It is referred to
as PQ/T Hybrid Scheme in <xref target="I-D.ietf-pquip-pqt-hybrid-terminology"/>.</t>
      <t>PQ/T Hybrid Key Encapsulation Mechanism:  A Key Encapsulation mechanism (KEM) made up of two or more component KEM algorithms where at least one is a post-quantum algorithm and at least one is a traditional algorithm.</t>
      <section anchor="key-encapsulation-mechanisms">
        <name>Key Encapsulation Mechanisms</name>
        <t>For the purposes of this document, we consider a Key Encapsulation Mechanism (KEM) to be any asymmetric cryptographic scheme comprised of algorithms satisfying the following interfaces <xref target="PQCAPI"/>.</t>
        <ul spacing="normal">
          <li>
            <t>def kemKeyGen() -&gt; (pk, sk)</t>
          </li>
          <li>
            <t>def kemEncaps(pk) -&gt; (ct, ss)</t>
          </li>
          <li>
            <t>def kemDecaps(ct, sk) -&gt; ss</t>
          </li>
        </ul>
        <t>where pk is public key, sk is secret key, ct is the ciphertext representing an encapsulated key, and ss is shared secret.</t>
        <t>KEMs are typically used in cases where two parties, hereby refereed to as the "encapsulater" and the "decapsulater", wish to establish a shared secret via public key cryptography, where the decapsulater has an asymmetric key pair and has previously shared the public key with the encapsulater.</t>
      </section>
    </section>
    <section anchor="construction">
      <name>Construction</name>
      <t>Building a PQ/T hybrid KEM requires a secure function which combines the output of both component KEMs to form a single output.  Several IETF protocols are adding PQ/T hybrid KEM mechanisms as part of their overall post-quantum migration strategies, examples include TLS 1.3 <xref target="I-D.ietf-tls-hybrid-design"/>, IKEv2 <xref target="RFC9370"/>.</t>
      <t>The migration to PQ/T Hybrid KEM calls for performing multiple key encapsulations in parallel and then combining their outputs to derive a single shared secret. It is compatible with NIST SP 800-56Cr2 <xref target="SP800-56C"/> when viewed as a key derivation function. The hybrid scheme defined in this document is the combination of Traditional and Post-Quantum Algorithms. The Key agreement Traditional and Post-Quantum Algorithms are used in parallel to generate shared secrets. The two shared secrets are hashed and concatenated together and used as the shared secret in JOSE and COSE.</t>
      <t>The JSON Web Algorithms (JWA) <xref target="RFC7518"/> in Section 4.6 defines two ways using the key agreement result. When Direct Key Agreement is employed, the shared secret established through the ECDH algorithm will be the content encryption key (CEK). When Key Agreement with Key Wrapping is employed, the shared secret established through the ECDH algorithm will wrap the CEK. Simiarly, COSE in Sections 8.5.4 and 8.5.5 <xref target="RFC9052"/> define the Direct Key Agreement and Key Agreement with Key Wrap classes. If multiple recipients are needed, then the version with key wrap is used.</t>
      <t>It is essential to note that in the PQ/T hybrid KEM mode, one needs to apply Fujisaki-Okamoto <xref target="FO"/> transform or its variant <xref target="HHK"/> on the PQC KEM part to ensure that the overall scheme is IND-CCA2 secure as mentioned in <xref target="I-D.ietf-tls-hybrid-design"/>. The FO transform is performed using the KDF such that the PQC KEM shared secret achieved is IND-CCA2 secure. In this case, one can re-use the PQC KEM public keys but depending on some upper bound that must adhered to.</t>
    </section>
    <section anchor="kem-combiner">
      <name>KEM Combiner</name>
      <t>The specification uses the KEM combiner defined in <xref target="I-D.ounsworth-cfrg-kem-combiners"/> that takes in two or more shared secrets and returns a combined shared secret. In case of PQ/T Hybrid KEM, the shared secrets are the output of the traditional key exchange (Key Agreement with Elliptic Curve Diffie-Hellman Ephemeral Static defined in Section 4.6 of <xref target="RFC9370"/> for JOSE and Key Agreement with Ephemeral-Static (ES) Diffie-Hellman (DH) defined in Section 6.3.1 of <xref target="RFC9053"/> for COSE) and PQC KEM. The KEM combiner function is defined in Section 3 of <xref target="I-D.ounsworth-cfrg-kem-combiners"/>. The KDF and Hash functions will be KMAC and SHA3 and the counter will be initialized with a value of 0x00000001 (Section 4 of <xref target="I-D.ounsworth-cfrg-kem-combiners"/>). The KMAC functions used with the PQ/T hybrid algorithms are specified in the table below:</t>
      <artwork><![CDATA[
        +==============+=========+=========+
        | PQ/T hybrid algorithm  | KDF     |
        +========================+=========+
        | x25519-ES_kyber512     | KMAC256 |
        +------------------------+---------+
        | secp384r1-ES_kyber768  | KMAC256 |
        +------------------------+---------+
        | x25519-ES_kyber768     | KMAC256 |
        +-----------------------+----------+
        | secp256r1-ES_kyber512 |  KMAC256 |
        +------------------------+---------+

                         Table 1 
]]></artwork>
      <t>KMAC is defined in NIST SP 800-56Cr2 <xref target="SP800-56C"/>.  The KMAC(K, X, L, S) parameters are instantiated as follows:</t>
      <ul spacing="normal">
        <li>
          <t>K: context-specific string. In case of JOSE, the context-specific string will be set to concat("JOSE_PostQuantum_Traditional_Hybrid", "<em>", Name of the PQ/T hybrid algorithm). In case of
COSE, the context-specific string will be set to concat("COSE_PostQuantum_Traditional_Hybrid", "</em>", Name of the PQ/T hybrid algorithm). For example, 
concat("JOSE_PostQuantum_Traditional_Hybrid", "_", "x25519-ES_kyber512") = "JOSE_PostQuantum_Traditional_Hybrid_x25519-ES_kyber512". Note: The suggested maximum byte length of K (salt) can be 132 bytes, and the salt can be a multiple of 132 bytes, excluding an additional 4 bytes for length encoding, as discussed in Table 3 of <xref target="SP800-56C"/>. However, in this document, K is of variable length. The size of "K" will change based on the PQ/T hybrid algorithm. For instance, "x25519-ES_kyber512" and "secp256r1-ES_kyber512" will result in two different sizes of K after the concat operation. A shorter key K will be padded by appending an all-zero bit string to obtain a 132-byte output.</t>
        </li>
        <li>
          <t>X: concat(0x00000001, k_1, ... , k_n, fixedInfo). The fixedInfo parameter is a fixed-format string containing context-specific information.</t>
        </li>
        <li>
          <t>L: length of the output key in bits.</t>
        </li>
        <li>
          <t>S: utf-8 string "KDF".</t>
        </li>
      </ul>
      <t>In the case of a traditional key exchange algorithm (e.g., x25519, secp384r1) since there is no associated ciphertext present when calculating the constant-length input key (k1) defined in Section 3.2 of <xref target="I-D.ounsworth-cfrg-kem-combiners"/>, the key derivation process defined in Section 4.6.2 of <xref target="RFC7518"/> for JOSE would be used to construct k. However, in case of COSE, the HKDF (HMAC based Key Derivation Function) defined in Section 5 of <xref target="RFC9053"/> would be used. The HKDF algorithm leverages HMAC SHA-256 as the underlying PRF (Pseudo-Random function) for secp256r1 and x25519, and HMAC SHA-384 for secp384r1. The context structure defined in Section 5.2 of <xref target="RFC9053"/>, salt and secret from DH key agreement are used as inputs to the HKDF. In case of JOSE, the fixedInfo parameter will carry the JOSE context specific data defined 
in Section 4.6.2 of <xref target="RFC7518"/>. In case of COSE, the fixedInfo parameter will carry the COSE context structure defined in Section 5.2 of <xref target="RFC9053"/>. Note that the result of an ECDH key agreement process does not provide a uniformly random secret and it needs to be run through a KDF in order to produce a usable key (see Section 6.3.1 of <xref target="RFC9053"/>).</t>
      <t>The KEM combiner instantiation of the first entry of Table 1 would be:</t>
      <artwork><![CDATA[
  ss = KMAC256("COSE_PostQuantum_Traditional_Hybrid_X25519-ES_kyber512", "0x00000001 || 
                HKDF-256(DH-Shared-Secret, salt, context) || 
                ct_1 || rlen(ct_1) || ss_1 || rlen(ss_1) || context" , 256, "KDF")  
]]></artwork>
      <t>Where ss_1 is shared secret and its corresponding ciphertext ct_1 generated from kemEncaps(pk). If ss_1 or ct_1 are not guaranteed to have constant length, rlen encoded length is appended when concatenating as discussed in Section 3.2 of <xref target="I-D.ounsworth-cfrg-kem-combiners"/>.</t>
      <t>In Direct Key Agreement mode, the output of the KEM combiner <bcp14>MUST</bcp14> be a key of the same length as that used by encryption algorithm. In Key Agreement with Key Wrapping mode, the output of the KEM combiner <bcp14>MUST</bcp14> be a key of the length needed for the specified key wrap algorithm.</t>
    </section>
    <section anchor="kem-pqc-algorithms">
      <name>KEM PQC Algorithms</name>
      <t>The National Institute of Standards and Technology (NIST) started a process to solicit, evaluate, and standardize one or more quantum-resistant public-key cryptographic algorithms, as seen <eref target="https://csrc.nist.gov/projects/post-quantum-cryptography">here</eref>. Said process has reached its <eref target="https://csrc.nist.gov/publications/detail/nistir/8413/final">first announcement</eref> in July 5, 2022, which stated which candidates to be standardized for KEM:</t>
      <ul spacing="normal">
        <li>
          <t>Key Encapsulation Mechanisms (KEMs): <eref target="https://pq-crystals.org/kyber/">CRYSTALS-Kyber</eref>: Kyber is a module learning with errors (MLWE)-based key encapsulation mechanism.</t>
        </li>
      </ul>
      <t>NIST announced as well that they will be <eref target="https://csrc.nist.gov/csrc/media/Projects/post-quantum-cryptography/documents/round-4/guidelines-for-submitting-tweaks-fourth-round.pdf">opening a fourth round</eref> to standardize an alternative KEM, and a <eref target="https://csrc.nist.gov/csrc/media/Projects/pqc-dig-sig/documents/call-for-proposals-dig-sig-sept-2022.pdf">call</eref> for new candidates for a post-quantum signature algorithm.</t>
      <section anchor="kyber">
        <name>Kyber</name>
        <t>Kyber offers several parameter sets with varying levels of security and performance trade-offs. This document specifies the use of the Kyber algorithm at two security levels: Kyber512 and Kyber768. Kyber key generation, encapsulation and decaspulation functions are defined in <xref target="I-D.cfrg-schwabe-kyber"/>.</t>
      </section>
    </section>
    <section anchor="hybrid-kem">
      <name>Hybrid Key Representation with JOSE</name>
      <t>The parameter "kty" <bcp14>MUST</bcp14> be present and set to "OKP" defined in Section 2 of <xref target="RFC7518"/> for expressing the cryptographic keys for PQ/T Hybrid KEM, the following rules apply:</t>
      <ul spacing="normal">
        <li>
          <t>The parameter "alg" <bcp14>MUST</bcp14> be specified, and its value <bcp14>MUST</bcp14> be one of the values specified in the table below:  </t>
          <artwork><![CDATA[
        +===============================+===================================+
        | alg                           | Description                       |
        +===============================+===================================+
        | x25519-ES_kyber512            | Curve25519 elliptic curve +       |
        |                               | Kyber512 parameter                |
        |                               | Direct Key Agreement              |
        +===============================+===================================+
        | secp384r1-ES_kyber768         | P-384 + Kyber768 parameter        |
        |                               | Direct Key Agreement              |
        +===============================+===================================+
        | x25519-ES_kyber768            | Curve25519 elliptic curve +       |
        |                               | Kyber768 parameter                |
        |                               | Direct Key Agreement              |
        +===============================+===================================+
        | secp256r1-ES_kyber512         | P-256 +  Kyber512 parameter       |
        |                               | Direct Key Agreement              |
        +===============================+===================================+
        | x25519-ES_kyber512+A128KW     | Curve25519 elliptic curve +       |
        |                               | Kyber512 parameter + CEK wrapped  |
        |                               | with "A128KW"                     | 
        +========+==============---=====+===================================+
        | secp384r1-ES_kyber768+A128KW  | P-384 + Kyber768 parameter        |
        |                               |  + CEK wrapped with "A128KW"      |
        +========+===================+======================================+
        | x25519-ES_kyber768+A128KW     | Curve25519 elliptic curve +       |
        |                               | Kyber768 parameter + CEK wrapped  |
        |                               | with "A128KW"                     |
        +========+======================+===================================+
        | secp256r1-ES_kyber512+A128KW  | P-256 +  Kyber512 parameter       |
        |                               | + CEK wrapped with "A128KW"       |
        +===============================+===================================+
        | x25519-ES_kyber512+A256KW     | Curve25519 elliptic curve +       |
        |                               | Kyber512 parameter + CEK wrapped  |
        |                               | with "A256KW"                     | 
        +===============================+===================================+
        | secp384r1-ES_kyber768+A256KW  | P-384 + Kyber768 parameter        |
        |                               |  + CEK wrapped  with "A256KW"     |
        +===============================+===================================+
        | x25519-ES_kyber768+A256KW     | Curve25519 elliptic curve +       |
        |                               | Kyber768 parameter + CEK wrapped  |
        |                               | with "A256KW"                     |
        +===============================+===================================+
        | secp256r1-ES_kyber512+A256KW  | P-256 +  Kyber512 parameter       |
        |                               | + CEK wrapped with "A256KW"       |
        +===============================+===================================+

                           Table 2
]]></artwork>
        </li>
        <li>
          <t>The parameter "kem" <bcp14>MUST</bcp14> be present and set to the PQC KEM algorithm.</t>
        </li>
        <li>
          <t>The parameter "kem-pk" <bcp14>MUST</bcp14> be present and contains the PQC KEM public key encoded using the base64url <xref target="RFC4648"/> encoding.</t>
        </li>
        <li>
          <t>The parameter "kem-sk" <bcp14>MUST</bcp14> be present for private key and contains the PQC KEM private key encoded using the base64url encoding. This parameter <bcp14>MUST NOT</bcp14> be present for public key.</t>
        </li>
        <li>
          <t>The parameter "kem-ct" <bcp14>MUST</bcp14> be present for KEM ciphertext encoded using the base64url <xref target="RFC4648"/> encoding.</t>
        </li>
        <li>
          <t>The parameter "crv" <bcp14>MUST</bcp14> be present and contains the Elliptic Curve Algorithm used (from the "JSON Web Key Elliptic Curve" registry).</t>
        </li>
        <li>
          <t>The parameter "x" <bcp14>MUST</bcp14> be present and contains the x coordinate for the Elliptic Curve point encoded using the base64url <xref target="RFC4648"/> encoding.</t>
        </li>
        <li>
          <t>The parameter "y" <bcp14>MUST</bcp14> be present and contains the y coordinate for the Elliptic Curve point encoded using the base64url <xref target="RFC4648"/> encoding. This parameter is not present for "X25519".</t>
        </li>
        <li>
          <t>The parameter "d" <bcp14>MUST</bcp14> be present for private keys and contains the Elliptic Curve Algorithm private key encoded using the base64url encoding. This parameter <bcp14>MUST NOT</bcp14> be present for public keys.</t>
        </li>
      </ul>
      <t>In Table 2, "A128KW" and "A256KW" are AES Key Wrap with 128-bit key and 256-bit key respectively. Encryption of the plaintext is accomplished with AES symmetric key cryptography. In Table 2, 'ES' indicates that the traditional key agreement process is performed using an ephemeral key on the sender's side, and for each key agreement operation, the sender will generate a new ephemeral key.</t>
      <t>The specification allows a small number of "known good" PQ/T hybrid algorithms listed in Table 2 instead of allowing arbitrary combinations of traditional and PQC algorithms. It follows the recent trend in protocols to only allow a small number of "known good" configurations that make sense, instead of allowing arbitrary combinations of individual configuration choices that may interact in dangerous ways.</t>
      <section anchor="kem">
        <name>"kem"</name>
        <t>The "kem" (KEM) parameter identifies PQC KEM algorithm used with the "kem-pk" key. KEM values used by this specification are:</t>
        <artwork><![CDATA[
  "kem"            PQC KEM Applied
  Kyber512            Kyber512          
  Kyber768            Kyber768
]]></artwork>
        <t>These values are registered in the IANA "JSON PQC KEM" registry defined in <xref target="JSON-KEM-REGISTRY"/>.  Additional "kem" values can be registered by other specifications.</t>
      </section>
      <section anchor="example-hybrid-key-agreement-computation">
        <name>Example Hybrid Key Agreement Computation</name>
        <t>This example uses secp256r1-ES_kyber512, i.e., ECDH-ES Key Agreement with the P-256 curve and PQC KEM kyber512. 
   The KEM Combiner is used to derive the CEK in the manner described in <xref target="kem-combiner"/>.<br/>
   In this example, the secp256r1_kyber512 Key Agreement mode ("alg" value "secp256r1_kyber512") 
   is used to produce an agreed-upon key for AES GCM with a 128-bit key ("enc"
   value "A128GCM").</t>
        <t>In this example, a producer Alice is encrypting content to a consumer
   Bob.  The producer (Alice) generates an ephemeral key for the key
   agreement computation.  Alice's ephemeral key is used
   for the key agreement computation in this example (including the
   private part) is:</t>
        <artwork><![CDATA[
 {"kty":"OKP",
  "crv":"P-256",    
  "x":"alice_eph_public_key_x",
  "y":"alice_eph_public_key_y",
  "d":"alice_eph_private_key"
 }
]]></artwork>
        <t>The consumer's (Bob's) key used for the key agreement computation 
   in this example (including the private part) is:</t>
        <artwork><![CDATA[
 {"kty":"OKP",
  "kem": "kyber512",
  "kem-pk":"bob_kyber_public_key",
  "kem-sk":"bob_kyber_private_key"
  "crv":"P-256",
  "x":"bob_public_key_x",
  "y":"bob_public_key_y",
  "d":"bob_private_key"
 }
]]></artwork>
        <t>Header Parameter values used in this example are as follows.</t>
        <artwork><![CDATA[
 {"alg":"secp256r1-ES_kyber512",
  "enc":"A128GCM",
  "apu":"QWxpY2U",  // base64url encoding of the UTF-8 string "Alice"
  "apv":"Qm9i",    // base64url encoding of the UTF-8 string "Bob"
  "epk":
   {"kty":"OKP",
    "crv":"P-256",
    "x":"alice_eph_public_key_x",
    "y":"alice_eph_public_key_y",
   }
 }
]]></artwork>
      </section>
    </section>
    <section anchor="cose-hybrid-kem">
      <name>Hybrid Key Representation with COSE</name>
      <t>The approach taken here matches the work done to support secp256k1 in JOSE and COSE in <xref target="RFC8812"/>. The following table maps terms between JOSE and COSE for Key Type Parameters.</t>
      <artwork><![CDATA[
    +======================+========================================+==+
    | Name                 | Value | Description                       |
    +======================+===========================================+
    | crv                  | -1    | EC used                           |
    +----------------------+-------------------------------------------+
    | d                    | -4    | Private key                       |
    +----------------------+-------------------------------------------+
    | x                    | -2    | x coordinate for the public key   |
    +----------------- ----+-------------------------------------------+
    | y                    | -3    | y coordinate for the public key   |
    +---------------- -----+-------------------------------------------+
    | kem                  | TBD2  | PQC KEM Algorithm                 |
    +----------------------+-------------------------------------------+
    | kem-pk               | TBD3  | PQC KEM Public Key                |
    +----------------------+-------------------------------------------+
    | kem-sk               | TBD4  | PQC KEM Private Key               |
    +----------------------+-------------------------------------------+
    | kem-ct               | TBD5  | PQC KEM ciphertext                |
    +----------------------+-------------------------------------------+

                             Table 3
]]></artwork>
      <t>The following table maps terms between JOSE and COSE for PQ/T Hybrid KEM.</t>
      <artwork><![CDATA[
    +==============+===================+====================+============================+
    | Name                          | Value  | Description                 | Recommended |
    +===================+===========+========+=============================+=============+
    | x25519-ES_kyber512            | TBD10  | Curve25519 elliptic curve + | No          |
    |                               |        | Kyber512 parameter          |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | secp384r1-ES_kyber768         | TBD11  | P-384 + Kyber768 parameter  | No          |
    |                               |        |                             |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | x25519-ES_kyber768            | TBD12  | Curve25519 elliptic curve   | No          |
    |                               |        | + Kyber768 parameter        |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | secp256r1-ES_kyber512         | TBD13  | P-256 + Kyber512 parameter  | No          |
    |                               |        |                             |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | x25519-ES_kyber512+A128KW     | TBD14  | Curve25519 elliptic curve + | No          |
    |                               |        | Kyber512 parameter +        |             |
    |                               |        | CEK wrapped with "A128KW"   |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | secp384r1-ES_kyber768+A128KW  | TBD15  | P-384 + Kyber768 parameter  | No          |
    |                               |        | + CEK wrapped with "A128KW" |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | x25519-ES_kyber768+A128KW     | TBD16  | Curve25519 elliptic curve   | No          |
    |                               |        | + Kyber768 parameter        |             |
    |                               |        | + CEK wrapped with "A128KW" |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | secp256r1-ES_kyber512+A128KW  | TBD17  | P-256 + Kyber512 parameter  | No          |
    |                               |        | + CEK wrapped with "A128KW" |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | x25519-ES_kyber512+A256KW     | TBD18  | Curve25519 elliptic curve + | No          |
    |                               |        | Kyber512 parameter +        |             |
    |                               |        | CEK wrapped with "A256KW"   |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | secp384r1-ES_kyber768+A256KW  | TBD19  | P-384 + Kyber768 parameter  | No          |
    |                               |        | + CEK wrapped with "A256KW" |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | x25519-ES_kyber768+A256KW     | TBD20  | Curve25519 elliptic curve   | No          |
    |                               |        | + Kyber768 parameter        |             |
    |                               |        | + CEK wrapped with "A256KW" |             |
    +-------------------------------+--------+-----------------------------+-------------+
    | secp256r1_-ES_kyber512+A256KW | TBD21  | P-256 + Kyber512 parameter  | No          |
    |                               |        | + CEK wrapped with "A256KW" |             |
    +-------------------------------+--------+-----------------------------+-------------+
  

                                   Table 4
]]></artwork>
      <t>The following table maps terms between JOSE and COSE for PQC KEM algorithms.</t>
      <artwork><![CDATA[
    +==============+=======+====================+===============================+
    | Name                 | Value | Description                 | Recommended  |
    +==============+=======+====================+=============--------==========+
    | Kyber512             | TBD7  | Kyber512                    | No           |
    |                      |       |                             |              |
    +---------------------+--------+-----------------------------+--------------+
    | Kyber768             | TBD9  | Kyber768                    | No           |
    |                      |       |                             |              |
    +---------------------+--------+-----------------------------+--------------+

                                   Table 5
]]></artwork>
      <t>This example uses the following parameters:</t>
      <ul spacing="normal">
        <li>
          <t>Algorithm for payload encryption: AES-GCM-128</t>
        </li>
        <li>
          <t>IV: 0x26, 0x68, 0x23, 0x06, 0xd4, 0xfb, 0x28, 0xca, 0x01, 0xb4, 0x3b, 0x80</t>
        </li>
        <li>
          <t>Algorithm for content key distribution: secp256r1_kyber512</t>
        </li>
        <li>
          <t>KID: "kid-4"</t>
        </li>
      </ul>
      <t>The COSE_Encrypt structure</t>
      <artwork><![CDATA[
   96(
     [
       / protected h'a10101' / << {
           / alg / 1:1 / AES-GCM 128 /
         } >>,
       / unprotected / {
         / iv / 5:h'26682306D4FB28CA01B43B80'
       },
      / null because of detached ciphertext /
      null,
       / recipients / [
         [
           / protected h'Assuming -50 is assigned' / << {
               / alg / 1:-50 / secp256r1-ES_kyber512 /
             } >>,
           / unprotected / {
             / ephemeral / -1:{
               / kty / 1:1 /OKP/,
               / crv / -1:1 /secp256r1 or P-256/,
               / x / -2:h'415A8ED270C4B1F10B0A2D42B28EE6028CE25D74552CB4291A4069A2E989B0F6',
               / y / -3:h'CCC9AAF60514B9420C80619A4FF068BC1D77625BA8C90200882F7D5B73659E76'
             },
             / kid / 4:'kid-10'
           }
         ]
       ]
     ]
   )

]]></artwork>
      <artwork><![CDATA[
                Figure 1: COSE_Encrypt Example for secp256r1-ES_kyber512               
]]></artwork>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security considerations from <xref target="RFC7748"/> and <xref target="I-D.ounsworth-cfrg-kem-combiners"/> apply here. The shared secrets computed in the hybrid key exchange should be computed in a way that achieves the "hybrid" property: the resulting secret is secure as long as at least one of the component key exchange algorithms is unbroken.</t>
      <t>PQC KEMs used in the manner described in this document <bcp14>MUST</bcp14> explicitly be designed to be secure in the event that the public key is reused, such as achieving IND-CCA2 security. Kyber has such security properties.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="jose">
        <name>JOSE</name>
        <t>The following has to be added to the "JSON Web Key Parameters"
registry:</t>
        <ul spacing="normal">
          <li>
            <t>Parameter Name: "kem"</t>
          </li>
          <li>
            <t>Parameter Description: PQC KEM Algorithm</t>
          </li>
          <li>
            <t>Parameter Information Class: Public</t>
          </li>
          <li>
            <t>Used with "kty" Value(s): "OKP"</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Parameter Name: "kem-pk"</t>
          </li>
          <li>
            <t>Parameter Description: PQC KEM Public Key</t>
          </li>
          <li>
            <t>Parameter Information Class: Public</t>
          </li>
          <li>
            <t>Used with "kty" Value(s): "OKP"</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Parameter Name: "kem-sk"</t>
          </li>
          <li>
            <t>Parameter Description: PQC KEM Private Key</t>
          </li>
          <li>
            <t>Parameter Information Class: Private</t>
          </li>
          <li>
            <t>Used with "kty" Value(s): "OKP"</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Parameter Name: "kem-ct"</t>
          </li>
          <li>
            <t>Parameter Description: PQC KEM ciphertext</t>
          </li>
          <li>
            <t>Parameter Information Class: Public</t>
          </li>
          <li>
            <t>Used with "kty" Value(s): "OKP"</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
        </ul>
        <t>The following has to be added to the "JSON Web Signature and
Encryption Algorithms" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Algorithm Name: "x25519-ES_kyber768"</t>
          </li>
          <li>
            <t>Algorithm Description: Curve25519 elliptic curve + Kyber768 parameter</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "secp384r1-ES_kyber768"</t>
          </li>
          <li>
            <t>Algorithm Description: P-384 + Kyber768 parameter</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "x25519-ES_kyber512"</t>
          </li>
          <li>
            <t>Algorithm Description: Curve25519 elliptic curve + Kyber512 parameter</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "secp256r1-ES_kyber512"</t>
          </li>
          <li>
            <t>Algorithm Description: P-256 + Kyber512 parameter</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "x25519-ES_kyber768+A128KW"</t>
          </li>
          <li>
            <t>Algorithm Description: Curve25519 elliptic curve + Kyber768 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "secp384r1-ES_kyber768+A128KW"</t>
          </li>
          <li>
            <t>Algorithm Description: P-384 + Kyber768 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "x25519-ES_kyber512+A128KW"</t>
          </li>
          <li>
            <t>Algorithm Description: Curve25519 elliptic curve + Kyber512 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "secp256r1-ES_kyber512+A128KW"</t>
          </li>
          <li>
            <t>Algorithm Description: P-256 + Kyber512 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "x25519-ES_kyber768+A256KW"</t>
          </li>
          <li>
            <t>Algorithm Description: Curve25519 elliptic curve + Kyber768 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "secp384r1-ES_kyber768+A256KW"</t>
          </li>
          <li>
            <t>Algorithm Description: P-384 + Kyber768 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): S<xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "x25519-ES_kyber512+A256KW"</t>
          </li>
          <li>
            <t>Algorithm Description: Curve25519 elliptic curve + Kyber512 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
          <li>
            <t>Algorithm Name: "secp256r1-ES_kyber512+A256KW"</t>
          </li>
          <li>
            <t>Algorithm Description: P-256 + Kyber512 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): <xref target="hybrid-kem"/> of this document (TBD)</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): (TBD20)</t>
          </li>
        </ul>
        <section anchor="JSON-KEM-REGISTRY">
          <name>JSON PQC KEM Registry</name>
          <t>This section establishes the IANA "JSON PQC KEM"
   registry for JWK "kem" member values.  The registry records the PQC
   KEM name, implementation requirements, and a reference to the
   specification that defines it.  This specification registers the
   PQC KEM algorithms defined in <xref target="kem"/>.</t>
          <t>The implementation requirements of a PQC KEM may be changed over time
   as the cryptographic landscape evolves, for instance, to change the
   status of a PQC KEM to Deprecated or to change the status of a PQC KEM
   from Optional to Recommended+ or Required.  Changes of implementation
   requirements are only permitted on a Specification Required basis
   after review by the Designated Experts, with the new specification
   defining the revised implementation requirements level.</t>
          <section anchor="registration-template">
            <name>Registration Template</name>
            <t>PQC KEM name:
      The name requested (e.g., "Kyber512").  Because a core goal of this
      specification is for the resulting representations to be compact,
      it is <bcp14>RECOMMENDED</bcp14> that the name be short -- not to exceed 12
      characters without a compelling reason to do so.  This name is
      case sensitive.  Names may not match other registered names in a
      case-insensitive manner unless the Designated Experts state that
      there is a compelling reason to allow an exception.</t>
            <t>PQC KEM Description:
      Brief description of the PQC KEM (e.g., "Kyber512").</t>
            <t>JOSE Implementation Requirements:
      The PQC KEM implementation requirements for JWE, which must
      be one the words Required, Recommended, Optional, Deprecated, or
      Prohibited.  Optionally, the word can be followed by a "+" or "-".
      The use of "+" indicates that the requirement strength is likely
      to be increased in a future version of the specification.  The use
      of "-" indicates that the requirement strength is likely to be
      decreased in a future version of the specification.</t>
            <t>Change Controller:
      For Standards Track RFCs, list "IESG".  For others, give the name
      of the responsible party.  Other details (e.g., postal address,
      email address, home page URI) may also be included.</t>
            <t>Specification Document(s):
      Reference to the document or documents that specify the parameter,
      preferably including URIs that can be used to retrieve copies of
      the documents.  An indication of the relevant sections may also be
      included but is not required.</t>
          </section>
          <section anchor="initial-registry-contents">
            <name>Initial Registry Contents</name>
            <ul spacing="normal">
              <li>
                <t>PQC KEM name: "Kyber512"</t>
              </li>
              <li>
                <t>PQC KEM Description: Kyber512</t>
              </li>
              <li>
                <t>JOSE Implementation Requirements: Optional</t>
              </li>
              <li>
                <t>Change Controller: IESG</t>
              </li>
              <li>
                <t>Specification Document(s): <xref target="kem"/></t>
              </li>
              <li>
                <t>PQC KEM name: "Kyber768"</t>
              </li>
              <li>
                <t>PQC KEM Description: Kyber768</t>
              </li>
              <li>
                <t>JOSE Implementation Requirements: Optional</t>
              </li>
              <li>
                <t>Change Controller: IESG</t>
              </li>
              <li>
                <t>Specification Document(s): <xref target="kem"/></t>
              </li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="cose">
        <name>COSE</name>
        <t>The following has to be added to the "COSE Key Type Parameters"
registry:</t>
        <ul spacing="normal">
          <li>
            <t>Key Type: OKP</t>
          </li>
          <li>
            <t>Name: kem</t>
          </li>
          <li>
            <t>Label : TBD2</t>
          </li>
          <li>
            <t>CBOR Type: int / tstr</t>
          </li>
          <li>
            <t>Description: PQC KEM Algorithm</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Key Type: OKP</t>
          </li>
          <li>
            <t>Name: kem-pk</t>
          </li>
          <li>
            <t>Label : TBD3</t>
          </li>
          <li>
            <t>CBOR Type: bstr</t>
          </li>
          <li>
            <t>Description: PQC KEM Public Key</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Key Type: OKP</t>
          </li>
          <li>
            <t>Name: kem-sk</t>
          </li>
          <li>
            <t>Label : TBD4</t>
          </li>
          <li>
            <t>CBOR Type: bstr</t>
          </li>
          <li>
            <t>Description:  PQC KEM Private Key</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Key Type: OKP</t>
          </li>
          <li>
            <t>Name: kem-ct</t>
          </li>
          <li>
            <t>Label : TBD5</t>
          </li>
          <li>
            <t>CBOR Type: bstr</t>
          </li>
          <li>
            <t>Description:  PQC KEM ciphertext</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
        </ul>
        <t>The following has to be added to the "COSE Algorithms" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Name: x25519-ES_kyber768</t>
          </li>
          <li>
            <t>Value: TBD10</t>
          </li>
          <li>
            <t>Description: Curve25519 elliptic curve + Kyber768 parameter</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: secp384r1-ES_kyber768</t>
          </li>
          <li>
            <t>Value: TBD11</t>
          </li>
          <li>
            <t>Description: P-384 + Kyber768 parameter</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: x25519-ES_kyber512</t>
          </li>
          <li>
            <t>Value: TBD12</t>
          </li>
          <li>
            <t>Description: Curve25519 elliptic curve + Kyber512 parameter</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: secp256r1-ES_kyber512</t>
          </li>
          <li>
            <t>Value: TBD13</t>
          </li>
          <li>
            <t>Description: P-256 + Kyber512 parameter</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: x25519-ES_kyber768+A128KW</t>
          </li>
          <li>
            <t>Value: TBD14</t>
          </li>
          <li>
            <t>Description: Curve25519 elliptic curve + Kyber768 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: secp384r1-ES_kyber768+A128KW</t>
          </li>
          <li>
            <t>Value: TBD15</t>
          </li>
          <li>
            <t>Description: P-384 + Kyber768 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: x25519-ES_kyber512+A128KW</t>
          </li>
          <li>
            <t>Value: TBD16</t>
          </li>
          <li>
            <t>Description: Curve25519 elliptic curve + Kyber512 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: secp256r1-ES_kyber512+A128KW</t>
          </li>
          <li>
            <t>Value: TBD17</t>
          </li>
          <li>
            <t>Description: P-256 + Kyber512 parameter and CEK wrapped with "A128KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: x25519-ES_kyber768+A256KW</t>
          </li>
          <li>
            <t>Value: TBD18</t>
          </li>
          <li>
            <t>Description: Curve25519 elliptic curve + Kyber768 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: secp384r1-ES_kyber768+A256KW</t>
          </li>
          <li>
            <t>Value: TBD19</t>
          </li>
          <li>
            <t>Description: P-384 + Kyber768 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: x25519-ES_kyber512+A256KW</t>
          </li>
          <li>
            <t>Value: TBD20</t>
          </li>
          <li>
            <t>Description: Curve25519 elliptic curve + Kyber512 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: secp256r1-ES_kyber512+A256KW</t>
          </li>
          <li>
            <t>Value: TBD21</t>
          </li>
          <li>
            <t>Description: P-256 + Kyber512 parameter and CEK wrapped with "A256KW"</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
        </ul>
        <section anchor="cose-pqc-kem-registry">
          <name>COSE PQC KEM Registry</name>
          <t>This section establishes the IANA "COSE PQC KEM"
   registry for "kem" member values.  The registry records the PQC
   KEM name, implementation requirements, and a reference to the
   specification that defines it.  This specification registers the
   PQC KEM algorithms defined in <xref target="cose-hybrid-kem"/>.</t>
          <t>The implementation requirements of a PQC KEM may be changed over time
   as the cryptographic landscape evolves, for instance, to change the
   status of a PQC KEM to Deprecated or to change the status of a PQC KEM
   from Optional to Recommended+ or Required.  Changes of implementation
   requirements are only permitted on a Specification Required basis
   after review by the Designated Experts, with the new specification
   defining the revised implementation requirements level.</t>
          <section anchor="registration-template-1">
            <name>Registration Template</name>
            <t>Name:
      The name requested (e.g., "Kyber512").  Because a core goal of this
      specification is for the resulting representations to be compact,
      it is <bcp14>RECOMMENDED</bcp14> that the name be short -- not to exceed 12
      characters without a compelling reason to do so.  This name is
      case sensitive.  Names may not match other registered names in a
      case-insensitive manner unless the Designated Experts state that
      there is a compelling reason to allow an exception.</t>
            <t>Value: This is the value used for the label.  The label can be
      either an integer or a string.  Registration in the table is based
      on the value of the label requested.  Integer values between 1 and
      255 and strings of length 1 are designated as "Standards Action".
      Integer values from 256 to 65535 and strings of length 2 are
      designated as "Specification Required".  Integer values of greater
      than 65535 and strings of length greater than 2 are designated as
      "Expert Review".  Integer values in the range -1 to -65536 are
      "delegated to the COSE Header Algorithm Parameters registry".
      Integer values less than -65536 are marked as private use.</t>
            <t>Description:
      Brief description of the PQC KEM (e.g., "Kyber512").</t>
            <t>Change Controller:
      For Standards Track RFCs, list "IESG".  For others, give the name
      of the responsible party.  Other details (e.g., postal address,
      email address, home page URI) may also be included.</t>
            <t>Reference:
      Reference to the document or documents that specify the parameter,
      preferably including URIs that can be used to retrieve copies of
      the documents.  An indication of the relevant sections may also be
      included but is not required.</t>
            <artwork><![CDATA[
Recommended:  Does the IETF have a consensus recommendation to use
  the algorithm?  The legal values are 'Yes', 'No', and
  'Deprecated'.
]]></artwork>
          </section>
          <section anchor="initial-registry-contents-1">
            <name>Initial Registry Contents</name>
            <ul spacing="normal">
              <li>
                <t>Name: "Kyber512"</t>
              </li>
              <li>
                <t>Value: TBD7</t>
              </li>
              <li>
                <t>Description: Kyber512</t>
              </li>
              <li>
                <t>Change Controller: IESG</t>
              </li>
              <li>
                <t>Reference: This document (TBD)</t>
              </li>
              <li>
                <t>Recommended: No</t>
              </li>
              <li>
                <t>Name: "Kyber768"</t>
              </li>
              <li>
                <t>Value: TBD9</t>
              </li>
              <li>
                <t>Description: Kyber768</t>
              </li>
              <li>
                <t>Change Controller: IESG</t>
              </li>
              <li>
                <t>Reference: This document (TBD)</t>
              </li>
              <li>
                <t>Recommended: No</t>
              </li>
            </ul>
          </section>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Mike Ounsworth and Ilari Liusvaara for the discussion and comments.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="SP800-56C" target="https://doi.org/10.6028/NIST.SP.800-56Cr2">
          <front>
            <title>Recommendation for Key-Derivation Methods in Key-Establishment Schemes</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="SP800-185" target="https://doi.org/10.6028/NIST.SP.800-185">
          <front>
            <title>SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash, and ParallelHash</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="PQCAPI" target="https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/example-files/api-notes.pdf">
          <front>
            <title>PQC - API notes</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="FO" target="https://link.springer.com/article/10.1007/s00145-011-9114-1">
          <front>
            <title>Secure Integration of Asymmetric and Symmetric Encryption Schemes</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="HHK" target="https://link.springer.com/chapter/10.1007/978-3-319-70500-2_12">
          <front>
            <title>A Modular Analysis of the Fujisaki-Okamoto Transformation</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-pquip-pqt-hybrid-terminology">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="Florence D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <date day="4" month="May" year="2023"/>
            <abstract>
              <t>   One aspect of the transition to post-quantum algorithms in
   cryptographic protocols is the development of hybrid schemes that
   incorporate both post-quantum and traditional asymmetric algorithms.
   This document defines terminology for such schemes.  It is intended
   to be used as a reference and, hopefully, to ensure consistency and
   clarity across different protocols, standards, and organisations.

About This Document

   This note is to be removed before publishing as an RFC.

   Status information for this document may be found at
   https://datatracker.ietf.org/doc/draft-ietf-pquip-pqt-hybrid/.


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqt-hybrid-terminology-00"/>
        </reference>
        <reference anchor="RFC6090">
          <front>
            <title>Fundamental Elliptic Curve Cryptography Algorithms</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="K. Igoe" initials="K." surname="Igoe"/>
            <author fullname="M. Salter" initials="M." surname="Salter"/>
            <date month="February" year="2011"/>
            <abstract>
              <t>This note describes the fundamental algorithms of Elliptic Curve Cryptography (ECC) as they were defined in some seminal references from 1994 and earlier. These descriptions may be useful for implementing the fundamental algorithms without using any of the specialized methods that were developed in following years. Only elliptic curves defined over fields of characteristic greater than three are in scope; these curves are those used in Suite B. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6090"/>
          <seriesInfo name="DOI" value="10.17487/RFC6090"/>
        </reference>
        <reference anchor="RFC8037">
          <front>
            <title>CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document defines how to use the Diffie-Hellman algorithms "X25519" and "X448" as well as the signature algorithms "Ed25519" and "Ed448" from the IRTF CFRG elliptic curves work in JSON Object Signing and Encryption (JOSE).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8037"/>
          <seriesInfo name="DOI" value="10.17487/RFC8037"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="I-D.ietf-tls-hybrid-design">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa</organization>
            </author>
            <date day="7" month="September" year="2023"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if all but one of the component algorithms is broken.
   It is motivated by transition to post-quantum cryptography.  This
   document provides a construction for hybrid key exchange in the
   Transport Layer Security (TLS) protocol version 1.3.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-09"/>
        </reference>
        <reference anchor="RFC9370">
          <front>
            <title>Multiple Key Exchanges in the Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="CJ. Tjhai" initials="CJ." surname="Tjhai"/>
            <author fullname="M. Tomlinson" initials="M." surname="Tomlinson"/>
            <author fullname="G. Bartlett" initials="G." surname="Bartlett"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <author fullname="D. Van Geest" initials="D." surname="Van Geest"/>
            <author fullname="O. Garcia-Morchon" initials="O." surname="Garcia-Morchon"/>
            <author fullname="V. Smyslov" initials="V." surname="Smyslov"/>
            <date month="May" year="2023"/>
            <abstract>
              <t>This document describes how to extend the Internet Key Exchange Protocol Version 2 (IKEv2) to allow multiple key exchanges to take place while computing a shared secret during a Security Association (SA) setup.</t>
              <t>This document utilizes the IKE_INTERMEDIATE exchange, where multiple key exchanges are performed when an IKE SA is being established. It also introduces a new IKEv2 exchange, IKE_FOLLOWUP_KE, which is used for the same purpose when the IKE SA is being rekeyed or is creating additional Child SAs.</t>
              <t>This document updates RFC 7296 by renaming a Transform Type 4 from "Diffie-Hellman Group (D-H)" to "Key Exchange Method (KE)" and renaming a field in the Key Exchange Payload from "Diffie-Hellman Group Num" to "Key Exchange Method". It also renames an IANA registry for this Transform Type from "Transform Type 4 - Diffie- Hellman Group Transform IDs" to "Transform Type 4 - Key Exchange Method Transform IDs". These changes generalize key exchange algorithms that can be used in IKEv2.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9370"/>
          <seriesInfo name="DOI" value="10.17487/RFC9370"/>
        </reference>
        <reference anchor="RFC7518">
          <front>
            <title>JSON Web Algorithms (JWA)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>This specification registers cryptographic algorithms and identifiers to be used with the JSON Web Signature (JWS), JSON Web Encryption (JWE), and JSON Web Key (JWK) specifications. It defines several IANA registries for these identifiers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7518"/>
          <seriesInfo name="DOI" value="10.17487/RFC7518"/>
        </reference>
        <reference anchor="I-D.ounsworth-cfrg-kem-combiners">
          <front>
            <title>Combiner function for hybrid key encapsulation mechanisms (Hybrid KEMs)</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Aron Wussler" initials="A." surname="Wussler">
              <organization>Proton AG</organization>
            </author>
            <author fullname="Stavros Kousidis" initials="S." surname="Kousidis">
              <organization>BSI</organization>
            </author>
            <date day="8" month="July" year="2023"/>
            <abstract>
              <t>   The migration to post-quantum cryptography often calls for performing
   multiple key encapsulations in parallel and then combining their
   outputs to derive a single shared secret.

   This document defines a comprehensible and easy to implement Keccak-
   based KEM combiner to join an arbitrary number of key shares, that is
   compatible with NIST SP 800-56Cr2 [SP800-56C] when viewed as a key
   derivation function.  The combiners defined here are practical split-
   key PRFs and are CCA-secure as long as at least one of the ingredient
   KEMs is.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ounsworth-cfrg-kem-combiners-04"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="I-D.cfrg-schwabe-kyber">
          <front>
            <title>Kyber Post-Quantum KEM</title>
            <author fullname="Peter Schwabe" initials="P." surname="Schwabe">
              <organization>MPI-SP &amp; Radboud University</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="25" month="September" year="2023"/>
            <abstract>
              <t>   This memo specifies a preliminary version ("draft00", "v3.02") of
   Kyber, an IND-CCA2 secure Key Encapsulation Method.

About This Document

   This note is to be removed before publishing as an RFC.

   The latest revision of this draft can be found at
   https://bwesterb.github.io/draft-schwabe-cfrg-kyber/draft-cfrg-
   schwabe-kyber.html.  Status information for this document may be
   found at https://datatracker.ietf.org/doc/draft-cfrg-schwabe-kyber/.

   Source for this draft and an issue tracker can be found at
   https://github.com/bwesterb/draft-schwabe-cfrg-kyber.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-cfrg-schwabe-kyber-03"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC8812">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for Web Authentication (WebAuthn) Algorithms</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>The W3C Web Authentication (WebAuthn) specification and the FIDO Alliance FIDO2 Client to Authenticator Protocol (CTAP) specification use CBOR Object Signing and Encryption (COSE) algorithm identifiers. This specification registers the following algorithms (which are used by WebAuthn and CTAP implementations) in the IANA "COSE Algorithms" registry: RSASSA-PKCS1-v1_5 using SHA-256, SHA-384, SHA-512, and SHA-1; and Elliptic Curve Digital Signature Algorithm (ECDSA) using the secp256k1 curve and SHA-256. It registers the secp256k1 elliptic curve in the IANA "COSE Elliptic Curves" registry. Also, for use with JSON Object Signing and Encryption (JOSE), it registers the algorithm ECDSA using the secp256k1 curve and SHA-256 in the IANA "JSON Web Signature and Encryption Algorithms" registry and the secp256k1 elliptic curve in the IANA "JSON Web Key Elliptic Curve" registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8812"/>
          <seriesInfo name="DOI" value="10.17487/RFC8812"/>
        </reference>
        <reference anchor="RFC7748">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
C2Ou2/xAeJmg6JS8vGQsibD2/wFhD3snk7EAAA==

-->

</rfc>
