<?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.43 (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-cose-pqc-kem-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="PQ KEM for COSE">Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) for COSE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cose-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>London</city>
          <country>United Kingdom</country>
        </postal>
        <email>aritra.banerjee@nokia.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="UniBw M.">University of the Bundeswehr Munich</organization>
      <address>
        <postal>
          <city>Neubiberg</city>
          <region>Bavaria</region>
          <code>85577</code>
          <country>Germany</country>
        </postal>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2026" month="October" day="29"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 107?>

<t>This document describes conventions for using Post-Quantum Key Encapsulation
Mechanisms (PQ-KEMs) with CBOR Object Signing and Encryption (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-cose-pqc-kem/"/>.
      </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>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cose-wg/draft-ietf-cose-pqc-kem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 112?>

<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>The National Institute of Standards and Technology (NIST) has standardized
ML-KEM as a post-quantum key encapsulation mechanism in <xref target="FIPS203"/>. This
document specifies how ML-KEM is used to protect the confidentiality of content
encrypted with COSE against adversaries with access to quantum computers.</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 repeatedly 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
factorization, finite-field discrete logarithms, or elliptic-curve discrete
logarithms. 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>This document uses the COSE header parameter <tt>ek</tt> to carry the KEM ciphertext
<tt>ct</tt> produced by ML-KEM encapsulation. This differs from the terminology used
in FIPS 203 and <xref target="RFC9936"/>, where <tt>ek</tt> denotes the public ML-KEM
encapsulation key. In this document, the public ML-KEM encapsulation key is
represented as the public component of an AKP key, while the COSE header
parameter <tt>ek</tt> carries the encapsulated key, namely the KEM ciphertext <tt>ct</tt>.</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>Sections 8.5.4 and 8.5.5 of COSE <xref target="RFC9052"/> define Direct Key Agreement and
Key Agreement with Key Wrap, respectively. This document specifies the use of
PQ-KEMs in these two modes. In Direct Key Agreement mode, the derived shared
secret is used as the content encryption key (CEK). In Key Agreement with Key
Wrap mode, the derived shared secret is used as a key-encryption key to wrap
the CEK.</t>
      <t>Key Agreement with Key Wrap supports efficient encryption for multiple
recipients: the content is encrypted once with the CEK, and an individually
wrapped CEK is provided for each recipient.</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>During the transition from traditional to post-quantum algorithms, protocols
may need to combine both types of algorithms. The use of hybrid post-quantum
KEMs with HPKE and COSE is outside the scope of this document.</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="FIPS203"/>. 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> have the key length
required by the content encryption algorithm used by the COSE_Encrypt
structure. In Key Agreement with Key Wrap mode, the output of the KDF <bcp14>MUST</bcp14> have
the key length required by the key wrap algorithm selected by the recipient
algorithm. For the algorithms defined in this specification, the KDF output
length is 128 bits for ML-KEM-512+A128KW, 192 bits for
ML-KEM-768+A192KW, and 256 bits for ML-KEM-1024+A256KW.</t>
        <t>When Direct Key Agreement is employed, SS is the CEK. When Key Agreement with Key Wrapping is employed, SS is the key-encryption key used with AES Key Wrap to wrap the CEK; SS is not 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">
        <name>Key Derivation</name>
        <t>The key derivation for COSE is performed using KMAC as 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 structure defined in Section 5.2 of <xref target="RFC9053"/>, excluding
the PartyUInfo and PartyVInfo fields. PartyUInfo is omitted because sender
authentication is not available in PQ-KEMs. PartyVInfo is omitted because
the recipient's identity is bound to the public key used for
encapsulation. If mutually known private information is included, the
sender and recipient <bcp14>MUST</bcp14> agree out of band to include it as SuppPrivInfo,
as defined in <xref target="NIST.SP.800-56Ar3"/>.</t>
          </li>
          <li>
            <t>L: length of the output key in bits. In Direct Key Agreement mode, L is set to the key length required by the content encryption algorithm. In Key Agreement with Key Wrapping mode, L is set to the key length required by the key wrap algorithm; for ML-KEM-512+A128KW, ML-KEM-768+A192KW, and ML-KEM-1024+A256KW this is 128, 192, and 256 bits, respectively.</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-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 <tt>ek</tt>, defined in Section 7.2 of
<xref target="I-D.ietf-cose-hpke"/>, is used to convey the ciphertext <tt>ct</tt> output by the
PQ-KEM encapsulation algorithm.</t>
      <section anchor="direct-key-agreement">
        <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 document 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
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="COSE-PQ-KEM">
      <name>COSE Ciphersuite Registration</name>
      <t>All security levels of ML-KEM internally use SHA3-256, SHA3-512, SHAKE128,
and SHAKE256. This internal usage influences the selection of the KDF described
in this document.</t>
      <t>ML-KEM-512 <bcp14>MUST</bcp14> be used with a KDF capable of producing a key with at least
128 bits of security and, in Key Agreement with Key Wrap mode, with a key wrap
algorithm having a key length of at least 128 bits.</t>
      <t>ML-KEM-768 <bcp14>MUST</bcp14> be used with a KDF capable of producing a key with at least
192 bits of security and, in Key Agreement with Key Wrap mode, with a key wrap
algorithm having a key length of at least 192 bits.</t>
      <t>ML-KEM-1024 <bcp14>MUST</bcp14> be used with a KDF capable of producing a key with at least
256 bits of security and, in Key Agreement with Key Wrap mode, with a key wrap
algorithm having a key length of at least 256 bits.</t>
      <t><xref target="ciphersuite-table"/> lists the COSE algorithm values for the PQ-KEM
ciphersuites defined by this document.</t>
      <figure anchor="ciphersuite-table">
        <name>COSE PQ-KEM Ciphersuites.</name>
        <artwork><![CDATA[
+===============================+=========+===================================+=============+
| Name                          | COSE ID | Description                       | Recommended |
+===============================+=========+===================================+=============+
| ML-KEM-512                    | TBD1    | ML-KEM-512                        | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| ML-KEM-768                    | TBD2    | ML-KEM-768                        | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| ML-KEM-1024                   | TBD3    | ML-KEM-1024                       | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| ML-KEM-512+A128KW             | TBD4    | ML-KEM-512 + AES128KW             | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| ML-KEM-768+A192KW             | TBD5    | ML-KEM-768 + AES192KW             | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| ML-KEM-1024+A256KW            | TBD6    | ML-KEM-1024 + AES256KW            | No          |
+-------------------------------+---------+-----------------------------------+-------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="use-of-akp-key-type-for-pqc-kem-keys-in-cose">
      <name>Use of AKP Key Type for PQC KEM Keys in COSE</name>
      <t>The "AKP" (Algorithm Key Pair) key type, defined in
<xref target="I-D.ietf-cose-dilithium"/>, is used to represent PQC KEM keys in COSE. A
COSE_Key with "kty" set to "AKP" represents a PQC KEM key pair. The public key
is carried in the "pub" parameter. If included, the private key is carried in
the "priv" parameter. Both parameters are byte strings containing the raw
algorithm-specific key material.</t>
      <t>The "AKP" key type mandates the use of the "alg" parameter. While this requirement is suitable for PQ digital signature algorithms, applying the same model to PQ KEMs would require distinguishing between keys used
for Direct Key Agreement and those used for Key Agreement with Key Wrap.</t>
      <t>Note: This differs from the "OKP" usage model and requires further discussion within the WG.</t>
      <t>For ML-KEM algorithms, as specified in <xref target="FIPS203"/>, there are two possible
representations of a private key: a seed and a fully expanded private key
derived from the seed. This document specifies only the seed form. The "priv"
parameter <bcp14>MUST</bcp14> contain the 64-octet ML-KEM seed <tt>d || z</tt>, where <tt>d</tt> is the
first 32 octets and <tt>z</tt> is the last 32 octets. The ML-KEM public key and
expanded private key are derived from this seed using
<tt>ML-KEM.KeyGen_internal(d, z)</tt>, as specified in <xref target="FIPS203"/>. This document does
not define a 32-octet private seed representation and does not support carrying
the expanded private key in "priv". This avoids implicit,
implementation-specific key expansion.</t>
    </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>
      <t>ML-KEM key generation and encapsulation both rely on high-quality random input.
For key generation, the 64-octet seed <tt>d || z</tt> contains 32 octets used to
deterministically derive the key pair and 32 octets used as a rejection value.
For encapsulation, ML-KEM uses fresh random input to produce the ciphertext and
shared secret. Implementations <bcp14>MUST</bcp14> use a cryptographically secure random number
generator for these values. Weak or repeated random input can make it
substantially easier for an attacker to reproduce keys or ciphertexts and can
undermine the security properties expected from ML-KEM.</t>
      <t>ML-KEM encapsulation and decapsulation output only the shared secret and
ciphertext values described by this specification. Implementations <bcp14>MUST NOT</bcp14> use
intermediate ML-KEM values directly as COSE keying material, KDF input,
authentication input, or application data. Implementations <bcp14>SHOULD</bcp14> avoid exposing
intermediate values through APIs, logs, errors, or side channels.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="cose-algorithms-registrations">
        <name>COSE Algorithms Registrations</name>
        <t>IANA is requested to add the following entries to the "COSE Algorithms"
registry <xref target="COSE-IANA"/>:</t>
        <ul spacing="normal">
          <li>
            <t>Name: ML-KEM-512</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: IESG</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: ML-KEM-768</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: IESG</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: ML-KEM-1024</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: IESG</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: ML-KEM-512+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: IESG</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: ML-KEM-768+A192KW</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: IESG</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: ML-KEM-1024+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: IESG</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
        </ul>
      </section>
      <section anchor="cose-elliptic-curves-registrations">
        <name>COSE Elliptic Curves Registrations</name>
        <t>IANA is requested to register the following values in the "COSE Elliptic Curves" registry <xref target="COSE-IANA-Curves"/>.</t>
        <section anchor="ml-kem-512">
          <name>ML-KEM-512</name>
          <table>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">ML-KEM-512</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Value</td>
                <td align="left">TBD1</td>
              </tr>
              <tr>
                <td align="left">Key Type</td>
                <td align="left">AKP</td>
              </tr>
              <tr>
                <td align="left">Description</td>
                <td align="left">NIST Post-Quantum ML-KEM-512</td>
              </tr>
              <tr>
                <td align="left">Change Controller</td>
                <td align="left">IETF</td>
              </tr>
              <tr>
                <td align="left">Reference</td>
                <td align="left">This document</td>
              </tr>
              <tr>
                <td align="left">Recommended</td>
                <td align="left">No</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="ml-kem-768">
          <name>ML-KEM-768</name>
          <table>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">ML-KEM-768</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Value</td>
                <td align="left">TBD2</td>
              </tr>
              <tr>
                <td align="left">Key Type</td>
                <td align="left">AKP</td>
              </tr>
              <tr>
                <td align="left">Description</td>
                <td align="left">NIST Post-Quantum ML-KEM-768</td>
              </tr>
              <tr>
                <td align="left">Change Controller</td>
                <td align="left">IETF</td>
              </tr>
              <tr>
                <td align="left">Reference</td>
                <td align="left">This document</td>
              </tr>
              <tr>
                <td align="left">Recommended</td>
                <td align="left">No</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="ml-kem-1024">
          <name>ML-KEM-1024</name>
          <table>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">ML-KEM-1024</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Value</td>
                <td align="left">TBD3</td>
              </tr>
              <tr>
                <td align="left">Key Type</td>
                <td align="left">AKP</td>
              </tr>
              <tr>
                <td align="left">Description</td>
                <td align="left">NIST Post-Quantum ML-KEM-1024</td>
              </tr>
              <tr>
                <td align="left">Change Controller</td>
                <td align="left">IETF</td>
              </tr>
              <tr>
                <td align="left">Reference</td>
                <td align="left">This document</td>
              </tr>
              <tr>
                <td align="left">Recommended</td>
                <td align="left">No</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank AJITOMI Daisuke, Brian Campbell, Daniel Huigens, Filip Skokan, Ilari Liusvaara, Neil Madden,
and Stepan Yakimovich for their contributions to this specification.</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="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="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="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="COSE-IANA" target="https://www.iana.org/assignments/cose">
          <front>
            <title>CBOR Object Signing and Encryption (COSE)</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="COSE-IANA-Curves" target="https://www.iana.org/assignments/cose">
          <front>
            <title>COSE Elliptic Curves</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" 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="RFC9936">
          <front>
            <title>Use of ML-KEM in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="J. Prat" initials="J." surname="Prat"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <author fullname="D. Van Geest" initials="D." surname="Van Geest"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>Module-Lattice-Based Key-Encapsulation Mechanism (ML-KEM) is a quantum-resistant Key Encapsulation Mechanism (KEM). Three parameter sets for the ML-KEM algorithm are specified by the US National Institute of Standards and Technology (NIST) in FIPS 203. In order of increasing security strength (and decreasing performance), these parameter sets are ML-KEM-512, ML-KEM-768, and ML-KEM-1024. This document specifies the conventions for using ML-KEM with the Cryptographic Message Syntax (CMS) using the KEMRecipientInfo structure defined in "Using Key Encapsulation Mechanism (KEM) Algorithms in the Cryptographic Message Syntax (CMS)" (RFC 9629).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9936"/>
          <seriesInfo name="DOI" value="10.17487/RFC9936"/>
        </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="7" month="September" 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 a way is found to defeat the encryption for all but
   one of the component algorithms.  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.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-16"/>
        </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="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="25" month="August" 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-14"/>
        </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 the Bundeswehr Munich</organization>
            </author>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
              <organization>bibital LLC</organization>
            </author>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="12" month="September" year="2026"/>
            <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 is a general encryption framework utilizing an asymmetric key
   encapsulation mechanism (KEM), a key derivation function (KDF), and
   an Authenticated Encryption with Associated Data (AEAD) algorithm.

   This document defines the use of HPKE with COSE.  Authentication for
   HPKE in COSE is provided by COSE-native security mechanisms or by the
   pre-shared key authenticated variant of HPKE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-27"/>
        </reference>
        <reference anchor="I-D.ietf-cose-dilithium">
          <front>
            <title>ML-DSA for JOSE and COSE</title>
            <author fullname="Michael Prorock" initials="M." surname="Prorock">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <date day="15" month="November" year="2025"/>
            <abstract>
              <t>   This document specifies JSON Object Signing and Encryption (JOSE) and
   CBOR Object Signing and Encryption (COSE) serializations for Module-
   Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum
   Cryptography (PQC) digital signature scheme defined in US NIST FIPS
   204.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-11"/>
        </reference>
      </references>
    </references>
    <?line 523?>

<section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>[[ to be removed by the RFC Editor before publication as an RFC ]]</t>
      <t>-00</t>
      <ul spacing="normal">
        <li>
          <t>Initial COSE working group draft, based on draft-ietf-jose-pqc-kem-06.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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
+vzh/279LSfn4/Y/Nf5HAC963v8AX41Id6FgAAA=

-->

</rfc>
