<?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.6 (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-reddy-cose-jose-pqc-kem-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.20.0 -->
  <front>
    <title abbrev="PQ KEM for JOSE and COSE">Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) for JOSE and COSE</title>
    <seriesInfo name="Internet-Draft" value="draft-reddy-cose-jose-pqc-kem-00"/>
    <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>
    <author fullname="Hannes Tschofenig">
      <organization/>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2024" month="March" day="03"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>JOSE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 80?>

<t>This document describes the conventions for using Post-Quantum Key Encapsulation Mechanisms (PQ-KEMs) within 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-reddy-cose-jose-pqc/"/>.
      </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 84?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Quantum computing is no longer perceived as a conjecture of computational sciences and theoretical physics.  Considerable research efforts and enormous corporate and government funding for the development of practical quantum computing systems are being invested currently. As such, as quantum technology advances, there is the potential for future quantum computers to have a significant impact on current cryptographic systems.</t>
      <t>Researchers have developed Post-Quantum Key Encapsulation Mechanisms (PQ-KEMs) to provide secure key establishment resistant against an adversary with access to a quantum computer.</t>
      <t>As the National Institute of Standards and Technology (NIST) is still in the process of selecting the new post-quantum cryptographic algorithms that are secure against both quantum and classical computers, the purpose of this document is to propose a PQ-KEMs to protect the confidentiality of content encrypted using JOSE and COSE against the quantum threat.</t>
      <t>Although this mechanism could thus be used with any PQ-KEM, this document focuses on Module-Lattice-based Key Encapsulation Mechanisms (ML-KEMs). ML-KEM is a one-pass (store-and-forward) cryptographic mechanism for an originator to securely send keying material to a recipient
using the recipient's ML-KEM public key. Three parameters sets for ML-KEMs are specified by <xref target="FIPS203-ipd"/>. In order of increasing security strength (and decreasing performance), these parameter sets
are ML-KEM-512, ML-KEM-768, and ML-KEM-1024.</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"/>. The following terms are repeately used in this specification:</t>
      <ul spacing="normal">
        <li>
          <t>KEM: Key Encapsulation Mechanism</t>
        </li>
        <li>
          <t>PQ-KEM: Post-Quantum Key Encapsulation Mechanism</t>
        </li>
        <li>
          <t>CEK: Content Encryption Key</t>
        </li>
        <li>
          <t>ML-KEM: Module-Lattice-based Key Encapsulation Mechanism</t>
        </li>
      </ul>
      <t>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. Post-quantum algorithms can also be called quantum-resistant or quantum-safe algorithms. Examples of Post-Quantum Algorithm include ML-KEM.</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="rational">
      <name>Design Rationales</name>
      <t>Section 4.6 of the JSON Web Algorithms (JWA) specification, see <xref target="RFC7518"/>, defines two ways of using a key agreement:</t>
      <ul spacing="normal">
        <li>
          <t>When Direct Key Agreement is employed, the shared secret established through the Traditional Algorithm will be the content encryption key (CEK).</t>
        </li>
        <li>
          <t>When Key Agreement with Key Wrapping is employed, the shared secret established through the Traditional Algorithm will wrap the CEK.</t>
        </li>
      </ul>
      <t>For efficient use with multiple recipient the key wrap approach is used since the content can be encrypted once with the CEK but each CEK is encrypted per recipient. Similarly, Section 8.5.4 and Section 8.5.5 of COSE <xref target="RFC9052"/> define the Direct Key Agreement and Key Agreement with Key Wrap, respectively. This document proposes the use of PQ-KEMs for these two modes.</t>
      <t>It is essential to note that in the PQ-KEM, 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. As a consequence, one can re-use PQC KEM public keys but there is an upper bound that must be adhered to.</t>
      <t>Note that during the transition from traditional to post-quantum algorithms, there may be a desire or a requirement for protocols that incorporate both types of algorithms until the post-quantum algorithms are fully trusted. HPKE is an KEM that can be extended to support hybrid post-quantum KEMs and the specifications for the use of HPKE with JOSE and COSE are described in <xref target="I-D.ietf-rha-jose-hpke-encrypt"/> and <xref target="I-D.ietf-cose-hpke"/>, respectively.</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>: ML-KEM, previously known 
 as Kyber, is a module learning with errors (MLWE)-based KEM. Three security levels have been defined in the NIST PQC Project, namely Level 1, 3, and 5. These levels correspond to the hardness of breaking AES-128, AES-192 and AES-256, respectively.</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="ml-kem">
        <name>ML-KEM</name>
        <t>ML-KEM offers several parameter sets with varying levels of security and performance trade-offs. This document specifies the use of the ML-KEM algorithm at three security levels: ML-KEM-512, ML-KEM-768, and ML-KEM-1024. ML-KEM key generation, encapsulation and decaspulation functions are defined in <xref target="I-D.cfrg-schwabe-kyber"/>. The main security property for KEMs standardized in the NIST Post-Quantum Cryptography Standardization Project is indistinguishability under adaptive chosen ciphertext attacks (IND-CCA2) (see Section 10.2 of <xref target="I-D.ietf-pquip-pqc-engineers"/>). The public/private key sizes, ciphertext key size, and PQ security levels of ML-KEM are detailed in Section 12 of <xref target="I-D.ietf-pquip-pqc-engineers"/>.</t>
      </section>
      <section anchor="encrypt">
        <name>PQ-KEM Encapsulation</name>
        <t>The encapsulation process is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Generate an inital shared secret SS' and the associated ciphertext CT
