<?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-02" 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-02"/>
    <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="July" day="22"/>
    <area>Security</area>
    <workgroup>JOSE</workgroup>
    <keyword>PQC</keyword>
    <keyword>COSE</keyword>
    <keyword>JOSE</keyword>
    <keyword>Hybrid</keyword>
    <abstract>
      <?line 111?>

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

<section anchor="introduction">
      <name>Introduction</name>
      <t>Quantum computing is no longer perceived as a consequence of computational sciences and theoretical physics.  Considerable research efforts and enormous corporate and government funding for the development of practical quantum computing systems are being invested currently. As such, as quantum technology advances, there is the potential for future quantum computers to have a significant impact on current cryptographic systems.</t>
      <t>Researchers have developed Post-Quantum Key Encapsulation Mechanisms (PQ-KEMs) to provide secure key establishment resistant against an adversary with access to a quantum computer.</t>
      <t>As the National Institute of Standards and Technology (NIST) is still in the process of selecting the new post-quantum cryptographic algorithms that are secure against both quantum and classical computers, the purpose of this document is to propose a PQ-KEMs to protect the confidentiality of content encrypted using JOSE and COSE against the quantum threat.</t>
      <t>Although this mechanism could thus be used with any PQ-KEM, this document focuses on Module-Lattice-based Key Encapsulation Mechanisms (ML-KEMs). ML-KEM is a one-pass (store-and-forward) cryptographic mechanism for an originator to securely send keying material to a recipient
using the recipient's ML-KEM public key. Three parameters sets for ML-KEMs are specified by <xref target="FIPS203"/>. In order of increasing security strength (and decreasing performance), these parameter sets
are ML-KEM-512, ML-KEM-768, and ML-KEM-1024.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document makes use of the terms defined in <xref target="I-D.ietf-pquip-pqt-hybrid-terminology"/>. The following terms are repeately used in this specification:</t>
      <ul spacing="normal">
        <li>
          <t>KEM: Key Encapsulation Mechanism</t>
        </li>
        <li>
          <t>PQ-KEM: Post-Quantum Key Encapsulation Mechanism</t>
        </li>
        <li>
          <t>CEK: Content Encryption Key</t>
        </li>
        <li>
          <t>ML-KEM: Module-Lattice-based Key Encapsulation Mechanism</t>
        </li>
      </ul>
      <t>For the purposes of this document, it is helpful to be able to divide cryptographic algorithms into two classes:</t>
      <t>"Traditional Algorithm":  An asymmetric cryptographic algorithm based on integer factorisation, finite field discrete logarithms or elliptic curve discrete logarithms. In the context of JOSE, examples of traditional key exchange algorithms include Elliptic Curve Diffie-Hellman Ephemeral Static <xref target="RFC6090"/> <xref target="RFC8037"/>. In the context of COSE, examples of traditional key exchange algorithms include Ephemeral-Static (ES) DH and Static-Static (SS) DH <xref target="RFC9052"/>.</t>
      <t>"Post-Quantum Algorithm":  An asymmetric cryptographic algorithm that is believed to be secure against attacks using quantum computers as well as classical computers. Post-quantum algorithms can also be called quantum-resistant or quantum-safe algorithms. Examples of Post-Quantum Algorithm include ML-KEM.</t>
      <section anchor="KEMs">
        <name>Key Encapsulation Mechanisms</name>
        <t>For the purposes of this document, we consider a Key Encapsulation Mechanism (KEM) to be any asymmetric cryptographic scheme comprised of algorithms satisfying the following interfaces <xref target="PQCAPI"/>.</t>
        <ul spacing="normal">
          <li>
            <t>def kemKeyGen() -&gt; (pk, sk)</t>
          </li>
          <li>
            <t>def kemEncaps(pk) -&gt; (ct, ss)</t>
          </li>
          <li>
            <t>def kemDecaps(ct, sk) -&gt; ss</t>
          </li>
        </ul>
        <t>where pk is public key, sk is secret key, ct is the ciphertext representing an encapsulated key, and ss is shared secret.</t>
        <t>KEMs are typically used in cases where two parties, hereby refereed to as the "encapsulater" and the "decapsulater", wish to establish a shared secret via public key cryptography, where the decapsulater has an asymmetric key pair and has previously shared the public key with the encapsulater.</t>
      </section>
    </section>
    <section anchor="rational">
      <name>Design Rationales</name>
      <t>Section 4.6 of the JSON Web Algorithms (JWA) specification, see <xref target="RFC7518"/>, defines two ways of using a key agreement:</t>
      <ul spacing="normal">
        <li>
          <t>When Direct Key Agreement is employed, the shared secret established through the Traditional Algorithm will be the content encryption key (CEK).</t>
        </li>
        <li>
          <t>When Key Agreement with Key Wrapping is employed, the shared secret established through the Traditional Algorithm will wrap the CEK.</t>
        </li>
      </ul>
      <t>For efficient use with multiple recipients, the key wrap approach is used since the content can be encrypted once with the CEK, while each recipient receives an individually encrypted CEK. Similarly, Section 8.5.4 and Section 8.5.5 of COSE <xref target="RFC9052"/> define the Direct Key Agreement and Key Agreement with Key Wrap, respectively. This document proposes the use of PQ-KEMs for these two modes.</t>
      <t>It is essential to note that in the PQ-KEM, one needs to apply Fujisaki-Okamoto <xref target="FO"/> transform or its variant <xref target="HHK"/> on the PQC KEM part to ensure that the overall scheme is IND-CCA2 secure, as mentioned in <xref target="I-D.ietf-tls-hybrid-design"/>. The FO transform is performed using the KDF such that the PQC KEM shared secret achieved is IND-CCA2 secure. As a consequence, one can re-use PQC KEM public keys but there is an upper bound that must be adhered to.</t>
      <t>Note that during the transition from traditional to post-quantum algorithms, there may be a desire or a requirement for protocols that incorporate both types of algorithms until the post-quantum algorithms are fully 
