<?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.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cose-hpke-pq-pqt-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="COSE HPKE PQ">COSE HPKE PQ &amp; PQ/T Algorithm Registrations</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-pq-pqt-00"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <email>k.tirumaleswar_reddy@nokia.com</email>
      </address>
    </author>
    <author fullname="Hannes Tschofenig">
      <organization abbrev="UniBw M.">University of the Bundeswehr Munich</organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author fullname="Filip Skokan">
      <organization>Okta</organization>
      <address>
        <email>panva.ip@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="20"/>
    <area>Security</area>
    <workgroup>CBOR Object Signing and Encryption</workgroup>
    <keyword>COSE</keyword>
    <keyword>HPKE</keyword>
    <keyword>post-quantum</keyword>
    <keyword>hybrid</keyword>
    <keyword>ML-KEM</keyword>
    <keyword>PQ</keyword>
    <keyword>PQ/T</keyword>
    <keyword>CRQC</keyword>
    <abstract>
      <?line 66?>

<t>This document registers Post-Quantum (PQ) and Post-Quantum/Traditional (PQ/T)
hybrid algorithm identifiers for use with CBOR Object Signing and Encryption
(COSE), 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://tireddy2.github.io/cose-hpke-pqt-pqc/draft-reddy-cose-hpke-pq-pqt.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-cose-hpke-pq-pqt/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        cose Working Group mailing list (<eref target="mailto:cose@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/cose/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/cose/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tireddy2/cose-hpke-pqt-pqc"/>.</t>
    </note>
  </front>
  <middle>
    <?line 73?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="I-D.ietf-cose-hpke"/> defines how to use Hybrid Public Key Encryption (HPKE)
with COSE_Encrypt0 and COSE_Encrypt structures (<xref target="RFC9052"/>) 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 the combination of asymmetric and symmetric
encryption.</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 uses the terms "Traditional Algorithm", "Post-Quantum Algorithm",
"PQ/T Hybrid Scheme", and "PQ/T Hybrid KEM" as defined in <xref target="RFC9794"/>. The
term "pure post-quantum" is used in this document to refer to a
single-algorithm scheme using only a post-quantum algorithm, with no
traditional component.</t>
    </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 COSE. 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-cose-hpke"/>, supporting both integrated encryption
as defined in <xref section="3.2" sectionFormat="of" target="I-D.ietf-cose-hpke"/> and key encryption
as defined in <xref section="3.3" sectionFormat="of" target="I-D.ietf-cose-hpke"/>.</t>
      <t>Test vectors for all algorithms defined in this section are provided in
<xref target="test-vectors"/>.</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>
        <!-- begin:table cose-pqt-hybrid-integrated-table "PQ/T Hybrid Integrated Encryption Algorithms" ; see README for regeneration instructions, do not edit -->

<table anchor="cose-pqt-hybrid-integrated-table">
          <name>PQ/T Hybrid Integrated Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">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">TBD (Assumed: 54)</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">TBD (Assumed: 56)</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-10</td>
              <td align="left">TBD (Assumed: 58)</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>
          </tbody>
        </table>
        <!-- end:table -->

<t>These algorithms combine ML-KEM with a traditional elliptic curve algorithm in a
PQ/T hybrid KEM, 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>
        <!-- begin:table cose-pure-pq-integrated-table "Pure PQ Integrated Encryption Algorithms" ; see README for regeneration instructions, do not edit -->

