<?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-01" 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-01"/>
    <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="06"/>
    <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     | KMAC128 |
        +------------------------+---------+
        | secp384r1-ES_kyber768  | KMAC256 |
        +------------------------+---------+
        | x25519-ES_kyber768     | KMAC256 |
        +-----------------------+----------+
        | secp256r1-ES_kyber512 |  KMAC128 |
        +------------------------+---------+

                         Table 1 
]]></artwork>
      <t>KMAC is defined in NIST SP 800-185 <xref target="SP800-185"/>.  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_Post_Quantum_Traditional_Hybrid", "<em>", Name of the PQ/T hybrid algorithm). In case of
COSE, the context-specific string will be set to concat("COSE_Post_Quantum_Traditional_Hybrid", "-", Name of the PQ/T hybrid algorithm). For example, 
concat("JOSE_Post_Quantum_Traditional_Hybrid", "</em>", "x25519-ES_kyber512") = "JOSE_Post_Quantum_Traditional_Hybrid_x25519-ES_kyber512".</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 = KMAC128("COSE_Post_Quantum_Traditional_Hybrid_X25519-ES_kyber512", "0x00000001 || 
                HKDF-256(DH-Shared-Secret, salt, context) || 
                ct_1 || rlen(ct_1) || ss_1 || rlen(ss_1) || context" , 128, "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 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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
m8tQv92xz8qlJ/uwSD19qco/k1x6gkkKtOaZgD75gDZJT9cl6PU5deYhtIQ5
x3EeSEwzginH6acRTCX0VeBiLjFVDXKVga9CTObA2WcUTJ+DmO6DzwfR0oxg
smjp4wumpaT0BQUTjPa3KpgI9PsKpo+K0DmCSeH0swimCmR8KYvpMxHTpxFM
i4jpy1lMFi19JsFkYeLTjH1x+gN+ZEijO6fi7ML7ho8X+grMnDrDyVPVjjO5
qW5KhbDFnAS93LFf5AqiH3B7M0tC5Y3Y3N5EbwRVxESK6v5FRf9yhzEdFCAD
WnPhMSotAiiHQXqfChD0ps2Z3vOBzgHbS6vBJt99EWK5P5YqpttLbleYo1L2
Xu7il3GKNbkLHHdm5HnT5D223qrTSTYiTabrFeN+swIUb+BnnPiYrM7zwEQJ
tEkcRB+CmlmI5rjMLIimnxCiMjkFOspaEERdxhjrFdD7Sylf3GOaPwMvCBlb
U+KqUdh1tHFby1J0ne4fDYoMbhK1UNMZBmnOz1A5/43hSfRm3vJw2jT3zCt/
4STEQxyQnzAm4cmTGiiFnZrGzuwdQPbxISbIj48Gj1kQ+Riq4aKIpJeTZWZj
6BUZ0rjxKs+KpfCc9GMKDHAmj/HsFV/Fv8gni7v17cbjSe6bLl6UwZB8p4VL
Tn2ro2ZVGrNLKW24p2WM2eLy0DBEYV2eYjGKY6C4ORmegM9UOmIVqigWz121
i045hN1kiCdHJVNzR8rMRt/Zs1NoR43KuVOJCx4OP014JLeYFOdJxHJTPvW5
bDDAGVfBKEvMAzdwYzoiUtDO2PuMAcniNvAz2qxrNMy86zjweN7+VG4ZdD3a
KuBjTlUSZ4K2k1Cc9ZFS0ZR7rlz98onczGgIDB/T9in+MaOwS6m5ubbG+aea
yo2u49CUY18iiaRIj5AAGB/d4f4EuIn7qtpphXd59plZueQ+1M9o2CJ39qNU
kMqFUvWVx/9k/8W+0kgKnEIF2fEXrONAuXNx9MPJ4PLiZ8r93PdzqpPjU73h
BoOh1SEgKKbNRhaGhAx9qQ3ZZhincKr1aeO2K/cAorWGeFYpjnLvQKU1C9TX
5M0GpeU4ShyWsgHIlCFLV64VjGx1pptpMtknt7c1qK0sxl42tVFHY3bsRnIX
g3Eyxtu31l4IRCA2rvdn5GmbUhSpMRUOzdlkCrYmg0Ay0lOffae+Tj0Y0Obp
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
gfAyQdEpeXnJWBJh7f8BGPMxVHGvAAA=

-->

</rfc>