trusted. HPKE <xref target="RFC9180"/> is a KEM that can be extended to support hybrid post-quantum KEMs and the specification for the use of PQ/T Hybrid Key Encapsulation Mechanism (KEM) in Hybrid Public-Key Encryption (HPKE) for integration with JOSE and COSE is described in <xref target="I-D.reddy-cose-jose-pqc-hybrid-hpke"/>.</t>
    </section>
    <section anchor="kem-pqc-algorithms">
      <name>KEM PQC Algorithms</name>
      <t>At time of writing, NIST have standardized three PQC algorithms, with more expected to be standardised in the future (<xref target="NISTFINAL"/>). These algorithms are not necessarily drop-in replacements for traditional asymmetric cryptographic algorithms. For instance, RSA <xref target="RSA"/> and ECC <xref target="RFC6090"/> can be used as both a key encapsulation method (KEM) and as a signature scheme, whereas there is currently no post-quantum algorithm that can perform both functions.</t>
      <section anchor="ml-kem">
        <name>ML-KEM</name>
        <t>ML-KEM offers several parameter sets with varying levels of security and performance trade-offs. This document specifies the use of the ML-KEM algorithm at three security levels: ML-KEM-512, ML-KEM-768, and ML-KEM-1024. ML-KEM key generation, encapsulation and decaspulation functions are defined in <xref target="FIPS204"/>. The main security property for KEMs standardized in the NIST Post-Quantum Cryptography Standardization Project is indistinguishability under adaptive chosen ciphertext attacks (IND-CCA2) (see Section 10.2 of <xref target="I-D.ietf-pquip-pqc-engineers"/>). The public/private key sizes, ciphertext key size, and PQ security levels of ML-KEM are detailed in Section 12 of <xref target="I-D.ietf-pquip-pqc-engineers"/>.</t>
      </section>
      <section anchor="encrypt">
        <name>PQ-KEM Encapsulation</name>
        <t>The encapsulation process is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Generate an inital shared secret SS' and the associated ciphertext CT
