<?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-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <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-04"/>
    <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="October" day="03"/>
    <area>Security</area>
    <workgroup>JOSE</workgroup>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>JOSE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 107?>

<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 111?>

<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="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> 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-specific data used for key derivation includes the concatenation of AlgorithmID, SuppPubInfo, and SuppPrivInfo, as defined in <xref target="NIST.SP.800-56Ar3"/>. The fields AlgorithmID and SuppPubInfo 
   are defined in Section 4.6.2 of <xref target="RFC7518"/> The fields PartyUInfo and PartyVInfo, also defined in that section, are intentionally excluded. PartyUInfo is omitted because post-quantum KEMs do not support sender authentication. PartyVInfo is excluded because the recipient’s identity is already bound to the public key used for encapsulation, making its inclusion unnecessary. If mutually known private information is required, both parties <bcp14>MUST</bcp14> agree out-of-band to include it as SuppPrivInfo.</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 structure defined in Section 5.2 of <xref target="RFC9053"/> excluding PartyUInfo and PartyVInfo fields. PartyUInfo is omitted because sender authentication is not available in PQ KEMs. PartyVInfo is excluded because the recipient's identity is already bound to the public key used for encapsulation, making its inclusion redundant. If mutually known private information is to be included, both the sender and the recipient <bcp14>MUST</bcp14> agree out-of-band to include it as SuppPrivInfo in the key derivation function, as defined in <xref target="NIST.SP.800-56Ar3"/>.</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 header parameter encapsulated key "ek" defined in <xref target="I-D.ietf-jose-hpke-encrypt"/> <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 "ek" header parameter 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>
        <t>Note that when using Direct Key Agreement in JOSE Compact Serialization, inefficiency arises due to double encoding of the KEM ciphertext. In this mode, the "epk" parameter inside the protected header carries the KEM ciphertext, already base64url-encoded. Then, the entire protected header is base64url-encoded again as part of the compact serialization.</t>
      </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                       |
 +===============================+===================================+
 | ML-KEM-512                    | ML-KEM-512                        |
 +===============================+===================================+
 | ML-KEM-768                    | ML-KEM-768                        |
 +===============================+===================================+
 | ML-KEM-1024                   | 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                       |
 +=================================+===================================+
 | ML-KEM-512+A128KW               | ML-KEM-512 + AES128KW             |
 +=================================+===================================+
 | ML-KEM-768+A192KW               | ML-KEM-768 + AES192KW             |
 +=================================+===================================+
 | ML-KEM-1024+A256KW              | 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 |
+===============================+=========+===================================+=============+
| 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-jose-and-cose">
      <name>Use of AKP Key Type for PQC KEM Keys in JOSE and COSE</name>
      <t>The "AKP" (Algorithm Key Pair) key type, defined in <xref target="I-D.ietf-cose-dilithium"/> is used in this specification to
represent PQC KEM keys for JOSE and COSE. When used with JOSE or COSE algorithms that rely on PQC KEMs, a key with "kty" set to "AKP" represents an PQC KEM key pair. The public key is carried in the "pub" parameter. If included, the private key is carried in the "priv" parameter. When expressed as a JWK, the "pub" and "priv" values are base64url-encoded.</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 the use of only the seed form for private keys. To promote interoperability, this specification mandates that the "priv" parameter <bcp14>MUST</bcp14> contain the 32-byte seed used to generate the ML-KEM key pair. It does not support the expanded private key representation defined by NIST. This approach ensures consistency with other PQC algorithms used in JOSE/COSE, and avoids ambiguity.</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>
    </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: ML-KEM-512</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: ML-KEM-768</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: ML-KEM-1024</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: ML-KEM-512+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: ML-KEM-768+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: ML-KEM-1024+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 anchor="json-web-key-elliptic-curves-registrations">
          <name>JSON Web Key Elliptic Curves Registrations</name>
          <t>IANA is requested to register the following values in the "JSON Web Key Elliptic Curve" registry <xref target="JOSE-IANA-Curves"/>.</t>
        </section>
      </section>
      <section anchor="ml-kem-512">
        <name>ML-KEM-512</name>
        <table>
          <thead>
            <tr>
              <th align="left">Curve Name</th>
              <th align="left">ML-KEM-512</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Curve Description</td>
              <td align="left">NIST Post-Quantum ML-KEM-512 algorithm</td>
            </tr>
            <tr>
              <td align="left">JOSE Implementation Requirements</td>
              <td align="left">Optional</td>
            </tr>
            <tr>
              <td align="left">Change Controller</td>
              <td align="left">IESG</td>
            </tr>
            <tr>
              <td align="left">Specification Document(s)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ml-kem-768">
        <name>ML-KEM-768</name>
        <table>
          <thead>
            <tr>
              <th align="left">Curve Name</th>
              <th align="left">ML-KEM-768</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Curve Description</td>
              <td align="left">NIST Post-Quantum ML-KEM-768 algorithm</td>
            </tr>
            <tr>
              <td align="left">JOSE Implementation Requirements</td>
              <td align="left">Optional</td>
            </tr>
            <tr>
              <td align="left">Change Controller</td>
              <td align="left">IESG</td>
            </tr>
            <tr>
              <td align="left">Specification Document(s)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ml-kem-1024">
        <name>ML-KEM-1024</name>
        <table>
          <thead>
            <tr>
              <th align="left">Curve Name</th>
              <th align="left">ML-KEM-1024</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Curve Description</td>
              <td align="left">NIST Post-Quantum ML-KEM-1024 algorithm</td>
            </tr>
            <tr>
              <td align="left">JOSE Implementation Requirements</td>
              <td align="left">Optional</td>
            </tr>
            <tr>
              <td align="left">Change Controller</td>
              <td align="left">IESG</td>
            </tr>
            <tr>
              <td align="left">Specification Document(s)</td>
              <td align="left">This document</td>
            </tr>
          </tbody>
        </table>
      </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: 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: IANA</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: IANA</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: 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: 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: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: ML-KEM-768+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: 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: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
        </ul>
      </section>
    </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-1">
        <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">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-512</td>
            </tr>
            <tr>
              <td align="left">Change Controller</td>
              <td align="left">IESG</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-1">
        <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">IESG</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-1">
        <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">IESG</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 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="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>
        <reference anchor="JOSE-IANA-Curves" target="https://www.iana.org/assignments/jose/jose.xhtml">
          <front>
            <title>JSON Web Key Elliptic Curve</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>
        <reference anchor="I-D.ietf-jose-hpke-encrypt">
          <front>
            <title>Use of Hybrid Public Key Encryption (HPKE) with JSON Object Signing and Encryption (JOSE)</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Aritra Banerjee" initials="A." surname="Banerjee">
              <organization>Nokia</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <date day="2" month="October" year="2025"/>
            <abstract>
              <t>   This specification defines Hybrid Public Key Encryption (HPKE) for
   use with JSON Object Signing and Encryption (JOSE).  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 JOSE.  The specification
   chooses a specific subset of the HPKE features to use with JOSE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-hpke-encrypt-12"/>
        </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="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="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="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="7" month="July" 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-08"/>
        </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="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="I-D.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="19" month="September" 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 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-16"/>
        </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="12" month="September" year="2025"/>
            <abstract>
              <t>   This document describes 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 FIPS 204.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-09"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