<table anchor="cose-pure-pq-integrated-table">
          <name>Pure PQ Integrated Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">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-11</td>
              <td align="left">TBD (Assumed: 60)</td>
              <td align="left">ML-KEM-512 (<tt>0x0040</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-128-GCM (<tt>0x0001</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-12</td>
              <td align="left">TBD (Assumed: 62)</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-13</td>
              <td align="left">TBD (Assumed: 64)</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>
          </tbody>
        </table>
        <!-- end: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>
        <!-- begin:table cose-pqt-hybrid-key-encryption-table "PQ/T Hybrid Key Encryption Algorithms" ; see README for regeneration instructions, do not edit -->

<table anchor="cose-pqt-hybrid-key-encryption-table">
          <name>PQ/T Hybrid Key Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">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">TBD (Assumed: 55)</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">TBD (Assumed: 57)</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-10-KE</td>
              <td align="left">TBD (Assumed: 59)</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>
          </tbody>
        </table>
        <!-- end:table -->

<t>These are the key encryption counterparts of the PQ/T hybrid integrated
encryption algorithms defined in <xref target="cose-pqt-hybrid-integrated-table"/>.</t>
      </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>
        <!-- begin:table cose-pure-pq-key-encryption-table "Pure PQ Key Encryption Algorithms" ; see README for regeneration instructions, do not edit -->

<table anchor="cose-pure-pq-key-encryption-table">
          <name>Pure PQ Key Encryption Algorithms</name>
          <thead>
            <tr>
              <th align="left">Name</th>
              <th align="left">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-11-KE</td>
              <td align="left">TBD (Assumed: 61)</td>
              <td align="left">ML-KEM-512 (<tt>0x0040</tt>)</td>
              <td align="left">SHAKE256 (<tt>0x0011</tt>)</td>
              <td align="left">AES-128-GCM (<tt>0x0001</tt>)</td>
            </tr>
            <tr>
              <td align="left">HPKE-12-KE</td>
              <td align="left">TBD (Assumed: 63)</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-13-KE</td>
              <td align="left">TBD (Assumed: 65)</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>
          </tbody>
        </table>
        <!-- end:table -->

<t>These are the key encryption counterparts of the pure PQ integrated
encryption algorithms defined in <xref target="cose-pure-pq-integrated-table"/>.</t>
      </section>
    </section>
    <section anchor="cosekey-representation">
      <name>COSE_Key Representation</name>
      <t>Keys for the algorithms defined in this document use the "AKP" (Algorithm
Key Pair) COSE key type defined in <xref section="3" sectionFormat="of" target="RFC9964"/>.
The required "alg" (label 3) parameter identifies the HPKE ciphersuite as
well as whether the key is used for Integrated Encryption or Key Encryption.</t>
      <t>The public key parameter (label -1) contains the SerializePublicKey() output
for the corresponding KEM, and for private keys the private key parameter
(label -2) contains the SerializePrivateKey() output, both as defined in
<xref section="4" sectionFormat="of" target="I-D.ietf-hpke-hpke"/>. Both values are encoded as CBOR byte
strings.</t>
      <t>Examples of COSE_Keys for each algorithm are provided in <xref target="test-vectors"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="I-D.ietf-cose-hpke"/> and
<xref target="I-D.ietf-hpke-pq"/> apply to this document.
<xref target="RFC9958"/> provides general background on the
threat posed by cryptographically relevant quantum computers (CRQCs),
the properties of KEMs, and considerations for PQ/T hybrid schemes.</t>
      <t>This document registers ciphersuites based on ML-KEM-512.
As noted in <xref section="3" sectionFormat="of" target="I-D.ietf-hpke-pq"/>, given the
relative novelty of ML-KEM, there is concern that new cryptanalysis
might reduce the security level of ML-KEM-512. Use of ML-KEM-768 or
ML-KEM-1024 acts as a hedge against such cryptanalysis at a modest
performance penalty, and is <bcp14>RECOMMENDED</bcp14> where the additional overhead
is acceptable.</t>
      <t>Unlike the companion JOSE algorithm registration document, this document
retains ML-KEM-512-based ciphersuites for COSE. Discussion of this work
identified COSE-specific deployment interest in these ciphersuites,
including constrained environments and deployments that already support
ML-KEM-512 in adjacent protocols and implementations. The ML-KEM-512
ciphersuites are therefore registered here to preserve that deployment
option, while the stronger ML-KEM-768- and ML-KEM-1024-based ciphersuites
remain the preferred choice when their additional overhead is acceptable.</t>
      <t>The PQ/T hybrid ciphersuites registered by this document are motivated
by the PQ/T Hybrid Confidentiality property (<xref section="5" sectionFormat="of" target="RFC9794"/>,
<xref section="13.1" sectionFormat="of" target="RFC9958"/>): confidentiality is
preserved as long as at least one of the component algorithms remains
secure. The traditional component protects against unforeseen
cryptanalysis of ML-KEM, while the post-quantum component protects
against Harvest Now, Decrypt Later (HNDL) attacks
(<xref section="7" sectionFormat="of" target="RFC9958"/>) by a future CRQC.
PQ/T hybrid ciphersuites are generally preferred for this reason during
the transition to post-quantum cryptography.</t>
      <t>The pure PQ ciphersuites are registered to accommodate deployments with
regulatory or compliance mandates that require the exclusive use of
post-quantum algorithms, such as those governed by the Commercial
National Security Algorithm Suite 2.0 <xref target="CNSA2.0"/>, as well as
deployments where the size or performance overhead of a traditional
component is undesirable.</t>
      <t>When the Key Encryption algorithms defined in
<xref target="cose-pqt-hybrid-key-encryption-table"/> or <xref target="cose-pure-pq-key-encryption-table"/>
are used in a COSE_Encrypt structure with multiple COSE_Recipient entries,
all recipients <bcp14>MUST</bcp14> use a quantum-resistant Key Management algorithm.
Including a recipient that uses an algorithm that is not quantum-resistant
would allow an adversary performing an HNDL attack to recover the Content
Encryption Key once a CRQC becomes available; see
<xref section="15.4" sectionFormat="of" target="RFC9958"/>.</t>
      <section anchor="security-strength">
        <name>Security Strength</name>
        <t>Ciphersuites based on ML-KEM-512 target NIST post-quantum security
level 1; those based on ML-KEM-768 target security level 3; and those
based on ML-KEM-1024 target security level 5 (see
<xref section="11" sectionFormat="of" target="RFC9958"/>).
In the PQ/T hybrid ciphersuites, the traditional component provides an
additional classical security floor: P-256 and X25519 offer approximately
128-bit classical security, while P-384 offers approximately 192-bit
classical security. The -KE variants share the same cryptographic
properties as their integrated encryption counterparts.</t>
        <t>All ciphersuites use SHAKE256 as the KDF, aligning with the hash family
used internally by ML-KEM. The AEAD is paired with the KEM security
level: ML-KEM-512 ciphersuites use AES-128-GCM, while ML-KEM-768,
ML-KEM-1024, and the PQ/T hybrid ciphersuites use AES-256-GCM. As
discussed in <xref section="3.1" sectionFormat="of" target="RFC9958"/>, symmetric
primitives are only modestly affected by quantum attacks and doubling
key sizes is not strictly required; AES-256-GCM is nonetheless selected
for the higher-strength ciphersuites to provide a comfortable margin
consistent with security level 3 and 5 parameter sets and with
contemporary guidance such as <xref target="CNSA2.0"/>. AES-128-GCM is used with
ML-KEM-512 since pairing a level-1 KEM with a level-5 AEAD would not
improve the overall security level while increasing implementation
and bandwidth cost. The widespread hardware acceleration and broad
deployment of AES-GCM make it a reasonable choice for all ciphersuites
defined in this document.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cose-algorithms-registry">
        <name>COSE Algorithms Registry</name>
        <t>This document requests registration of the following values in the
IANA "COSE Algorithms" registry established by <xref target="RFC9053"/>:</t>
        <t>Note: The HPKE algorithm numbering is intentionally aligned with the
companion JOSE document so that a given HPKE identifier denotes the same
HPKE KEM, KDF, and AEAD combination across JOSE and COSE.</t>
        <!-- begin:cose-iana-registrations ; see README for regeneration instructions, do not edit -->

<section toc="exclude" anchor="hpke-8">
          <name>HPKE-8</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-8</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 54)</t>
            </li>
            <li>
              <t>Description: Integrated Encryption with HPKE using MLKEM768-P256 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-8-ke">
          <name>HPKE-8-KE</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-8-KE</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 55)</t>
            </li>
            <li>
              <t>Description: Key Encryption with HPKE using MLKEM768-P256 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-9">
          <name>HPKE-9</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-9</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 56)</t>
            </li>
            <li>
              <t>Description: Integrated Encryption with HPKE using MLKEM768-X25519 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-9-ke">
          <name>HPKE-9-KE</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-9-KE</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 57)</t>
            </li>
            <li>
              <t>Description: Key Encryption with HPKE using MLKEM768-X25519 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-10">
          <name>HPKE-10</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-10</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 58)</t>
            </li>
            <li>
              <t>Description: Integrated Encryption with HPKE using MLKEM1024-P384 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pqt-hybrid-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-10-ke">
          <name>HPKE-10-KE</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-10-KE</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 59)</t>
            </li>
            <li>
              <t>Description: Key Encryption with HPKE using MLKEM1024-P384 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pqt-hybrid-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-11">
          <name>HPKE-11</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-11</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 60)</t>
            </li>
            <li>
              <t>Description: Integrated Encryption with HPKE using ML-KEM-512 KEM, SHAKE256 KDF, and AES-128-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-11-ke">
          <name>HPKE-11-KE</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-11-KE</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 61)</t>
            </li>
            <li>
              <t>Description: Key Encryption with HPKE using ML-KEM-512 KEM, SHAKE256 KDF, and AES-128-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-12">
          <name>HPKE-12</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-12</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 62)</t>
            </li>
            <li>
              <t>Description: Integrated Encryption with HPKE using ML-KEM-768 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-12-ke">
          <name>HPKE-12-KE</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-12-KE</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 63)</t>
            </li>
            <li>
              <t>Description: Key Encryption with HPKE using ML-KEM-768 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-13">
          <name>HPKE-13</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-13</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 64)</t>
            </li>
            <li>
              <t>Description: Integrated Encryption with HPKE using ML-KEM-1024 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pure-pq-integrated-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
        </section>
        <section toc="exclude" anchor="hpke-13-ke">
          <name>HPKE-13-KE</name>
          <ul spacing="normal">
            <li>
              <t>Name: HPKE-13-KE</t>
            </li>
            <li>
              <t>Value: TBD (Assumed: 65)</t>
            </li>
            <li>
              <t>Description: Key Encryption with HPKE using ML-KEM-1024 KEM, SHAKE256 KDF, and AES-256-GCM AEAD</t>
            </li>
            <li>
              <t>Capabilities: [kty]</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Reference: <xref target="cose-pure-pq-key-encryption-table"/> of this document</t>
            </li>
            <li>
              <t>Recommended: Yes</t>
            </li>
          </ul>
          <!-- end:cose-iana-registrations -->