using the KEM encapsulation function and the recipient's public
key recipPubKey.</t>
          </li>
        </ol>
        <artwork><![CDATA[
          (SS', CT) = kemEncaps(recipPubKey)
]]></artwork>
        <ol spacing="normal" type="1"><li>
            <t>Derive a final shared secret SS of length SSLen bytes from
the initial shared secret SS' using the underlying key derivation
function:</t>
          </li>
        </ol>
        <artwork><![CDATA[
          SS = KDF(SS', SSLen)
]]></artwork>
        <t>In Direct Key Agreement mode, the output of the KDF <bcp14>MUST</bcp14> be a key of the same length as that used by encryption algorithm. In Key Agreement with Key Wrapping mode, the output of the KDF <bcp14>MUST</bcp14> be a key of the length needed for the specified key wrap algorithm.</t>
        <t>When Direct Key Agreement is employed, SS is the CEK. When Key Agreement with Key Wrapping is employed, SS is used to wrap the CEK.</t>
      </section>
      <section anchor="decrypt">
        <name>PQ-KEM Decapsulation</name>
        <t>The decapsulation process is as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Decapsulate the ciphertext CT using the KEM decapsulation
function and the recipient's private key to retrieve the initial shared
secret SS':</t>
          </li>
        </ol>
        <artwork><![CDATA[
          SS' = kemDecaps(recipPrivKey, CT)
]]></artwork>
        <artwork><![CDATA[
If the decapsulation operation outputs an error, output "decryption error", and stop.
]]></artwork>
        <ol spacing="normal" type="1"><li>
            <t>Derive the final shared secret SS of length SSLen bytes from
the inital secret SS' using the underlying key derivation
function:</t>
          </li>
        </ol>
        <artwork><![CDATA[
          SS = KDF(SS', SSLen)
]]></artwork>
      </section>
    </section>
    <section anchor="kdf">
      <name>KDF</name>
      <section anchor="key-derivation-for-jose">
        <name>Key Derivation for JOSE</name>
        <t>The key derivation for JOSE is performed using the KMAC defined in NIST SP 800-108r1-upd1 <xref target="SP-800-108r1"/>. The KMAC(K, X, L, S) parameters are instantiated as follows:</t>
        <ul spacing="normal">
          <li>
            <t>K: the input key-derivation key. In this document this is the initial shared secret (SS') outputted from the 
kemEncaps() or kemDecaps() functions.</t>
          </li>
          <li>
            <t>X: A subset of the JOSE context-specific data defined in Section 4.6.2 of <xref target="RFC7518"/>, i.e., concat(AlgorithmID, SuppPubInfo, SuppPrivInfo), is used. The fields PartyUInfo and PartyVInfo are excluded. 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 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 [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>
      </section>
      <section anchor="key-agreement-with-key-wrapping">
        <name>Key Agreement with Key Wrapping</name>
        <ul spacing="normal">
          <li>
            <t>The derived key is generated using the process explained in <xref target="encrypt"/> and used to encrypt the CEK.</t>
          </li>
          <li>
            <t>The parameter "ek" <bcp14>MUST</bcp14> include the output ('ct') from the PQ-KEM algorithm, encoded using base64url.</t>
          </li>
          <li>
            <t>The JWE Encrypted Key <bcp14>MUST</bcp14> include the base64url-encoded encrypted CEK.</t>
          </li>
          <li>
            <t>The 'enc' (Encryption Algorithm) header parameter <bcp14>MUST</bcp14> specify a content encryption algorithm from the JSON Web Signature and Encryption Algorithms registry, as defined in <xref target="JOSE-IANA"/>.</t>
          </li>
          <li>
            <t>The recipient <bcp14>MUST</bcp14> base64url decode the ciphertext from "ek". Subsequently, it is used to derive the key, through the process defined in <xref target="decrypt"/>. The derived key will then be used to decrypt the CEK.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="post-quantum-kem-in-cose">
      <name>Post-Quantum KEM in COSE</name>
      <t>This specification supports two uses of PQ-KEM in COSE, namely</t>
      <ul spacing="normal">
        <li>
          <t>PQ-KEM in a Direct Key Agreement mode.</t>
        </li>
        <li>
          <t>PQ-KEM in a Key Agreement with Key Wrap mode.</t>
        </li>
      </ul>
      <t>In both modes, the COSE header parameter 'ek' defined in Section 7.2 of <xref target="I-D.ietf-cose-hpke"/>, 
is used to convey the output ('ct') from the PQ KEM Encaps algorithm.</t>
      <section anchor="direct-key-agreement-1">
        <name>Direct Key Agreement</name>
        <t>The CEK will be generated using the process explained in <xref target="encrypt"/>. 
Subsequently, the plaintext will be encrypted using the CEK. The resulting 
ciphertext is either included in the COSE_Encrypt or is detached. If a payload is
transported separately then it is called "detached content". A nil CBOR
object is placed in the location of the ciphertext. See Section 5
of <xref target="RFC9052"/> for a description of detached payloads.</t>
        <t>The COSE_Recipient structure for the recipient is organized as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The sender <bcp14>MUST</bcp14> set the 'alg' parameter to indicate the use of the PQ-KEM algorithm.</t>
          </li>
          <li>
            <t>This documents RECOMMENDS the use of the 'kid' parameter
(or other parameters) to explicitly identify the recipient public key
used by the sender. If the COSE_Encrypt contains the 'kid' then the recipient may
use it to select the appropriate private key.</t>
          </li>
        </ul>
      </section>
      <section anchor="key-agreement-with-key-wrap">
        <name>Key Agreement with Key Wrap</name>
        <t>With the two layer structure the PQ-KEM information is conveyed in the COSE_recipient 
structure, i.e. one COSE_recipient structure per recipient.</t>
        <t>In this approach the following layers are involved:</t>
        <ul spacing="normal">
          <li>
            <t>Layer 0 (corresponding to the COSE_Encrypt structure) contains the content (plaintext)
encrypted with the CEK. This ciphertext may be detached, and if not detached, then
it is included in the COSE_Encrypt structure.</t>
          </li>
          <li>
            <t>Layer 1 (corresponding to a recipient structure) contains parameters needed for 
PQ-KEM to generate a shared secret used to encrypt the CEK. This layer conveys<br/>
the encrypted CEK in the "ciphertext" field (Section 5.1 of <xref target="RFC9052"/>). 
The unprotected header <bcp14>MAY</bcp14> contain the kid parameter to identify the static recipient 
public key the sender has been using with PQ-KEM.</t>
          </li>
        </ul>
        <t>This two-layer structure is used to encrypt content that can also be shared with
multiple parties at the expense of a single additional encryption operation.
As stated above, the specification uses a CEK to encrypt the content at layer 0.</t>
      </section>
    </section>
    <section anchor="JOSE-PQ-KEM">
      <name>JOSE Ciphersuite Registration</name>
      <t>This specification registers a number of PQ-KEM algorithms for use with JOSE.</t>
      <t>All security levels of ML-KEM internally utilize SHA3-256, SHA3-512, SHAKE128, and SHAKE256. This internal usage influences the selection of the KDF as described in this document.</t>
      <t>ML-KEM-512 <bcp14>MUST</bcp14> be used with a KDF capable of outputting a key with at least 128 bits of security and with a key wrapping algorithm with a key length of at least 128 bits.</t>
      <t>ML-KEM-768 <bcp14>MUST</bcp14> be used with a KDF capable of outputting a key with at least 192 bits of security and with a key wrapping algorithm with a key length of at least 192 bits.</t>
      <t>ML-KEM-1024 <bcp14>MUST</bcp14> be used with a KDF capable of outputting a key with at least 256 bits of security and with a key wrapping algorithm with a key length of at least 256 bits.</t>
      <ul spacing="normal">
        <li>
          <t>In Direct key agreement, the parameter "alg" <bcp14>MUST</bcp14> be specified, and its value <bcp14>MUST</bcp14> be one of the values specified in <xref target="direct-table"/>. (Note that future specifications <bcp14>MAY</bcp14> extend the list of algorithms.)</t>
        </li>
      </ul>
      <figure anchor="direct-table">
        <name>Direct Key Agreement: Algorithms.</name>
        <artwork><![CDATA[
 +===============================+===================================+
 | alg                           | Description                       |
 +===============================+===================================+
 | MLKEM512                      | ML-KEM-512                        |
 +===============================+===================================+
 | MLKEM768                      | ML-KEM-768                        |
 +===============================+===================================+
 | MLKEM1024                     | ML-KEM-1024                       |
 +===============================+===================================+
]]></artwork>
      </figure>
      <ul spacing="normal">
        <li>
          <t>In Key Agreement with Key Wrapping, the parameter "alg" <bcp14>MUST</bcp14> be specified, and its value <bcp14>MUST</bcp14> be one of the values specified in the table <xref target="keywrap-table"/>.</t>
        </li>
      </ul>
      <figure anchor="keywrap-table">
        <name>Key Agreement with Key Wrapping: Algorithms.</name>
        <artwork><![CDATA[
 +=================================+===================================+
 | alg                             | Description                       |
 +=================================+===================================+
 | MLKEM512-AES128KW               | ML-KEM-512 + AES128KW             |
 +=================================+===================================+
 | MLKEM768-AES192KW               | ML-KEM-768 + AES192KW             |
 +=================================+===================================+
 | MLKEM1024-AES256KW              | ML-KEM-1024 + AES256KW            |
 +=================================+===================================+
]]></artwork>
      </figure>
    </section>
    <section anchor="COSE-PQ-KEM">
      <name>COSE Ciphersuite Registration</name>
      <t><xref target="mapping-table"/> maps the JOSE algorithm names to the COSE algorithm values (for the PQ-KEM ciphersuites defined by this document).</t>
      <figure anchor="mapping-table">
        <name>Mapping between JOSE and COSE PQ-KEM Ciphersuites.</name>
        <artwork><![CDATA[
+===============================+=========+===================================+=============+
| JOSE                          | COSE ID | Description                       | Recommended |
+===============================+=========+===================================+=============+
| MLKEM512                      | TBD1    | ML-KEM-512                        | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM768                      | TBD2    | ML-KEM-768                        | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM1024                     | TBD3    | ML-KEM-1024                       | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM512+AES128KW             | TBD4    | ML-KEM-512  + AES128KW            | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM768+AES192KW             | TBD5    | ML-KEM-768  + AES192KW            | No          |
+-------------------------------+---------+-----------------------------------+-------------+
| MLKEM1024+AES256KW            | TBD6    | ML-KEM-1024  + AES256KW           | No          |
+-------------------------------+---------+-----------------------------------+-------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="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>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: MLKEM512</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-512 PQ-KEM.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: MLKEM768</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-768 PQ-KEM.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: MLKEM1024</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-1024 PQ-KEM.</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: MLKEM512+A128KW</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-512 PQ-KEM and CEK wrapped with "A128KW".</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: MLKEM768+A192KW</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-768 and CEK wrapped with "A192KW".</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
          <li>
            <t>Algorithm Name: MLKEM1024+A256KW</t>
          </li>
          <li>
            <t>Algorithm Description: PQ-KEM that uses ML-KEM-1024 and CEK wrapped with "A256KW".</t>
          </li>
          <li>
            <t>Algorithm Usage Location(s): "alg"</t>
          </li>
          <li>
            <t>JOSE Implementation Requirements: Optional</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Specification Document(s): [[TBD: This RFC]]</t>
          </li>
          <li>
            <t>Algorithm Analysis Documents(s): TODO</t>
          </li>
        </ul>
        <section 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: MLKEM512</t>
          </li>
          <li>
            <t>Value: TBD1</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-512 PQ-KEM.</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM768</t>
          </li>
          <li>
            <t>Value: TBD2</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-768 PQ-KEM.</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM1024</t>
          </li>
          <li>
            <t>Value: TBD3</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-1024 PQ-KEM.</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM512+A128KW</t>
          </li>
          <li>
            <t>Value: TBD4</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-512 PQ-KEM and CEK wrapped with "A128KW".</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM768+192KW</t>
          </li>
          <li>
            <t>Value: TBD5</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-768 and CEK wrapped with "A192KW".</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
          <li>
            <t>Name: MLKEM1024+A256KW</t>
          </li>
          <li>
            <t>Value: TBD6</t>
          </li>
          <li>
            <t>Description: PQ-KEM that uses ML-KEM-1024 and CEK wrapped with "A256KW".</t>
          </li>
          <li>
            <t>Capabilities: [kty]</t>
          </li>
          <li>
            <t>Change Controller: IANA</t>
          </li>
          <li>
            <t>Reference: This document (TBD)</t>
          </li>
          <li>
            <t>Recommended: No</t>
          </li>
        </ul>
      </section>
    </section>
    <section 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="FIPS204" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf">
          <front>
            <title>FIPS 203 (Initial Public Draft): Module-Lattice-based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="PQCAPI" target="https://csrc.nist.gov/CSRC/media/Projects/Post-Quantum-Cryptography/documents/example-files/api-notes.pdf">
          <front>
            <title>PQC - API notes</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="FO" target="https://link.springer.com/article/10.1007/s00145-011-9114-1">
          <front>
            <title>Secure Integration of Asymmetric and Symmetric Encryption Schemes</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="HHK" target="https://link.springer.com/chapter/10.1007/978-3-319-70500-2_12">
          <front>
            <title>A Modular Analysis of the Fujisaki-Okamoto Transformation</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="FIPS203" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.pdf">
          <front>
            <title>FIPS-203: Module-Lattice-based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="SP-800-108r1" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-108r1-upd1.pdf">
          <front>
            <title>Recommendation for Key Derivation Using Pseudorandom Functions</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="NISTFINAL" target="https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards">
          <front>
            <title>NIST Releases First 3 Finalized Post-Quantum Encryption Standards</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RSA" target="https://dl.acm.org/doi/pdf/10.1145/359340.359342">
          <front>
            <title>A Method for Obtaining Digital Signatures and Public-Key Cryptosystems+</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="NIST.SP.800-56Ar3" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography, NIST Special Publication 800-56A Revision 3</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-pquip-pqt-hybrid-terminology">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="Flo D" initials="F." surname="D">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Michael P" initials="M." surname="P">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Britta Hale" initials="B." surname="Hale">
              <organization>Naval Postgraduate School</organization>
            </author>
            <date day="10" month="January" year="2025"/>
            <abstract>
              <t>   One aspect of the transition to post-quantum algorithms in
   cryptographic protocols is the development of hybrid schemes that
   incorporate both post-quantum and traditional asymmetric algorithms.
   This document defines terminology for such schemes.  It is intended
   to be used as a reference and, hopefully, to ensure consistency and
   clarity across different protocols, standards, and organisations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-pquip-pqt-hybrid-terminology-06"/>
        </reference>
        <reference anchor="RFC6090">
          <front>
            <title>Fundamental Elliptic Curve Cryptography Algorithms</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="K. Igoe" initials="K." surname="Igoe"/>
            <author fullname="M. Salter" initials="M." surname="Salter"/>
            <date month="February" year="2011"/>
            <abstract>
              <t>This note describes the fundamental algorithms of Elliptic Curve Cryptography (ECC) as they were defined in some seminal references from 1994 and earlier. These descriptions may be useful for implementing the fundamental algorithms without using any of the specialized methods that were developed in following years. Only elliptic curves defined over fields of characteristic greater than three are in scope; these curves are those used in Suite B. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6090"/>
          <seriesInfo name="DOI" value="10.17487/RFC6090"/>
        </reference>
        <reference anchor="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="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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
ADx5kV3ApgjFrgZEuUI2ZBM2KkZ1V4rgDBQZaOcgRTIACEGxILYTQQgkIfSC
Jax7njdkIn2aPhEbKHddpDDcnSSwW0zqIqPF4FEFijukvcULoNiFq69bVAxs
WAF3ByWxgUbaIDbJABfzNEITJug0IzvZPdxkICrgTyXZuXGlO1aaqHQ5EJrU
ehAYqTRiPwWqE8vowA+GkIeEtjKwo6wLGgJtQcVJLHvOChmUSOcEtHh1NmOY
5tZVgeAwQaEEwZpImBbm5m1LFxrAzRYaU/iA5hgZZ41jdA1/vX7F/NUT/Amp
EsBc0s+BnmJDlaAdfMDJB2m5hL3vtvaqBh3FCfgNdu4MjHKJUp/pbUsW8AHo
AiyLdAI/Enwf2CriwgLUeA4aqfSYikgvO3ZfGcByDmVgip44BTLCzgYFRO4k
rUqWrJQ1PswyaCCmGKFPFuLqSruVHz/2gKsBTFBvuJkxbCL4FKR2dE4JMywy
PQOyb+BuRtLeAWqW/GDQK11iL+WAQVBgfkpD4e/1dzbN58ePnmwSb+jvfXBr
eqjmR45Zwev7EnyamL6jPWI5x3SWEp3Xb8ennU3+K94c0eeTgx/eHp4c7OPn
8fPhq1f2g6fvGD8/evtqv/5UPzk6ev364M0+PwyjojHkdV4P/95hqDtHx6eH
R+ARdli4XQ5EjGEngV9jkIsiR4cA7ZBn7GeEz3w3Ov7f/+k/hI34g05dfPyo
v2DyAr5czmTKq2UpcAx/BRovvCDPQZfiLAFoF+BldM4UKX41yy5TgQoeqPnN
j0iZnwbij5Mw7z/8kx5AhBuDhmaNQaLZ8sjSw0zEFUMrlrHUbIy3KN2Ed/j3
xndDd2fwj3+GWEsKv//kz3/y2j7LPDgHZVAZhQc7IwsQ9Ai5ijfi6urPh/4+
5ST9/JcqzuF36c8oIerj3TFrdRQU5L9pliTZJUkmTYXbXUjYkBLlmlSUYQkt
ceyNDcChwWTx4DoV5PlarQ1ubRXhkdHBywEKDmlhJ9CAp+AqS9j6OHHtxN4z
7apom6GWjMamiMlwzGSST6tEsz15SfAxisk+rzVmIB6ZKC8zNlaYSvI6EFtH
sTa2Np3WGQiIyoG9bb5gzZyCkQIsUPTQEZyCfwLXFOG2KUiXwB7GEsxKZLz1
xHjrgGEhpMlPhZifWnUXaUxtDEv5nvw3NHabQqdNmFIOKuScvEfCnskmCcKk
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
2xpm8CZ9AAA=

-->

</rfc>
