<?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-03" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="PQ KEM for JOSE and COSE">Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) for JOSE and COSE</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-jose-pqc-kem-03"/>
    <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="August" day="07"/>
    <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-okp-key-type-for-pqc-kem-keys-in-jose-and-cose">
      <name>Use of OKP Key Type for PQC KEM Keys in JOSE and COSE</name>
      <t>The "OKP" (Octet Key Pair) key type, defined in <xref target="RFC8037"/>, is used in this specification to represent PQC KEM keys for use in JOSE and COSE. 
When used with JOSE or COSE algorithms that rely on PQC KEMs, a key with "kty" set to "OKP" represents a KEM key pair. The "crv" (subtype of key pair) parameter identifies the specific PQC KEM algorithm. The public key is carried in the "x" parameter. If a private key is included, it is represented using the "d" parameter. When expressed in JWK, all key parameters are base64url encoded.</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 "d" 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>
      <t>Note: Although the "AKP" (Algorithm Key Pair) key type is defined in <xref target="I-D.ietf-cose-dilithium"/> for representing post-quantum keys, it mandates the use of the "alg" parameter. While this works for PQ digital signatures, its use with PQ KEMs would require distinguishing between keys intended for Direct Key Agreement and Key Agreement with Key Wrap. This constraint introduces ambiguity in JOSE/COSE and is therefore not used in this specification.</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">OKP</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">OKP</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">OKP</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>Thanks to Ilari Liusvaara, Neil Madden and AJITOMI Daisuke for the discussion and comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC7516">
          <front>
            <title>JSON Web Encryption (JWE)</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
            <date month="May" year="2015"/>
            <abstract>
              <t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7516"/>
          <seriesInfo name="DOI" value="10.17487/RFC7516"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="JOSE-IANA" target="https://www.iana.org/assignments/jose/jose.xhtml">
          <front>
            <title>JSON Web Signature and Encryption Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <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="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="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="7" month="July" 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-11"/>
        </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="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="21" month="July" 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-14"/>
        </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="1" month="July" 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-13"/>
        </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="7" month="July" 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-15"/>
        </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="7" month="July" 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-08"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
UYAAAA==

-->

</rfc>
