<?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.29 (Ruby 3.2.3) -->
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-jose-pqc-kem-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-ietf-jose-pqc-kem-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>
    <author fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2025" month="May" day="06"/>
    <area>Security</area>
    <workgroup>JOSE</workgroup>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>JOSE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 102?>

<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-ietf-jose-pqc/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        jose Working Group mailing list (<eref target="mailto:jose@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/jose/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 106?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Quantum computing is no longer perceived as a consequence 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"/>. 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="KEMs">
        <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 recipients, the key wrap approach is used since the content can be encrypted once with the CEK, while each recipient receives an individually encrypted CEK. 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 <xref target="RFC9180"/> is a KEM that can be extended to support hybrid post-quantum KEMs and the specification for the use of PQ/T Hybrid Key Encapsulation Mechanism (KEM) in Hybrid Public-Key Encryption (HPKE) for integration with JOSE and COSE is described in <xref target="I-D.reddy-cose-jose-pqc-hybrid-hpke"/>.</t>
    </section>
    <section anchor="kem-pqc-algorithms">
      <name>KEM PQC Algorithms</name>
      <t>At time of writing, NIST have standardized three PQC algorithms, with more expected to be standardised in the future (<xref target="NISTFINAL"/>). These algorithms are not necessarily drop-in replacements for traditional asymmetric cryptographic algorithms. For instance, RSA <xref target="RSA"/> and ECC <xref target="RFC6090"/> can be used as both a key encapsulation method (KEM) and as a signature scheme, whereas there is currently no post-quantum algorithm that can perform both functions.</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="FIPS204"/>. 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>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="kdf">
      <name>KDF</name>
      <section anchor="key-derivation-for-jose">
        <name>Key Derivation for JOSE</name>
        <t>The key derivation for JOSE is performed using the KMAC defined in NIST SP 800-108r1-upd1 <xref target="SP-800-108r1"/>. The KMAC(K, X, L, S) parameters are instantiated as follows:</t>
        <ul spacing="normal">
          <li>
            <t>K: the input key-derivation key. In this document this is the initial shared secret (SS') outputted from the 
kemEncaps() or kemDecaps() functions.</t>
          </li>
          <li>
            <t>X: The context defaults to the empty string; mutually known private information <bcp14>MAY</bcp14> be used instead. The concept of mutually known private information is defined in <xref target="NIST.SP.800-56Ar3"/> as an input to the key derivation function.</t>
          </li>
          <li>
            <t>L: length of the output key in bits and it would be set to match the length of the key required for the AEAD operation.</t>
          </li>
          <li>
            <t>S: the optional customization label. In this document this parameter is unused, that is it is the zero-length string "".</t>
          </li>
        </ul>
        <t>For all security levels of ML-KEM, KMAC256 is used.</t>
      </section>
      <section anchor="key-derivation-for-cose">
        <name>Key Derivation for COSE</name>
        <t>The key derivation for COSE is performed using the KMAC defined in NIST SP 800-108r1-upd1 <xref target="SP-800-108r1"/>. The KMAC(K, X, L, S) parameters are instantiated as follows:</t>
        <ul spacing="normal">
          <li>
            <t>K: the input key-derivation key. In this document this is the initial shared secret (SS') outputted from the 
kemEncaps() or kemDecaps() functions.</t>
          </li>
          <li>
            <t>X: The context defaults to the empty string; mutually known private information <bcp14>MAY</bcp14> be used instead.</t>
          </li>
          <li>
            <t>L: length of the output key in bits and it would be set to match the length of the key required for the AEAD operation.</t>
          </li>
          <li>
            <t>S: the optional customization label. In this document this parameter is unused, that is it is the zero-length string "".</t>
          </li>
        </ul>
        <t>For all security levels of ML-KEM, KMAC256 is used.</t>
      </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>
      <section anchor="direct-key-agreement">
        <name>Direct Key Agreement</name>
        <ul spacing="normal">
          <li>
            <t>The "alg" 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"/>.</t>
          </li>
          <li>
            <t>The CEK will be generated using the process explained in <xref target="encrypt"/>. The output of the <xref target="encrypt"/> <bcp14>MUST</bcp14> be a secret key of the same length as that used by the "enc" algorithm.</t>
          </li>
          <li>
            <t>The usage for the "alg" and "enc" header parameters remain the same as in JWE <xref target="RFC7516"/>. 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 parameter "ek" <bcp14>MUST</bcp14> include the output ('ct') from the PQ-KEM algorithm, encoded using base64url.</t>
          </li>
          <li>
            <t>The recipient <bcp14>MUST</bcp14> base64url decode the ciphertext from the JWE Encrypted Key and then use it to derive the CEK using the process defined in <xref target="decrypt"/>.</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 parameter "ek" <bcp14>MUST</bcp14> include the output ('ct') from the PQ-KEM algorithm, encoded using base64url.</t>
          </li>
          <li>
            <t>The JWE Encrypted Key <bcp14>MUST</bcp14> include 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> base64url decode the ciphertext from "ek". 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 Direct Key Agreement mode.</t>
        </li>
        <li>
          <t>PQ-KEM in a Key Agreement with Key Wrap mode.</t>
        </li>
      </ul>
      <t>In both modes, the COSE header parameter 'ek' defined in Section 7.2 of <xref target="I-D.ietf-cose-hpke"/>, 
is used to convey the output ('ct') from the PQ KEM Encaps algorithm.</t>
      <section anchor="direct-key-agreement-1">
        <name>Direct Key Agreement</name>
        <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_Encrypt 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 COSE_Recipient structure for the recipient is organized as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The sender <bcp14>MUST</bcp14> set the 'alg' parameter to indicate the use of the PQ-KEM algorithm.</t>
          </li>
          <li>
            <t>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_Encrypt contains the 'kid' then the recipient may
use it to select the appropriate private key.</t>
          </li>
        </ul>
      </section>
      <section anchor="key-agreement-with-key-wrap">
        <name>Key Agreement with Key Wrap</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<br/>
the encrypted CEK in the "ciphertext" field (Section 5.1 of <xref target="RFC9052"/>). 
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 algorithms for use with JOSE.</t>
      <t>All security levels of ML-KEM internally utilize SHA3-256, SHA3-512, SHAKE128, and SHAKE256. This internal usage influences the selection of the KDF as described in 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>
      <ul spacing="normal">
        <li>
          <t>In Direct key agreement, the parameter "alg" <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                       |
 +===============================+===================================+
 | MLKEM512                      | ML-KEM-512                        |
 +===============================+===================================+
 | MLKEM768                      | ML-KEM-768                        |
 +===============================+===================================+
 | MLKEM1024                     | ML-KEM-1024                       |
 +===============================+===================================+
]]></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 <xref target="keywrap-table"/>.</t>
        </li>
      </ul>
      <figure anchor="keywrap-table">
        <name>Key Agreement with Key Wrapping: Algorithms.</name>
        <artwork><![CDATA[
 +=================================+===================================+
 | alg                             | Description                       |
 +=================================+===================================+
 | MLKEM512-AES128KW               | ML-KEM-512 + AES128KW             |
 +=================================+===================================+
 | MLKEM768-AES192KW               | ML-KEM-768 + AES192KW             |
 +=================================+===================================+
 | MLKEM1024-AES256KW              | ML-KEM-1024 + AES256KW            |
 +=================================+===================================+
]]></artwork>
      </figure>
    </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 |
+===============================+=========+===================================+=============+
| MLKEM512                      | TBD1    | ML-KEM-512                        | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM768                      | TBD2    | ML-KEM-768                        | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM1024                     | TBD3    | ML-KEM-1024                       | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM512+AES128KW             | TBD4    | ML-KEM-512  + AES128KW            | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM768+AES192KW             | TBD5    | ML-KEM-768  + AES192KW            | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM1024+AES256KW            | TBD6    | ML-KEM-1024  + AES256KW           | 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: MLKEM512</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-512 PQ-KEM.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</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: MLKEM768</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-768 PQ-KEM.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</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: MLKEM1024</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-1024 PQ-KEM.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</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: MLKEM512+A128KW</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-512 PQ-KEM 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: IANA</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: MLKEM768+A192KW</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-768 and CEK wrapped with "A192KW".</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</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: MLKEM1024+A256KW</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-1024 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: IANA</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: MLKEM512</t>
          </li>
          <li>
            <t>Value: TBD1</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-512 PQ-KEM.</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM768</t>
          </li>
          <li>
            <t>Value: TBD2</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-768 PQ-KEM.</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM1024</t>
          </li>
          <li>
            <t>Value: TBD3</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-1024 PQ-KEM.</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM512+A128KW</t>
          </li>
          <li>
            <t>Value: TBD4</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-512 PQ-KEM and CEK wrapped with "A128KW".</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM768+192KW</t>
          </li>
          <li>
            <t>Value: TBD5</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-768 and CEK wrapped with "A192KW".</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM1024+A256KW</t>
          </li>
          <li>
            <t>Value: TBD6</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-1024 and CEK wrapped with "A256KW".</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</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>Thanks to Ilari Liusvaara, Neil Madden and AJITOMI Daisuke for the discussion and comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-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="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </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="FIPS204" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf">
          <front>
            <title>FIPS 203 (Initial Public Draft): Module-Lattice-based Key-Encapsulation Mechanism Standard</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="FIPS203" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf">
          <front>
            <title>FIPS-203: Module-Lattice-based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="SP-800-108r1" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-108r1-upd1.pdf">
          <front>
            <title>Recommendation for Key Derivation Using Pseudorandom Functions</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="NISTFINAL" target="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards">
          <front>
            <title>NIST Releases First 3 Finalized Post-Quantum Encryption Standards</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RSA" target="https://dl.acm.org/doi/pdf/10.1145/359340.359342">
          <front>
            <title>A Method for Obtaining Digital Signatures and Public-Key Cryptosystems+</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="NIST.SP.800-56Ar3" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography, NIST Special Publication 800-56A Revision 3</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-pquip-pqt-hybrid-terminology">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="Flo D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Michael P" initials="M." surname="P">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Britta Hale" initials="B." surname="Hale">
              <organization>Naval Postgraduate School</organization>
            </author>
            <date day="10" month="January" year="2025"/>
            <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-06"/>
        </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 and Meta</organization>
            </author>
            <date day="14" month="January" year="2025"/>
            <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-12"/>
        </reference>
        <reference anchor="RFC9180">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
            <author fullname="B. Lipp" initials="B." surname="Lipp"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9180"/>
          <seriesInfo name="DOI" value="10.17487/RFC9180"/>
        </reference>
        <reference anchor="I-D.reddy-cose-jose-pqc-hybrid-hpke">
          <front>
            <title>PQ/T Hybrid KEM: HPKE with JOSE/COSE</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <date day="16" month="February" year="2025"/>
            <abstract>
              <t>   This document outlines the construction of a PQ/T Hybrid Key
   Encapsulation Mechanism (KEM) in Hybrid Public-Key Encryption (HPKE)
   for integration with JOSE and COSE.  It specifies the utilization of
   both traditional and Post-Quantum Cryptography (PQC) algorithms,
   referred to as PQ/T Hybrid KEM, within the context of JOSE and COSE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-reddy-cose-jose-pqc-hybrid-hpke-07"/>
        </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>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <date day="6" month="May" year="2025"/>
            <abstract>
              <t>   The advent of a cryptographically relevant quantum computer (CRQC)
   would render state-of-the-art, traditional public-key algorithms
   deployed today obsolete, as the mathematical assumptions underpinning
   their security would no longer hold.  To address this, protocols and
   infrastructure must transition to post-quantum algorithms, which are
   designed to resist both traditional and quantum attacks.  This
   document explains why engineers need to be aware of and understand
   post-quantum cryptography (PQC), detailing the impact of CRQCs on
   existing systems and the challenges involved in transitioning to
   post-quantum algorithms.  Unlike previous cryptographic updates, this
   shift may require significant protocol redesign due to the unique
   properties of post-quantum algorithms.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqc-engineers-11"/>
        </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">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Transmute</organization>
            </author>
            <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
              <organization>bibital</organization>
            </author>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="2" month="March" year="2025"/>
            <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-11"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