</section>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9964">
          <front>
            <title>ML-DSA for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M. Prorock" initials="M." surname="Prorock"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document specifies JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) serializations for the 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="RFC" value="9964"/>
          <seriesInfo name="DOI" value="10.17487/RFC9964"/>
        </reference>
        <reference anchor="I-D.ietf-cose-hpke">
          <front>
            <title>Use of Hybrid Public-Key Encryption (HPKE) with CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <author fullname="Michael B. Jones" initials="M. B." surname="Jones">
              <organization>Self-Issued Consulting</organization>
            </author>
            <author fullname="Orie Steele" initials="O." surname="Steele">
              <organization>Tradeverifyd</organization>
            </author>
            <author fullname="Ajitomi, Daisuke" initials="A." surname="Daisuke">
              <organization>bibital LLC</organization>
            </author>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <date day="4" month="July" year="2026"/>
            <abstract>
              <t>   This specification defines hybrid public-key encryption (HPKE) for
   use with CBOR Object Signing and Encryption (COSE).  HPKE offers a
   variant of public-key encryption of arbitrary-sized plaintexts for a
   recipient public key.

   HPKE is a general encryption framework utilizing an asymmetric key
   encapsulation mechanism (KEM), a key derivation function (KDF), and
   an Authenticated Encryption with Associated Data (AEAD) algorithm.

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

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-hpke-26"/>
        </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="July" year="2026"/>
            <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-05"/>
        </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>
        <reference anchor="I-D.ietf-hpke-hpke">
          <front>
            <title>Hybrid Public Key Encryption</title>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
         </author>
            <author fullname="Karthikeyan Bhargavan" initials="K." surname="Bhargavan">
              <organization>Inria</organization>
            </author>
            <author fullname="Benjamin Lipp" initials="B." surname="Lipp">
              <organization>Rosenpass</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
         </author>
            <date day="6" month="July" year="2026"/>
            <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 a variant that authenticates possession of a pre-shared key.
   HPKE works for any combination of an asymmetric Key Encapsulation
   Mechanism (KEM), key derivation function (KDF), and authenticated
   encryption with additional data (AEAD) encryption function.  This
   document provides 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 SHA-2.

   This document obsoletes RFC 9180.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-hpke-hpke-04"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8792">
          <front>
            <title>Handling Long Lines in Content of Internet-Drafts and RFCs</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="E. Auerswald" initials="E." surname="Auerswald"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document defines two strategies for handling long lines in width-bounded text content. One strategy, called the "single backslash" strategy, is based on the historical use of a single backslash ('\') character to indicate where line-folding has occurred, with the continuation occurring with the first character that is not a space character (' ') on the next line. The second strategy, called the "double backslash" strategy, extends the first strategy by adding a second backslash character to identify where the continuation begins and is thereby able to handle cases not supported by the first strategy. Both strategies use a self-describing header enabling automated reconstitution of the original content.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8792"/>
          <seriesInfo name="DOI" value="10.17487/RFC8792"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC9053">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Initial Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines a set of algorithms that can be used with the CBOR Object Signing and Encryption (COSE) protocol (RFC 9052).</t>
              <t>This document, along with RFC 9052, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9053"/>
          <seriesInfo name="DOI" value="10.17487/RFC9053"/>
        </reference>
        <reference anchor="RFC9794">
          <front>
            <title>Terminology for Post-Quantum Traditional Hybrid Schemes</title>
            <author fullname="F. Driscoll" initials="F." surname="Driscoll"/>
            <author fullname="M. Parsons" initials="M." surname="Parsons"/>
            <author fullname="B. Hale" initials="B." surname="Hale"/>
            <date month="June" 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="RFC" value="9794"/>
          <seriesInfo name="DOI" value="10.17487/RFC9794"/>
        </reference>
        <reference anchor="RFC9958">
          <front>
            <title>Post-Quantum Cryptography for Engineers</title>
            <author fullname="A. Banerjee" initials="A." surname="Banerjee"/>
            <author fullname="T. Reddy.K" initials="T." surname="Reddy.K"/>
            <author fullname="D. Schoinianakis" initials="D." surname="Schoinianakis"/>
            <author fullname="T. Hollebeek" initials="T." surname="Hollebeek"/>
            <author fullname="M. Ounsworth" initials="M." surname="Ounsworth"/>
            <date month="June" year="2026"/>
            <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), and it details 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="RFC" value="9958"/>
          <seriesInfo name="DOI" value="10.17487/RFC9958"/>
        </reference>
        <reference anchor="CNSA2.0" target="https://media.defense.gov/2025/May/30/2003728741/-1/-1/0/CSA_CNSA_2.0_ALGORITHMS.PDF">
          <front>
            <title>Announcing the Commercial National Security Algorithm Suite 2.0</title>
            <author>
              <organization>National Security Agency</organization>
            </author>
            <date year="2025" month="May"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 459?>

