<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-skokan-jose-hpke-pq-pqt-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="JOSE HPKE PQ">JOSE HPKE PQ &amp; PQ/T Algorithm Registrations</title>
    <seriesInfo name="Internet-Draft" value="draft-skokan-jose-hpke-pq-pqt-00"/>
    <author fullname="Filip Skokan">
      <organization>Okta</organization>
      <address>
        <email>panva.ip@gmail.com</email>
      </address>
    </author>
    <author fullname="Brian Campbell">
      <organization>Ping Identity</organization>
      <address>
        <email>bcampbell@pingidentity.com</email>
      </address>
    </author>
    <date year="2026" month="February" day="07"/>
    <area>Security</area>
    <workgroup>Javascript Object Signing and Encryption</workgroup>
    <keyword>JOSE</keyword>
    <keyword>HPKE</keyword>
    <keyword>post-quantum</keyword>
    <keyword>hybrid</keyword>
    <keyword>ML-KEM</keyword>
    <keyword>PQ</keyword>
    <keyword>PQ/T</keyword>
    <keyword>JWE</keyword>
    <keyword>CRQC</keyword>
    <abstract>
      <?line 52?>

<t>This document registers Post-Quantum (PQ) and Post-Quantum/Traditional (PQ/T)
hybrid algorithm identifiers for use with JSON Object Signing and Encryption
(JOSE), building on the Hybrid Public Key Encryption (HPKE) framework.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://panva.github.io/jose-hpke-pq-pqt/draft-skokan-jose-hpke-pq-pqt.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-skokan-jose-hpke-pq-pqt/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Javascript Object Signing and Encryption Working Group mailing list (<eref target="mailto:jose@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/jose/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/jose/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/panva/jose-hpke-pq-pqt"/>.</t>
    </note>
  </front>
  <middle>
    <?line 59?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="I-D.ietf-jose-hpke-encrypt"/> defines how to use Hybrid Public Key Encryption
(HPKE) with JSON Web Encryption (JWE) using traditional Key Encapsulation Mechanisms
(KEM) based on Elliptic-curve Diffie-Hellman (ECDH).</t>
      <t>This document extends the set of registered HPKE algorithms to include Post-Quantum
(PQ) and Post-Quantum/Traditional (PQ/T) hybrid KEMs, as defined in
<xref target="I-D.ietf-hpke-pq"/>. These algorithms provide protection against attacks by
cryptographically relevant quantum computers.</t>
      <t>The term “PQ/T hybrid” is used here consistent with <xref target="I-D.ietf-hpke-pq"/> to denote a
combination of post-quantum and traditional algorithms, and should not be confused
with HPKE’s use of “hybrid” to describe internal KEM composition.</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?>

</section>
    <section anchor="algorithm-identifiers">
      <name>Algorithm Identifiers</name>
      <t>This section defines the algorithm identifiers for PQ and PQ/T HPKE-based
encryption in JOSE. Each algorithm is defined by a combination of an HPKE KEM,
a Key Derivation Function (KDF), and an Authenticated Encryption with
Associated Data (AEAD) algorithm.</t>
      <t>All algorithms defined in this section follow the same operational model as
those in <xref target="I-D.ietf-jose-hpke-encrypt"/>, supporting both integrated encryption
as defined in <xref section="5" sectionFormat="of" target="I-D.ietf-jose-hpke-encrypt"/> and key encryption
as defined in <xref section="6" sectionFormat="of" target="I-D.ietf-jose-hpke-encrypt"/>.</t>
      <section anchor="pqt-hybrid-integrated-encryption-algorithms">
        <name>PQ/T Hybrid Integrated Encryption Algorithms</name>
        <t>The following table lists the algorithm identifiers for PQ/T hybrid integrated