using the KEM encapsulation function and the recipient's public
key recipPubKey.</t>
          </li>
        </ol>
        <artwork><![CDATA[
          (SS', CT) = kemEncaps(recipPubKey)
]]></artwork>
        <ol spacing="normal" type="1"><li>
            <t>Derive a final shared secret SS of length SSLen bytes from
the initial shared secret SS' using the underlying key derivation
function:</t>
          </li>
        </ol>
        <artwork><![CDATA[
          SS = KDF(SS', SSLen)
]]></artwork>
        <t>TBD: Discuss use of JOSE/COSE context specific data.</t>
        <t>In Direct Key Agreement mode, the output of the KDF <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 KDF <bcp14>MUST</bcp14> be a key of the length needed for the specified key wrap algorithm.</t>
        <t>When Direct Key Agreement is employed, SS is the CEK. When Key Agreement with Key Wrapping is employed, SS is used to wrap the CEK.</t>
      </section>
      <section anchor="decrypt">
        <name>PQ-KEM Decapsulation</name>
        <t>The decapsulation process is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Decapsulate the ciphertext CT using the KEM decapsulation
function and the recipient's private key to retrieve the initial shared
secret SS':</t>
          </li>
        </ol>
        <artwork><![CDATA[
          SS' = kemDecaps(recipPrivKey, CT)
]]></artwork>
        <artwork><![CDATA[
If the decapsulation operation outputs an error, output "decryption error", and stop.
]]></artwork>
        <ol spacing="normal" type="1"><li>
            <t>Derive the final shared secret SS of length SSLen bytes from
the inital secret SS' using the underlying key derivation
function:</t>
          </li>
        </ol>
        <artwork><![CDATA[
          SS = KDF(SS', SSLen)
]]></artwork>
      </section>
    </section>
    <section anchor="post-quantum-kem-in-jose">
      <name>Post-quantum KEM in JOSE</name>
      <t>As explained in <xref target="rational"/> JWA defines two ways to use public key cryptography with JWE:</t>
      <ul spacing="normal">
        <li>
          <t>Direct Key Agreement</t>
        </li>
        <li>
          <t>Key Agreement with Key Wrapping</t>
        </li>
      </ul>
      <t>This specification describes these two modes of use for PQ-KEM in JWE. Unless otherwise stated, no changes to the procedures described in <xref target="RFC7516"/> have been made.</t>
      <t>If the 'alg' header parameter is set to the 'PQ-Direct' value, a PQ-KEM is used in Direct Key Agreement mode; otherwise, if the PQ-KEM is used in Key Agreement with Key Wrapping mode. See <xref target="IANA"/> for the IANA registration of this new algorithm value.</t>
      <section anchor="direct-key-agreement">
        <name>Direct Key Agreement</name>
        <ul spacing="normal">
          <li>
            <t>The "alg" header parameter <bcp14>MUST</bcp14> be set to "PQ-Direct". The "enc" (Encryption Algorithm) header parameter <bcp14>MUST</bcp14> be a PQ-KEM algorithm chosen from the JSON Web Signature and Encryption Algorithms registry defined in <xref target="JOSE-IANA"/>. Both header parameters, "alg" and "enc", <bcp14>MUST</bcp14> be placed in the JWE Protected Header.</t>
          </li>
          <li>
            <t>The CEK will be generated using the process explained in <xref target="encrypt"/>. Subsequently, the plaintext will be encrypted using the CEK, as detailed in Step 15 of Section 5.1 of <xref target="RFC7516"/>.</t>
          </li>
          <li>
            <t>The JWE Ciphertext <bcp14>MUST</bcp14> include the concatenation of the output ('ct') from the PQ-KEM algorithm, encoded using base64url, along with the base64url-encoded ciphertext output obtained by encrypting the plaintext using the CEK. This encryption process corresponds to step 15 of <xref target="RFC7518"/>.</t>
          </li>
          <li>
            <t>The recipient <bcp14>MUST</bcp14> separate the 'ct' (output from the PQ-KEM algorithm) from the JWE Ciphertext to decode it and then use it to derive the CEK using the process defined in <xref target="decrypt"/>. The ciphertext sizes of ML-KEMs are discussed in Section 12 of <xref target="I-D.ietf-pquip-pqc-engineers"/>.</t>
          </li>
          <li>
            <t>The JWE Encrypted Key <bcp14>MUST</bcp14> be absent.</t>
          </li>
        </ul>
      </section>
      <section anchor="key-agreement-with-key-wrapping">
        <name>Key Agreement with Key Wrapping</name>
        <ul spacing="normal">
          <li>
            <t>The derived key is generated using the process explained in <xref target="encrypt"/> and used to encrypt the CEK.</t>
          </li>
          <li>
            <t>The JWE Encrypted Key <bcp14>MUST</bcp14> include the concatenation of the output ('ct') from the PQ-KEM algorithm, encoded using base64url, along with the base64url-encoded encrypted CEK.</t>
          </li>
          <li>
            <t>The 'enc' (Encryption Algorithm) header parameter <bcp14>MUST</bcp14> specify a content encryption algorithm from the JSON Web Signature and Encryption Algorithms registry, as defined in <xref target="JOSE-IANA"/>.</t>
          </li>
          <li>
            <t>The recipient <bcp14>MUST</bcp14> separate the 'ct' (output from the PQ KEM Encaps algorithm) from the JWE Encrypted Key to decode it. Subsequently, it is used to derive the key, through the process defined in <xref target="decrypt"/>. The derived key will then be used to decrypt the CEK.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="post-quantum-kem-in-cose">
      <name>Post-Quantum KEM in COSE</name>
      <t>This specification supports two uses of PQ-KEM in COSE, namely</t>
      <ul spacing="normal">
        <li>
          <t>PQ-KEM in a single recipient setup.  This use case utilizes a one
layer COSE structure.</t>
        </li>
        <li>
          <t>PQ-KEM in a multiple recipient setup.  This use case requires a two
layer COSE structure.</t>
        </li>
      </ul>
      <section anchor="single-recipient-one-layer-structure">
        <name>Single Recipient / One Layer Structure</name>
        <t>With the one layer structure the information carried inside the 
COSE_recipient structure is embedded inside the COSE_Encrypt0.</t>
        <t>The CEK will be generated using the process explained in <xref target="encrypt"/>. 
Subsequently, the plaintext will be encrypted using the CEK. The resulting 
ciphertext is either included in the COSE_Encrypt0 or is detached. If a payload is
transported separately then it is called "detached content". A nil CBOR
object is placed in the location of the ciphertext. See Section 5
of <xref target="RFC9052"/> for a description of detached payloads.</t>
        <t>The sender <bcp14>MUST</bcp14> set the alg parameter in the protected header, which
indicates the use of PQ-KEM.</t>
        <t>Although the use of the 'kid' parameter in COSE_Encrypt0 is
discouraged by <xref target="RFC9052"/>, this documents RECOMMENDS the use of the 'kid' parameter
(or other parameters) to explicitly identify the recipient public key
used by the sender. If the COSE_Encrypt0 contains the 'kid' then the recipient may
use it to select the appropriate private key.</t>
      </section>
      <section anchor="key-agreement-with-key-wrapping-1">
        <name>Key Agreement with Key Wrapping</name>
        <t>With the two layer structure the PQ-KEM information is conveyed in the COSE_recipient 
structure, i.e. one COSE_recipient structure per recipient.</t>
        <t>In this approach the following layers are involved:</t>
        <ul spacing="normal">
          <li>
            <t>Layer 0 (corresponding to the COSE_Encrypt structure) contains the content (plaintext)
encrypted with the CEK. This ciphertext may be detached, and if not detached, then
it is included in the COSE_Encrypt structure.</t>
          </li>
          <li>
            <t>Layer 1 (corresponding to a recipient structure) contains parameters needed for 
PQ-KEM to generate a shared secret used to encrypt the CEK. This layer conveys the 
concatenation of the output ('ct') from the PQ KEM Encaps algorithm and encrypted CEK 
in the encCEK structure. The unprotected header <bcp14>MAY</bcp14> contain the kid parameter to 
identify the static recipient public key the sender has been using with PQ-KEM.</t>
          </li>
        </ul>
        <t>This two-layer structure is used to encrypt content that can also be shared with
multiple parties at the expense of a single additional encryption operation.
As stated above, the specification uses a CEK to encrypt the content at layer 0.</t>
      </section>
    </section>
    <section anchor="JOSE-PQ-KEM">
      <name>JOSE Ciphersuite Registration</name>
      <t>This specification registers a number of PQ-KEM ciphersuites for use with JOSE. A ciphersuite is a group of algorithms, often sharing component algorithms such as hash functions, targeting a security level.</t>
      <t>An PQ-KEM ciphersuite, is composed of the following choices:</t>
      <ul spacing="normal">
        <li>
          <t>PQ-KEM Algorithm</t>
        </li>
        <li>
          <t>KDF Algorithm</t>
        </li>
        <li>
          <t>AEAD Algorithm</t>
        </li>
      </ul>
      <t>All security levels of ML-KEM internally utilize SHA3-256, SHA3-512, SHAKE256, and SHAKE512. This internal usage influences the selection of the Key Derivation Function (KDF) within this document.</t>
      <t>ML-KEM-512 <bcp14>MUST</bcp14> be used with a KDF capable of outputting a key with at least 128 bits of security and with a key wrapping algorithm with a key length of at least 128 bits.</t>
      <t>ML-KEM-768 <bcp14>MUST</bcp14> be used with a KDF capable of outputting a key with at least 192 bits of security and with a key wrapping algorithm with a key length of at least 192 bits.</t>
      <t>ML-KEM-1024 <bcp14>MUST</bcp14> be used with a KDF capable of outputting a key with at least 256 bits of security and with a key wrapping algorithm with a key length of at least 256 bits.</t>
      <t>For readability the algorithm ciphersuites labels are built according to the following scheme:</t>
      <artwork><![CDATA[
PQ-<PQ-KEM>-<KDF>-<AEAD>
]]></artwork>
      <ul spacing="normal">
        <li>
          <t>In Direct key agreement, the parameter "enc" <bcp14>MUST</bcp14> be specified, and its value <bcp14>MUST</bcp14> be one of the values specified in <xref target="direct-table"/>. (Note that future specifications <bcp14>MAY</bcp14> extend the list of algorithms.)</t>
        </li>
      </ul>
      <figure anchor="direct-table">
        <name>Direct Key Agreement: Algorithms.</name>
        <artwork><![CDATA[
 +===============================+===================================+
 | alg                           | Description                       |
 +===============================+===================================+
 | PQ-MLKEM512-SHA3-256-AES128   | ML-KEM-512 + SHA3-256 + AES128    |
 +===============================+===================================+
 | PQ-MLKEM768-SHA3-384-AES256   | ML-KEM-768 + SHA3-384 + AES256    |
 +===============================+===================================+
 | PQ-MLKEM1024-SHA3-512-AES256  | ML-KEM-1024 + SHA3-512 + AES256   |
 +===============================+===================================+
]]></artwork>
      </figure>
      <ul spacing="normal">
        <li>
          <t>In Key Agreement with Key Wrapping, the parameter "alg" <bcp14>MUST</bcp14> be specified, and its value <bcp14>MUST</bcp14> be one of the values specified in the table above.</t>
        </li>
      </ul>
      <t>The specification allows a small number of "known good" PQ-KEM ciphersuites instead of allowing arbitrary combinations of PQC algorithms, HKDF and AEAD 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>
    <section anchor="COSE-PQ-KEM">
      <name>COSE Ciphersuite Registration</name>
      <t><xref target="mapping-table"/> maps the JOSE algorithm names to the COSE algorithm values (for the PQ-KEM ciphersuites defined by this document).</t>
      <figure anchor="mapping-table">
        <name>Mapping between JOSE and COSE PQ-KEM Ciphersuites.</name>
        <artwork><![CDATA[
+===============================+=========+=================================+=============+
| JOSE                          | COSE ID | Description                     | Recommended |
+===============================+=========+======================---========+=============+
| PQ-MLKEM512-SHA3-256-AES128   | TBD1    | ML-KEM-512 + SHA3-256 + AES128  | No          |
+-------------------------------+---------+---------------------------------+-------------+
| PQ-MLKEM768-SHA3-384-AES256   | TBD2    | ML-KEM-768 + SHA3-384 + AES256  | No          |
+-------------------------------+---------+---------------------------------+-------------+
| PQ-MLKEM768-SHA3-512-AES256   | TBD3    | ML-KEM-1024 + SHA3-512 + AES256 | No          |
+-------------------------------+---------+---------------------------------+-------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <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. ML-KEM has such security properties.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="jose">
        <name>JOSE</name>
        <t>The following entries are added to the "JSON Web Signature and Encryption Algorithms" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Algorithm Name: PQ-Direct</t>
          </li>
          <li>
            <t>Algorithm Description: Post Quantum Direct Key Agreement.</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): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: PQ-MLKEM512-SHA3-256-AES128</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for PQ-KEM that uses ML-KEM-512 PQ-KEM, the SHA3-256 KDF and the AES-128-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg, enc"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: PQ-MLKEM768-SHA3-384-AES256</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for PQ-KEM that uses ML-KEM-768 PQ-KEM, the SHA3-384 KDF and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg, enc"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: PQ-MLKEM1024-SHA3-512-AES256</t>
          </li>
          <li>
            <t>Algorithm Description: Cipher suite for PQ-KEM that uses ML-KEM-1024 PQ-KEM, the SHA3-512 KDF and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg, enc"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IESG</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
        </ul>
      </section>
      <section anchor="cose">
        <name>COSE</name>
        <t>The following has to be added to the "COSE Algorithms" registry:</t>
        <ul spacing="normal">
          <li>
            <t>Name: PQ-MLKEM512-SHA3-256-AES128</t>
          </li>
          <li>
            <t>Value: TBD1</t>
          </li>
          <li>
            <t>Description: Cipher suite for PQ-KEM that uses ML-KEM-512 PQ-KEM, the SHA3-256 KDF and the AES-128-GCM AEAD.</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: PQ-MLKEM768-SHA3-384-AES256</t>
          </li>
          <li>
            <t>Value: TBD2</t>
          </li>
          <li>
            <t>Description: Cipher suite for PQ-KEM that uses ML-KEM-768 PQ-KEM, the SHA3-384 KDF and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: PQ-MLKEM1024-SHA3-512-AES256</t>
          </li>
          <li>
            <t>Value: TBD3</t>
          </li>
          <li>
            <t>Description: Cipher suite for PQ-KEM that uses ML-KEM-1024 PQ-KEM, the SHA3-512 KDF and the AES-256-GCM AEAD.</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Add your name here.</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>
        <reference anchor="RFC7516">
          <front>
            <title>JSON Web Encryption (JWE)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7516"/>
          <seriesInfo name="DOI" value="10.17487/RFC7516"/>
        </reference>
        <reference anchor="JOSE-IANA" target="https://www.iana.org/assignments/jose/jose.xhtml">
          <front>
            <title>JSON Web Signature and Encryption Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="FIPS203-ipd" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf">
          <front>
            <title>Module-Lattice-based Key-Encapsulation Mechanism Standard</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="2" month="February" year="2024"/>
            <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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqt-hybrid-terminology-02"/>
        </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="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.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="I-D.ietf-rha-jose-hpke-encrypt">
          <front>
            <title>*** BROKEN REFERENCE ***</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-cose-hpke">
          <front>
            <title>Use of Hybrid Public-Key Encryption (HPKE) with CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
         </author>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="22" month="October" year="2023"/>
            <abstract>
              <t>   This specification defines hybrid public-key encryption (HPKE) for
   use with CBOR Object Signing and Encryption (COSE).  HPKE offers a
   variant of public-key encryption of arbitrary-sized plaintexts for a
   recipient public key.

   HPKE works for any combination of an asymmetric key encapsulation
   mechanism (KEM), key derivation function (KDF), and authenticated
   encryption with additional data (AEAD) function.  Authentication for
   HPKE in COSE is provided by COSE-native security mechanisms or by one
   of the authenticated variants of HPKE.

   This document defines the use of the HPKE with COSE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-07"/>
        </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="2" month="January" year="2024"/>
            <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-04"/>
        </reference>
        <reference anchor="I-D.ietf-pquip-pqc-engineers">
          <front>
            <title>Post-Quantum Cryptography for Engineers</title>
            <author fullname="Aritra Banerjee" initials="A." surname="Banerjee">
              <organization>Nokia</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Dimitrios Schoinianakis" initials="D." surname="Schoinianakis">
              <organization>Nokia</organization>
            </author>
            <author fullname="Tim Hollebeek" initials="T." surname="Hollebeek">
              <organization>DigiCert</organization>
            </author>
            <date day="22" month="February" year="2024"/>
            <abstract>
              <t>   The presence of a Cryptographically Relevant Quantum Computer (CRQC)
   would render state-of-the-art, traditional public-key algorithms
   deployed today obsolete, since the assumptions about the
   intractability of the mathematical problems for these algorithms that
   offer confident levels of security today no longer apply in the
   presence of a CRQC.  This means there is a requirement to update
   protocols and infrastructure to use post-quantum algorithms, which
   are public-key algorithms designed to be secure against CRQCs as well
   as classical computers.  These new public-key algorithms behave
   similarly to previous public key algorithms, however the intractable
   mathematical problems have been carefully chosen so they are hard for
   CRQCs as well as classical computers.  This document explains why
   engineers need to be aware of and understand post-quantum
   cryptography.  It emphasizes the potential impact of CRQCs on current
   cryptographic systems and the need to transition to post-quantum
   algorithms to ensure long-term security.  The most important thing to
   understand is that this transition is not like previous transitions
   from DES to AES or from SHA-1 to SHA-2.  While drop-in replacement
   may be possible in some cases, others will require protocol re-design
   to accommodate significant differences in behavior between the new
   post-quantum algorithms and the classical algorithms that they are
   replacing.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqc-engineers-03"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
OKgzP4r0P3oDE+AwWAAA

-->

</rfc>