<section anchor="test-vectors">
      <name>Test Vectors</name>
      <t>This appendix provides test vectors for each algorithm defined in this document.
For each algorithm, a private COSE_Key and an example encrypted COSE message
(COSE_Encrypt0 for integrated encryption suites, or COSE_Encrypt with a single
COSE_Recipient for key encryption suites) are provided, each shown in CBOR
diagnostic notation and as hex-encoded CBOR.
Long lines in the examples are folded using the single backslash strategy from
<xref target="RFC8792"/>. Before using a folded example as a test vector, remove the RFC 8792
header and unfold the lines according to that strategy.
The complete unfolded vector set is available as <tt>examples/cose-vectors.json</tt>
in the <eref target="https://github.com/tireddy2/cose-hpke-pqt-pqc">repository</eref> for this
document.</t>
      <!-- begin:cose-test-vectors ; see README for regeneration instructions, do not edit -->

<section toc="exclude" anchor="hpke-8-1">
        <name>HPKE-8</name>
        <figure>
          <name>HPKE-8 COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-8-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-8 COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-8-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-8 COSE_Encrypt0 (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-8-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-8 COSE_Encrypt0 (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-8-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-8-ke-1">
        <name>HPKE-8-KE</name>
        <figure>
          <name>HPKE-8-KE COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-8-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-8-KE COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-8-KE-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-8-KE COSE_Encrypt (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-8-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-8-KE COSE_Encrypt (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-8-KE-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-9-1">
        <name>HPKE-9</name>
        <figure>
          <name>HPKE-9 COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-9-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-9 COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-9-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-9 COSE_Encrypt0 (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-9-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-9 COSE_Encrypt0 (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-9-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-9-ke-1">
        <name>HPKE-9-KE</name>
        <figure>
          <name>HPKE-9-KE COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-9-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-9-KE COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-9-KE-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-9-KE COSE_Encrypt (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-9-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-9-KE COSE_Encrypt (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-9-KE-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-10-1">
        <name>HPKE-10</name>
        <figure>
          <name>HPKE-10 COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-10-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-10 COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-10-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-10 COSE_Encrypt0 (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-10-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-10 COSE_Encrypt0 (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-10-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-10-ke-1">
        <name>HPKE-10-KE</name>
        <figure>
          <name>HPKE-10-KE COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-10-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-10-KE COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-10-KE-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-10-KE COSE_Encrypt (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-10-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-10-KE COSE_Encrypt (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-10-KE-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-11-1">
        <name>HPKE-11</name>
        <figure>
          <name>HPKE-11 COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-11-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-11 COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-11-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-11 COSE_Encrypt0 (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-11-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-11 COSE_Encrypt0 (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-11-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-11-ke-1">
        <name>HPKE-11-KE</name>
        <figure>
          <name>HPKE-11-KE COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-11-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-11-KE COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-11-KE-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-11-KE COSE_Encrypt (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-11-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-11-KE COSE_Encrypt (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-11-KE-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-12-1">
        <name>HPKE-12</name>
        <figure>
          <name>HPKE-12 COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-12-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-12 COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-12-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-12 COSE_Encrypt0 (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-12-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-12 COSE_Encrypt0 (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-12-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-12-ke-1">
        <name>HPKE-12-KE</name>
        <figure>
          <name>HPKE-12-KE COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-12-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-12-KE COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-12-KE-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-12-KE COSE_Encrypt (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-12-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-12-KE COSE_Encrypt (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-12-KE-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-13-1">
        <name>HPKE-13</name>
        <figure>
          <name>HPKE-13 COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-13-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-13 COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-13-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-13 COSE_Encrypt0 (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-13-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-13 COSE_Encrypt0 (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-13-hex.txt}
]]></artwork>
        </figure>
      </section>
      <section toc="exclude" anchor="hpke-13-ke-1">
        <name>HPKE-13-KE</name>
        <figure>
          <name>HPKE-13-KE COSE_Key (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose-keys/HPKE-13-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-13-KE COSE_Key (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose-keys/HPKE-13-KE-hex.txt}
]]></artwork>
        </figure>
        <figure>
          <name>HPKE-13-KE COSE_Encrypt (Diagnostic Notation)</name>
          <sourcecode type="cbor-diag"><![CDATA[{::include examples/cose/HPKE-13-KE-diag.txt}
]]></sourcecode>
        </figure>
        <figure>
          <name>HPKE-13-KE COSE_Encrypt (Hex-Encoded CBOR)</name>
          <artwork><![CDATA[{::include examples/cose/HPKE-13-KE-hex.txt}
]]></artwork>
        </figure>
        <!-- end:cose-test-vectors -->

</section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Ilari Liusvaara and Orie Steele for the discussion and comments.</t>
    </section>
    <section numbered="false" anchor="document-history">
      <name>Document History</name>
      <t>draft-reddy-cose-hpke-pq-pqt-03</t>
      <ul spacing="normal">
        <li>
          <t>Folded long test-vector lines using the RFC 8792 single backslash strategy</t>
        </li>
      </ul>
      <t>draft-reddy-cose-hpke-pq-pqt-02</t>
      <ul spacing="normal">
        <li>
          <t>Added rationale for retaining ML-KEM-512-based ciphersuites for COSE</t>
        </li>
        <li>
          <t>Added a note that HPKE algorithm numbering is intentionally aligned with
the companion JOSE registrations</t>
        </li>
      </ul>
      <t>draft-reddy-cose-hpke-pq-pqt-00</t>
      <ul spacing="normal">
        <li>
          <t>Replaces draft-reddy-cose-jose-pqc-hybrid-hpke</t>
        </li>
        <li>
          <t>Removed ChaCha20Poly1305 AEAD ciphersuites</t>
        </li>
        <li>
          <t>Adapted source from draft-skokan-jose-hpke-pq-pqt-04 for COSE</t>
        </li>
        <li>
          <t>Added Filip Skokan as author</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