encryption, where HPKE directly encrypts the plaintext without a separate
Content Encryption Key:</t>
        <table anchor="pqt-hybrid-integrated-table">
          <name>PQ/T Hybrid Integrated Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">"alg" value</th>
              <th align="left">HPKE KEM</th>
              <th align="left">HPKE KDF</th>
              <th align="left">HPKE AEAD</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HPKE-8</td>
              <td align="left">MLKEM768-P256 (<tt>0x0050</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-9</td>
              <td align="left">MLKEM768-P256 (<tt>0x0050</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-10</td>
              <td align="left">MLKEM768-X25519 (<tt>0x647a</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-11</td>
              <td align="left">MLKEM768-X25519 (<tt>0x647a</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-12</td>
              <td align="left">MLKEM1024-P384 (<tt>0x0051</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-13</td>
              <td align="left">MLKEM1024-P384 (<tt>0x0051</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
          </tbody>
        </table>
        <t>These algorithms combine ML-KEM with a traditional elliptic curve algorithm in a PQ/T
hybrid KEM construction, with the goal that compromise of either the post-quantum or
the traditional component alone does not undermine the security of the resulting encryption.</t>
      </section>
      <section anchor="pure-pq-integrated-encryption-algorithms">
        <name>Pure PQ Integrated Encryption Algorithms</name>
        <t>The following table lists the algorithm identifiers for pure post-quantum
integrated encryption:</t>
        <table anchor="pure-pq-integrated-table">
          <name>Pure PQ Integrated Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">"alg" value</th>
              <th align="left">HPKE KEM</th>
              <th align="left">HPKE KDF</th>
              <th align="left">HPKE AEAD</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HPKE-14</td>
              <td align="left">ML-KEM-768 (<tt>0x0041</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-15</td>
              <td align="left">ML-KEM-768 (<tt>0x0041</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-16</td>
              <td align="left">ML-KEM-1024 (<tt>0x0042</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-17</td>
              <td align="left">ML-KEM-1024 (<tt>0x0042</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
          </tbody>
        </table>
        <t>These algorithms provide pure post-quantum security using ML-KEM without a
traditional algorithm component.</t>
      </section>
      <section anchor="pqt-hybrid-key-encryption-algorithms">
        <name>PQ/T Hybrid Key Encryption Algorithms</name>
        <t>The following table lists the algorithm identifiers for PQ/T hybrid key
encryption, where HPKE encrypts the Content Encryption Key:</t>
        <table anchor="pqt-hybrid-key-encryption-table">
          <name>PQ/T Hybrid Key Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">"alg" value</th>
              <th align="left">HPKE KEM</th>
              <th align="left">HPKE KDF</th>
              <th align="left">HPKE AEAD</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HPKE-8-KE</td>
              <td align="left">MLKEM768-P256 (<tt>0x0050</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-9-KE</td>
              <td align="left">MLKEM768-P256 (<tt>0x0050</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-10-KE</td>
              <td align="left">MLKEM768-X25519 (<tt>0x647a</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-11-KE</td>
              <td align="left">MLKEM768-X25519 (<tt>0x647a</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-12-KE</td>
              <td align="left">MLKEM1024-P384 (<tt>0x0051</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-13-KE</td>
              <td align="left">MLKEM1024-P384 (<tt>0x0051</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="pure-pq-key-encryption-algorithms">
        <name>Pure PQ Key Encryption Algorithms</name>
        <t>The following table lists the algorithm identifiers for pure post-quantum key
encryption:</t>
        <table anchor="pure-pq-key-encryption-table">
          <name>Pure PQ Key Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">"alg" value</th>
              <th align="left">HPKE KEM</th>
              <th align="left">HPKE KDF</th>
              <th align="left">HPKE AEAD</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HPKE-14-KE</td>
              <td align="left">ML-KEM-768 (<tt>0x0041</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-15-KE</td>
              <td align="left">ML-KEM-768 (<tt>0x0041</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-16-KE</td>
              <td align="left">ML-KEM-1024 (<tt>0x0042</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-256-GCM (<tt>0x0002</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-17-KE</td>
              <td align="left">ML-KEM-1024 (<tt>0x0042</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">ChaCha20Poly1305 (<tt>0x0003</tt>)</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="json-web-key-representation">
      <name>JSON Web Key Representation</name>
      <t>Keys for the algorithms defined in this document use the "AKP" (Algorithm
Key Pair) key type defined in <xref target="I-D.ietf-cose-dilithium"/>.</t>
      <t>For the algorithms in this document, the "pub" parameter contains the
base64url encoding of HPKE's SerializePublicKey() output for the
corresponding KEM, and the "priv" parameter contains the base64url encoding
of HPKE's SerializePrivateKey() output.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="I-D.ietf-jose-hpke-encrypt"/> and
<xref target="I-D.ietf-hpke-pq"/> apply to this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="json-web-signature-and-encryption-algorithms-registry">
        <name>JSON Web Signature and Encryption Algorithms Registry</name>
        <t>This document requests registration of the following values in the
IANA "JSON Web Signature and Encryption Algorithms" registry
established by <xref target="RFC7518"/>:</t>
        <section anchor="hpke-8">
          <name>HPKE-8</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-8</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using MLKEM768-P256 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-8-ke">
          <name>HPKE-8-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-8-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using MLKEM768-P256 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-9">
          <name>HPKE-9</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-9</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using MLKEM768-P256 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-9-ke">
          <name>HPKE-9-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-9-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using MLKEM768-P256 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-10">
          <name>HPKE-10</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-10</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using MLKEM768-X25519 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-10-ke">
          <name>HPKE-10-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-10-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using MLKEM768-X25519 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-11">
          <name>HPKE-11</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-11</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using MLKEM768-X25519 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-11-ke">
          <name>HPKE-11-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-11-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using MLKEM768-X25519 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-12">
          <name>HPKE-12</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-12</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using MLKEM1024-P384 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-12-ke">
          <name>HPKE-12-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-12-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using MLKEM1024-P384 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-13">
          <name>HPKE-13</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-13</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using MLKEM1024-P384 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-13-ke">
          <name>HPKE-13-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-13-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using MLKEM1024-P384 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-14">
          <name>HPKE-14</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-14</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using ML-KEM-768 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-14-ke">
          <name>HPKE-14-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-14-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using ML-KEM-768 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-15">
          <name>HPKE-15</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-15</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using ML-KEM-768 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-15-ke">
          <name>HPKE-15-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-15-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using ML-KEM-768 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-16">
          <name>HPKE-16</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-16</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using ML-KEM-1024 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-16-ke">
          <name>HPKE-16-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-16-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using ML-KEM-1024 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-17">
          <name>HPKE-17</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-17</t>
            </li>
            <li>
              <t>Algorithm Description: Integrated Encryption with HPKE using ML-KEM-1024 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
        <section anchor="hpke-17-ke">
          <name>HPKE-17-KE</name>
          <ul spacing="normal">
            <li>
              <t>Algorithm Name: HPKE-17-KE</t>
            </li>
            <li>
              <t>Algorithm Description: Key Encryption with HPKE using ML-KEM-1024 KEM, SHAKE256 KDF, and ChaCha20Poly1305 AEAD</t>
            </li>
            <li>
              <t>Algorithm Usage Location(s): "alg"</t>
            </li>
            <li>
              <t>JOSE Implementation Requirements: Optional</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): <xref target="pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Algorithm Analysis Documents(s): <xref target="I-D.ietf-hpke-pq"/></t>
            </li>
          </ul>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-jose-hpke-encrypt">
          <front>
            <title>Use of Hybrid Public Key Encryption (HPKE) with JSON Web Encryption (JWE)</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="30" month="November" year="2025"/>
            <abstract>
              <t>   This specification defines how to use Hybrid Public Key Encryption
   (HPKE) with JSON Web Encryption (JWE).  HPKE enables public key
   encryption of arbitrary-sized plaintexts to a recipient's public key,
   and provides security against adaptive chosen ciphertext attacks.
   This specification chooses a specific subset of the HPKE features to
   use with JWE.

   This specification updates RFC 7516 (JWE) to enable use of the
   Integrated Encryption Key Establishment Mode.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-jose-hpke-encrypt-15"/>
        </reference>
        <reference anchor="I-D.ietf-hpke-pq">
          <front>
            <title>Post-Quantum and Post-Quantum/Traditional Hybrid Algorithms for HPKE</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Deirdre Connolly" initials="D." surname="Connolly">
              <organization>Selkie Cryptography</organization>
            </author>
            <date day="6" month="November" year="2025"/>
            <abstract>
              <t>   Updating key exchange and public-key encryption protocols to resist
   attack by quantum computers is a high priority given the possibility
   of "harvest now, decrypt later" attacks.  Hybrid Public Key
   Encryption (HPKE) is a widely-used public key encryption scheme based
   on combining a Key Encapsulation Mechanism (KEM), a Key Derivation
   Function (KDF), and an Authenticated Encryption with Associated Data
   (AEAD) scheme.  In this document, we define KEM algorithms for HPKE
   based on both post-quantum KEMs and hybrid constructions of post-
   quantum KEMs with traditional KEMs, as well as a KDF based on SHA-3
   that is suitable for use with these KEMs.  When used with these
   algorithms, HPKE is resilient with respect to attacks by a quantum
   computer.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-dilithium-11"/>
        </reference>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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>
      </references>
    </references>
    <?line 402?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
WgP4+EmRY/8D6UWlj/U+AAA=

-->

</rfc>
