<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-preussmattsson-tls-hqckem-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="HQC-KEM for TLS 1.3">HQC-KEM Key Agreement for TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-preussmattsson-tls-hqckem-01"/>
    <author initials="J." surname="Preuß Mattsson" fullname="John Preuß Mattsson">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>john.mattsson@ericsson.com</email>
      </address>
    </author>
    <author initials="S." surname="Ruohomaa" fullname="Sini Ruohomaa">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <country>Finland</country>
        </postal>
        <email>sini.ruohomaa@ericsson.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="15"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>tls</keyword>
    <keyword>hqc</keyword>
    <keyword>hybrid</keyword>
    <abstract>
      <?line 166?>

<t>This document defines nine quantum-resistant TLS 1.3 key exchange algorithms based on HQC-KEM, the code-based KEM selected by NIST for standardization in forthcoming FIPS 207. Three use HQC-KEM standalone, two combine it with X25519 or X448 in PQ/T hybrids, two combine it with ML-KEM in PQ/PQ hybrids, and two combine it with ML-KEM and X25519 or X448 in PQ/PQ/T hybrids. Because HQC-KEM relies on hardness assumptions and constructions different from those underlying lattice-based ML-KEM, these algorithms provide algorithmic diversity that can mitigate the impact of future cryptanalytic advances or implementation weaknesses in lattice-based cryptography. The algorithms are intended for TLS 1.3, DTLS 1.3, and QUIC, and the hybrid algorithms follow the general hybrid key exchange construction defined for TLS 1.3.</t>
    </abstract>
  </front>
  <middle>
    <?line 170?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The transition to post-quantum cryptography requires new key exchange mechanisms for TLS 1.3 <xref target="RFC9846"/>. ML-KEM <xref target="FIPS203"/> is the primary post-quantum KEM and is used in TLS 1.3 both standalone <xref target="I-D.ietf-tls-mlkem"/> and in hybrid key exchange algorithms such as X25519MLKEM768 <xref target="RFC10024"/>. ML-KEM is lattice-based, and its security relies on the hardness of the Module Learning With Errors (MLWE) problem.</t>
      <t>In March 2025, NIST selected HQC (Hamming Quasi-Cyclic) for standardization as a second post-quantum KEM <xref target="NISTIR8545"/>. HQC-KEM is code-based, and its security relies on the hardness of decoding random quasi-cyclic codes. NIST selected HQC to provide a backup to ML-KEM that is based on a different hardness assumption and construction, so that a future cryptanalytic breakthrough against lattice-based cryptography or ML-KEM does not leave deployments without a standardized post-quantum KEM. NIST is specifying HQC-KEM in the forthcoming <xref target="FIPS207"/>. In addition to NIST, European cybersecurity agencies have high trust in HQC-KEM. For example, ANSSI labels HQC-KEM as "higher confidence", together with ML-KEM, ML-DSA, and FrodoKEM <xref target="ANSSI25"/>. HQC-KEM has larger encapsulation keys and ciphertexts and is slower than ML-KEM <xref target="PQ-PQ"/>.</t>
      <ul empty="true">
        <li>
          <t>Editor's note: At the time of writing, FIPS 207 has not been published, not even as an Initial Public Draft. This document is based on the HQC specification of 2026-10-12 <xref target="HQC"/>. All references to <xref target="FIPS207"/>, including section references, parameter set names, and the sizes in <xref target="sizes"/>, need to be verified and updated once FIPS 207 is published. This note is to be removed before publication as an RFC.</t>
        </li>
      </ul>
      <t><xref target="RFC9954"/> specifies a general design for hybrid key exchange in TLS 1.3. This document applies that design to six hybrid key exchange algorithms and separately defines three standalone key exchange algorithms based on HQC-KEM.</t>
      <ul spacing="normal">
        <li>
          <t>HQCKEM128, HQCKEM192, and HQCKEM256 use the HQC-KEM parameter sets targeting security categories 1, 3, and 5 <xref target="SP800-57"/>, respectively, without any other component. They provide security against quantum attackers as long as HQC-KEM remains secure. Standalone code points are defined for every HQC-KEM parameter set in <xref target="FIPS207"/>, consistent with the standalone ML-KEM code points <xref target="I-D.ietf-tls-mlkem"/>.</t>
        </li>
        <li>
          <t>HQCKEM192X25519 and HQCKEM256X448 are PQ/T hybrids <xref target="RFC9794"/> that combine HQC-KEM with the traditional elliptic-curve algorithms X25519 and X448 <xref target="RFC7748"/>. They provide security against quantum attackers as long as HQC-KEM remains secure and security against classical attackers as long as at least one of the two components remains secure.</t>
        </li>
        <li>
          <t>HQCKEM192MLKEM768 and HQCKEM256MLKEM1024 are PQ/PQ hybrids <xref target="RFC9794"/> that combine HQC-KEM with ML-KEM <xref target="FIPS203"/>. They provide security against quantum attackers as long as at least one of the code-based and lattice-based components remains secure, mitigating the impact of future cryptanalytic advances or implementation weaknesses against either component.</t>
        </li>
        <li>
          <t>HQCKEM192MLKEM768X25519 and HQCKEM256MLKEM1024X448 are PQ/PQ/T hybrids that combine HQC-KEM with both ML-KEM and X25519 or X448, respectively. They provide security against quantum attackers as long as at least one of the post-quantum components remains secure, and security against classical attackers as long as at least one of the three components remains secure.</t>
        </li>
      </ul>
      <t>Recent developments have increased interest in algorithmic diversity and conservative key exchange designs. In particular, a claimed polynomial-time quantum algorithm for the Dihedral Coset Problem (DCP) <xref target="Simon26"/>, which was subsequently challenged <xref target="GRZ26"/>, prompted discussion about the security of lattice-based cryptography, while recent advances in the cryptanalysis of Goppa codes have challenged long-standing assumptions and led BSI to no longer recommend Classic McEliece <xref target="ISO18033-2-AMD2"/> for new developments <xref target="BSI"/>. The algorithms specified in this document provide algorithmic diversity, while the PQ/PQ and PQ/PQ/T hybrids provide a conservative design, with significantly smaller key shares and better performance <xref target="PQ-PQ"/> than FrodoKEM <xref target="ISO18033-2-AMD2"/>.</t>
      <t>The algorithms in this document are not intended to replace ML-KEM in latency-sensitive deployments such as the Web. The PQ/PQ and PQ/PQ/T hybrids primarily target high-security deployments where the protected information may need to remain confidential for decades and handshake latency is less critical.</t>
      <t>The algorithms defined in this document are intended for use with TLS 1.3 <xref target="RFC9846"/>, DTLS 1.3 <xref target="RFC9147"/>, and QUIC <xref target="RFC9001"/>. The hybrid algorithms follow the hybrid key exchange construction defined in <xref target="RFC9954"/>, which for the PQ/PQ/T hybrids is applied with three components. This document defines only additional TLS NamedGroup values and their associated key share and shared secret encodings. It does not modify the TLS 1.3 handshake, key schedule, or negotiation mechanisms.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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 terminology of TLS 1.3 <xref target="RFC9846"/>, hybrid key exchange in TLS 1.3 <xref target="RFC9954"/>, hybrid schemes <xref target="RFC9794"/>, ML-KEM <xref target="FIPS203"/>, and HQC-KEM <xref target="FIPS207"/>.</t>
      <t>In this document, HQC-KEM-128, HQC-KEM-192, and HQC-KEM-256 denote the HQC-KEM parameter sets targeting security categories 1, 3, and 5, respectively. These correspond to the parameter sets named HQC-1, HQC-3, and HQC-5 in <xref target="HQC"/>.</t>
      <ul empty="true">
        <li>
          <t>Editor's note: Update the parameter set names to match those used in <xref target="FIPS207"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="hqc-kem-key-exchange-algorithms">
      <name>HQC-KEM Key Exchange Algorithms</name>
      <t>This document defines nine TLS NamedGroups for use with the TLS 1.3 supported_groups and key_share extensions. For the hybrid algorithms, key shares and shared secrets are encoded by concatenating the component values in the order indicated by the name. All encodings are fixed-length.</t>
      <t>For all algorithms, the client key_exchange value contains the encapsulation key or public key of each component, and the server key_exchange value contains the ciphertext or public key of each component. The KEM shared secrets are produced by encapsulation and decapsulation as specified in <xref target="FIPS207"/> and <xref target="FIPS203"/>. X25519 and X448 shared secrets are produced as specified in <xref section="7.4.2" sectionFormat="of" target="RFC9846"/>. The resulting asymmetric shared secret is the input to the TLS 1.3 key schedule <xref section="7.1" sectionFormat="of" target="RFC9846"/>.</t>
      <section anchor="sizes">
        <name>Sizes</name>
        <t><xref target="fig-sizes"/> summarizes the security category and the sizes in bytes of the client key share, the server key share, and the shared secret for each algorithm.</t>
        <table anchor="fig-sizes">
          <name>Security categories and key share and shared secret sizes in bytes</name>
          <thead>
            <tr>
              <th align="left">NamedGroup</th>
              <th align="right">Security category</th>
              <th align="right">Client share</th>
              <th align="right">Server share</th>
              <th align="right">Shared secret</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">HQCKEM128</td>
              <td align="right">1</td>
              <td align="right">2241</td>
              <td align="right">4433</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">HQCKEM192</td>
              <td align="right">3</td>
              <td align="right">4514</td>
              <td align="right">8978</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">HQCKEM256</td>
              <td align="right">5</td>
              <td align="right">7237</td>
              <td align="right">14421</td>
              <td align="right">32</td>
            </tr>
            <tr>
              <td align="left">HQCKEM192X25519</td>
              <td align="right">3</td>
              <td align="right">4546</td>
              <td align="right">9010</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">HQCKEM256X448</td>
              <td align="right">5</td>
              <td align="right">7293</td>
              <td align="right">14477</td>
              <td align="right">88</td>
            </tr>
            <tr>
              <td align="left">HQCKEM192MLKEM768</td>
              <td align="right">3</td>
              <td align="right">5698</td>
              <td align="right">10066</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">HQCKEM256MLKEM1024</td>
              <td align="right">5</td>
              <td align="right">8805</td>
              <td align="right">15989</td>
              <td align="right">64</td>
            </tr>
            <tr>
              <td align="left">HQCKEM192MLKEM768X25519</td>
              <td align="right">3</td>
              <td align="right">5730</td>
              <td align="right">10098</td>
              <td align="right">96</td>
            </tr>
            <tr>
              <td align="left">HQCKEM256MLKEM1024X448</td>
              <td align="right">5</td>
              <td align="right">8861</td>
              <td align="right">16045</td>
              <td align="right">120</td>
            </tr>
          </tbody>
        </table>
        <t>All key share sizes are well below the maximum key_exchange length of 2<sup>16</sup> - 1 bytes.</t>
      </section>
      <section anchor="hqckem128-hqckem192-and-hqckem256">
        <name>HQCKEM128, HQCKEM192, and HQCKEM256</name>
        <t>For HQCKEM128, HQCKEM192, and HQCKEM256, the client key_exchange value contains the HQC-KEM-128, HQC-KEM-192, or HQC-KEM-256 encapsulation key, respectively:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[2241];
} HQCKEM128ClientShare;

struct {
    opaque hqckem_key[4514];
} HQCKEM192ClientShare;

struct {
    opaque hqckem_key[7237];
} HQCKEM256ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM ciphertext:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[4433];
} HQCKEM128ServerShare;

struct {
    opaque hqckem_ciphertext[8978];
} HQCKEM192ServerShare;

struct {
    opaque hqckem_ciphertext[14421];
} HQCKEM256ServerShare;
]]></artwork>
        <t>The 32-byte shared secret input to the TLS 1.3 key schedule is the HQC-KEM shared secret.</t>
      </section>
      <section anchor="hqckem192x25519">
        <name>HQCKEM192X25519</name>
        <t>For HQCKEM192X25519, the client key_exchange value contains the HQC-KEM-192 encapsulation key followed by the X25519 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[4514];
    opaque ecdhe_key[32];
} HQCKEM192X25519ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM-192 ciphertext followed by the X25519 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[8978];
    opaque ecdhe_key[32];
} HQCKEM192X25519ServerShare;
]]></artwork>
        <t>The 64-byte shared secret input to the TLS 1.3 key schedule is the concatenation of the HQC-KEM shared secret followed by the X25519 shared secret:</t>
        <artwork><![CDATA[
concatenated_shared_secret =
    HQCKEM192_shared_secret || X25519_shared_secret
]]></artwork>
      </section>
      <section anchor="hqckem256x448">
        <name>HQCKEM256X448</name>
        <t>For HQCKEM256X448, the client key_exchange value contains the HQC-KEM-256 encapsulation key followed by the X448 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[7237];
    opaque ecdhe_key[56];
} HQCKEM256X448ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM-256 ciphertext followed by the X448 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[14421];
    opaque ecdhe_key[56];
} HQCKEM256X448ServerShare;
]]></artwork>
        <t>The 88-byte shared secret input to the TLS 1.3 key schedule is the concatenation of the HQC-KEM shared secret followed by the X448 shared secret:</t>
        <artwork><![CDATA[
concatenated_shared_secret =
    HQCKEM256_shared_secret || X448_shared_secret
]]></artwork>
      </section>
      <section anchor="hqckem192mlkem768">
        <name>HQCKEM192MLKEM768</name>
        <t>For HQCKEM192MLKEM768, the client key_exchange value contains the HQC-KEM-192 encapsulation key followed by the ML-KEM-768 encapsulation key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[4514];
    opaque mlkem_key[1184];
} HQCKEM192MLKEM768ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM-192 ciphertext followed by the ML-KEM-768 ciphertext:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[8978];
    opaque mlkem_ciphertext[1088];
} HQCKEM192MLKEM768ServerShare;
]]></artwork>
        <t>The 64-byte shared secret input to the TLS 1.3 key schedule is the concatenation of the HQC-KEM shared secret followed by the ML-KEM shared secret:</t>
        <artwork><![CDATA[
concatenated_shared_secret =
    HQCKEM192_shared_secret || MLKEM768_shared_secret
]]></artwork>
      </section>
      <section anchor="hqckem256mlkem1024">
        <name>HQCKEM256MLKEM1024</name>
        <t>For HQCKEM256MLKEM1024, the client key_exchange value contains the HQC-KEM-256 encapsulation key followed by the ML-KEM-1024 encapsulation key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[7237];
    opaque mlkem_key[1568];
} HQCKEM256MLKEM1024ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM-256 ciphertext followed by the ML-KEM-1024 ciphertext:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[14421];
    opaque mlkem_ciphertext[1568];
} HQCKEM256MLKEM1024ServerShare;
]]></artwork>
        <t>The 64-byte shared secret input to the TLS 1.3 key schedule is the concatenation of the HQC-KEM shared secret followed by the ML-KEM shared secret:</t>
        <artwork><![CDATA[
concatenated_shared_secret =
    HQCKEM256_shared_secret || MLKEM1024_shared_secret
]]></artwork>
      </section>
      <section anchor="hqckem192mlkem768x25519">
        <name>HQCKEM192MLKEM768X25519</name>
        <t>For HQCKEM192MLKEM768X25519, the client key_exchange value contains the HQC-KEM-192 encapsulation key, followed by the ML-KEM-768 encapsulation key, followed by the X25519 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[4514];
    opaque mlkem_key[1184];
    opaque ecdhe_key[32];
} HQCKEM192MLKEM768X25519ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM-192 ciphertext, followed by the ML-KEM-768 ciphertext, followed by the X25519 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[8978];
    opaque mlkem_ciphertext[1088];
    opaque ecdhe_key[32];
} HQCKEM192MLKEM768X25519ServerShare;
]]></artwork>
        <t>The 96-byte shared secret input to the TLS 1.3 key schedule is the concatenation of the HQC-KEM shared secret, followed by the ML-KEM shared secret, followed by the X25519 shared secret:</t>
        <artwork><![CDATA[
concatenated_shared_secret =
    HQCKEM192_shared_secret || MLKEM768_shared_secret ||
    X25519_shared_secret
]]></artwork>
      </section>
      <section anchor="hqckem256mlkem1024x448">
        <name>HQCKEM256MLKEM1024X448</name>
        <t>For HQCKEM256MLKEM1024X448, the client key_exchange value contains the HQC-KEM-256 encapsulation key, followed by the ML-KEM-1024 encapsulation key, followed by the X448 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_key[7237];
    opaque mlkem_key[1568];
    opaque ecdhe_key[56];
} HQCKEM256MLKEM1024X448ClientShare;
]]></artwork>
        <t>The server key_exchange value contains the HQC-KEM-256 ciphertext, followed by the ML-KEM-1024 ciphertext, followed by the X448 public key:</t>
        <artwork><![CDATA[
struct {
    opaque hqckem_ciphertext[14421];
    opaque mlkem_ciphertext[1568];
    opaque ecdhe_key[56];
} HQCKEM256MLKEM1024X448ServerShare;
]]></artwork>
        <t>The 120-byte shared secret input to the TLS 1.3 key schedule is the concatenation of the HQC-KEM shared secret, followed by the ML-KEM shared secret, followed by the X448 shared secret:</t>
        <artwork><![CDATA[
concatenated_shared_secret =
    HQCKEM256_shared_secret || MLKEM1024_shared_secret ||
    X448_shared_secret
]]></artwork>
      </section>
      <section anchor="validation">
        <name>Validation</name>
        <t>Both client and server <bcp14>MUST</bcp14> check that the received key share has the length given in <xref target="fig-sizes"/> for the negotiated group and abort with an "illegal_parameter" alert if it fails.</t>
        <t>The server <bcp14>MUST</bcp14> perform any encapsulation key checks specified in <xref target="FIPS207"/> on the client's HQC-KEM encapsulation key and abort with an "illegal_parameter" alert if they fail. For algorithms with an ML-KEM component, the server <bcp14>MUST</bcp14> also perform the encapsulation key check described in Section 7.2 of <xref target="FIPS203"/> on the client's ML-KEM encapsulation key and abort with an "illegal_parameter" alert if it fails.</t>
        <ul empty="true">
          <li>
            <t>Editor's note: Add a section reference to the HQC-KEM input checks in <xref target="FIPS207"/>, if any are specified.</t>
          </li>
        </ul>
        <t>If HQC-KEM or ML-KEM decapsulation fails for any reason, the client <bcp14>MUST</bcp14> abort with an "internal_error" alert.</t>
        <t>For algorithms with an X25519 or X448 component, both client and server <bcp14>MUST</bcp14> calculate the X25519 or X448 part of the shared secret as described in <xref section="7.4.2" sectionFormat="of" target="RFC9846"/>, including the all-zero shared secret check, and abort with an "illegal_parameter" alert if it fails.</t>
      </section>
      <section anchor="implementation-considerations">
        <name>Implementation Considerations</name>
        <t>The HQC-KEM decapsulation key is a 32-byte seed. Clients can avoid expanding the seed twice by retaining the expanded key in memory from key generation until the server's key share has been processed.</t>
        <ul empty="true">
          <li>
            <t>Editor's note: The decapsulation key format follows the HQC specification of 2026-10-12 <xref target="HQC"/>. Update this text if <xref target="FIPS207"/> specifies a different format.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The hybrid algorithms defined in this document use the hybrid construction specified in <xref target="RFC9954"/>. Their security relies on the TLS 1.3 transcript binding and key schedule. The security considerations in <xref target="RFC9846"/>, <xref target="FIPS207"/>, <xref target="FIPS203"/>, <xref target="SP800-227"/>, <xref target="RFC7748"/>, and <xref target="RFC9954"/> apply to the algorithms defined in this document. A key share, or any of its components, <bcp14>MUST NOT</bcp14> be reused for multiple connections, as required by TLS 1.3 <xref target="RFC9846"/>.</t>
      <t>HQC-KEM-128, HQC-KEM-192, and HQC-KEM-256 target post-quantum security categories 1, 3, and 5 <xref target="SP800-57"/>, respectively. All algorithms with HQC-KEM-256 provide security category 5, matching the security level of cipher suites with AES-256 and ChaCha20.</t>
      <t>HQC-KEM is designed to provide indistinguishability under adaptive chosen-ciphertext attack (IND-CCA2) security <xref target="HQC"/>. The security of HQC-KEM relies on the hardness of decoding random quasi-cyclic codes, which is a different assumption than the module lattice assumptions underlying ML-KEM. HQC-KEM therefore provides algorithmic diversity for deployments concerned about future cryptanalytic advances against lattice-based cryptography, see <xref target="diversity"/>. Hybrid constructions also protect against implementation vulnerabilities, such as side-channel leakage or software bugs, in one of the component algorithms.</t>
      <t>Compared with X25519MLKEM768 <xref target="RFC10024"/>, which has the value Y in the Recommended column of the IANA TLS Supported Groups registry <xref target="IANA"/>, HQCKEM192MLKEM768X25519 and HQCKEM256MLKEM1024X448 provide greater security margin and algorithmic diversity, at the cost of larger messages and higher computational cost. The key share sizes and the computational cost are dominated by the HQC-KEM component.</t>
      <t>The hybrid key exchange algorithms defined in this document are compatible with the key combiner specified in <xref target="SP800-227"/> and the CatKDF key combiner specified in <xref target="ETSI-TS-103-744"/>. The security analysis of <xref target="RFC9954"/> applies, and the PQ/PQ/T hybrids retain the security of their strongest component.</t>
      <t>A fundamental requirement of hybrid constructions is that their security is at least as high as that of their strongest component; that is, the construction preserves the cryptographic security properties of its components <xref target="EU25"/>, <xref target="EU26"/>, <xref target="NCSC26"/>, <xref target="SP800-227"/>. The hybrid key exchange algorithms defined in this document are designed to meet this requirement and preserve the quantum resistance and IND-CCA2 security of HQC-KEM and ML-KEM. X25519 provides approximately 128 bits of classical security and X448 approximately 224 bits of classical security <xref target="RFC7748"/>; neither provides quantum resistance. Compared with P-curves and Brainpool curves offering a comparable security level, X25519 and X448 are significantly faster and provide greater implementation robustness.</t>
      <t>Deployments that require a traditional component in the key exchange, for example due to regulatory recommendations, should use the PQ/T or PQ/PQ/T hybrids rather than the PQ/PQ hybrids or the standalone algorithms. Note that it is uncertain whether regulators worldwide will continue to approve cryptographic constructions such as PQ/T or PQ/PQ/T hybrids once the traditional component has been deprecated.</t>
      <t>The algorithms can be combined with an external pre-shared key (PSK) using the TLS 1.3 "psk_dhe_ke" key exchange mode <xref target="RFC9846"/>, optionally together with certificate-based authentication <xref target="RFC9973"/>. This yields PQ/PSK hybrids without any additional code points.</t>
      <t>Availability is a fundamental security property and part of the CIA triad in information security <xref target="SP800-12"/>. HQC-KEM encapsulation keys and ciphertexts are significantly larger than those of ML-KEM at the same security category. Large client key shares are known to cause interoperability problems with non-compliant or buggy legacy TLS implementations, as well as with middleboxes and other network infrastructure that impose non-compliant limitations on large TLS ClientHello messages. Large key shares also increase bandwidth, memory, and computational costs for constrained endpoints or deployments operating over lossy or bandwidth-constrained networks, potentially reducing availability. Clients may choose to advertise the groups in this document in the supported_groups extension without sending a corresponding key share in the initial ClientHello, at the cost of an additional round trip if the server selects one of them using HelloRetryRequest.</t>
      <t>An HQC-KEM ciphertext is roughly twice the size of the encapsulation key, making the server's first flight much larger than the ClientHello. Each transport can pay extra round trips for this. In QUIC, the anti-amplification limit can delay the server's first flight until the client's address is validated. DTLS 1.3 servers <bcp14>SHOULD</bcp14> verify return routability with a HelloRetryRequest cookie (<xref section="5.1" sectionFormat="of" target="RFC9147"/>) before sending an HQC-KEM ciphertext when the client's address has not otherwise been validated.</t>
      <t>Implementations <bcp14>MUST NOT</bcp14> use the algorithms defined in this document with TLS 1.2 or DTLS 1.2, which are obsolete and should be phased out as soon as possible. 3GPP already mandates that TLS 1.2 be disabled by default <xref target="TS33.210"/>.</t>
      <ul empty="true">
        <li>
          <t>Editor's note: This requirement will appear in a future version of <xref target="TS33.210"/>. Update the reference when published.</t>
        </li>
      </ul>
      <section anchor="diversity">
        <name>Algorithmic Diversity</name>
        <t>One risk to consider is a novel algorithm that breaks most of lattice-based cryptography, regardless of whether the underlying lattices are structured, as in ML-KEM <xref target="FIPS203"/>, or unstructured, as in FrodoKEM <xref target="ISO18033-2-AMD2"/>. For example, a polynomial-time quantum algorithm for the Dihedral Coset Problem (DCP) would, by Regev's reduction <xref target="Regev04"/> as improved by Brakerski et al. <xref target="BKSW18"/>, yield a polynomial-time quantum algorithm for the Learning With Errors (LWE) problem. The best known quantum algorithm for DCP is Kuperberg's subexponential-time algorithm <xref target="Kuperberg05"/>. Claimed polynomial-time quantum algorithms for LWE in 2024 <xref target="Chen24"/> and for DCP in 2026 <xref target="Simon26"/> <xref target="GRZ26"/> were subsequently refuted or challenged, but illustrate that this remains an active research area. HQC-KEM relies on the hardness of decoding random quasi-cyclic codes in the Hamming metric, and efficient algorithms for DCP or LWE are not known to imply an efficient decoding algorithm for such codes.</t>
        <t>Recent advances in the cryptanalysis of Goppa codes have challenged long-standing assumptions and led BSI to no longer recommend the ISO-standardized Classic McEliece <xref target="ISO18033-2-AMD2"/> for new developments <xref target="BSI"/>. While HQC-KEM <xref target="FIPS207"/> is also code-based like Classic McEliece, its security relies on the hardness of decoding random quasi-cyclic codes and is not affected by advances in cryptanalysis of Goppa codes.</t>
        <t>The algorithms specified in this document provide algorithmic diversity, and the PQ/PQ and PQ/PQ/T hybrids provide a conservative design. They remain secure against quantum attackers unless both the lattice-based and code-based components are broken. Compared with FrodoKEM <xref target="ISO18033-2-AMD2"/>, the combination of ML-KEM and HQC-KEM has significantly smaller key shares and requires roughly an order of magnitude fewer CPU cycles at the same security category <xref target="PQ-PQ"/>. These hybrids are particularly well suited to high-security applications where handshake latency is not a primary concern.</t>
        <t>Nation-state attackers have a long history of recording high-value encrypted traffic and decrypting it later, once better cryptanalytic tools become available. A key exchange therefore has to be chosen at deployment time to provide adequate confidentiality for the entire period during which the protected information remains sensitive, which may be decades. This cannot be fixed afterwards. Traffic recorded before a cryptographuc transition remains protected only by the key exchange used at the time, and a single transfer of sensitive data over an inadequately protected connection, such as a backup, can expose all of that data.</t>
        <t>PQ/T hybrids do not protect against quantum attackers if the post-quantum component is broken, as a quantum attacker can break the traditional component. Robust security against quantum attackers, that is, security that survives the break of a single post-quantum algorithm, requires either a PQ/PQ or PQ/PSK hybrid. Ekerå strongly recommends PQ/PSK hybrids <xref target="Ekera"/>, as the pre-shared key preserves security even if the post-quantum algorithm is broken. However, PQ/PSK hybrids require symmetric keys to be provisioned in advance, which may be impractical in many use cases due to the challenges of key provisioning and trust establishment.</t>
        <t>Cryptographic agility is the capability to quickly change cryptographic algorithms in response to evolving security requirements or newly discovered vulnerabilities, while maintaining interoperability and system functionality. Supporting both ML-KEM and HQC-KEM enables a system to transition between lattice-based and code-based key establishment. However, agility only protects connections established after the transition, as discussed above. This is why hybrid key establishment, particularly PQ/PQ hybrids, is important for key exchange, but the same rationale does not generally apply to digital signatures.</t>
        <t>Furthermore, in environments where cryptographic updates are slow, upgrading all legacy nodes can take a decade, so a post-quantum algorithm found to be weak cannot be swapped out quickly. PQ/PQ and PQ/PQ/T hybrids provide an additional security margin here: unlike hybrids with a single post-quantum component, they keep previously protected data confidential against quantum adversaries even if one of the post-quantum components is later broken.</t>
        <t>ML-KEM and HQC are both structured schemes built on polynomial rings, so a natural concern is that an attack exploiting ring structure might apply to both. The rings, however, differ in essential ways. ML-KEM works over Z<sub>q</sub>[X]/(X<sup>256</sup> + 1) with q = 3329. This ring splits into 128 quadratic factors, which ML-KEM exploits for fast NTT-based multiplication. Its secrets and errors are small in absolute value, and its security rests on the Module-LWE problem. HQC works over F<sub>2</sub>[X]/(X<sup>n</sup> − 1), where n is a prime chosen so that X<sup>n</sup> − 1 factors only as (X − 1) times a single irreducible polynomial, deliberately limiting exploitable substructure. Its secrets and errors are sparse in Hamming weight, and its security rests on the quasi-cyclic syndrome decoding problem. The two rings therefore differ in characteristic, in how they factor, and in the notion of "small" on which hardness depends. No known attack technique or reduction establishes that an efficient solution to the underlying problem of one scheme would yield an efficient attack on the other.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests that IANA register nine new entries in the TLS Supported Groups registry <xref target="IANA"/>, according to the procedures in <xref section="6" sectionFormat="of" target="RFC9847"/>.</t>
      <section anchor="hqckem128">
        <name>HQCKEM128</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM128</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>Standalone HQC-KEM-128</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem192">
        <name>HQCKEM192</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD2</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM192</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>Standalone HQC-KEM-192</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem256">
        <name>HQCKEM256</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD3</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM256</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>Standalone HQC-KEM-256</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem192x25519-1">
        <name>HQCKEM192X25519</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD4</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM192X25519</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>PQ/T hybrid combining HQC-KEM-192 with X25519</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem256x448-1">
        <name>HQCKEM256X448</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD5</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM256X448</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>PQ/T hybrid combining HQC-KEM-256 with X448</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem192mlkem768-1">
        <name>HQCKEM192MLKEM768</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD6</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM192MLKEM768</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>PQ/PQ hybrid combining HQC-KEM-192 with ML-KEM-768</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem256mlkem1024-1">
        <name>HQCKEM256MLKEM1024</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD7</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM256MLKEM1024</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>PQ/PQ hybrid combining HQC-KEM-256 with ML-KEM-1024</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem192mlkem768x25519-1">
        <name>HQCKEM192MLKEM768X25519</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD8</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM192MLKEM768X25519</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>PQ/PQ/T hybrid combining HQC-KEM-192 with ML-KEM-768 and X25519</t>
          </dd>
        </dl>
      </section>
      <section anchor="hqckem256mlkem1024x448-1">
        <name>HQCKEM256MLKEM1024X448</name>
        <dl>
          <dt>Value:</dt>
          <dd>
            <t>TBD9</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>HQCKEM256MLKEM1024X448</t>
          </dd>
          <dt>DTLS-OK:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comment:</dt>
          <dd>
            <t>PQ/PQ/T hybrid combining HQC-KEM-256 with ML-KEM-1024 and X448</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="FIPS203">
          <front>
            <title>Module-lattice-based key-encapsulation mechanism standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.203"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="FIPS207" target="https://csrc.nist.gov/projects/post-quantum-cryptography">
          <front>
            <title>Hamming Quasi-Cyclic Key-Encapsulation Mechanism Standard (forthcoming)</title>
            <author>
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="FIPS" value="207"/>
        </reference>
        <reference anchor="SP800-227">
          <front>
            <title>Recommendations for key-encapsulation mechanisms</title>
            <author fullname="Gorjan Alagic" initials="G." surname="Alagic">
              <organization/>
            </author>
            <author fullname="Elaine Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="Lily Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <author fullname="Dustin Moody" initials="D." surname="Moody">
              <organization/>
            </author>
            <author fullname="Angela Robinson" initials="A." surname="Robinson">
              <organization/>
            </author>
            <author fullname="Hamilton Silberg" initials="H." surname="Silberg">
              <organization/>
            </author>
            <author fullname="Noah Waller" initials="N." surname="Waller">
              <organization/>
            </author>
            <date month="September" year="2025"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-227"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="RFC7748">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
        <reference anchor="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="RFC9846">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document obsoletes RFC 8446, which specified TLS 1.3. This document obsoletes RFC 5246 (specifying TLS 1.2) and RFCs 5077, 6961, 7627, and 8422, all of which pertain to TLS 1.2 or earlier, and updates RFCs 5705 and 6066. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9846"/>
          <seriesInfo name="DOI" value="10.17487/RFC9846"/>
        </reference>
        <reference anchor="RFC9847">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="December" year="2025"/>
            <abstract>
              <t>This document updates the changes to the TLS and DTLS IANA registries made in RFC 8447. It adds a new value, "D" for discouraged, to the "Recommended" column of the selected TLS registries and adds a "Comment" column to all active registries that do not already have a "Comment" column. Finally, it updates the registration request instructions.</t>
              <t>This document updates RFC 8447.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9847"/>
          <seriesInfo name="DOI" value="10.17487/RFC9847"/>
        </reference>
        <reference anchor="RFC9954">
          <front>
            <title>Hybrid Key Exchange in TLS 1.3</title>
            <author fullname="D. Stebila" initials="D." surname="Stebila"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <author fullname="S. Gueron" initials="S." surname="Gueron"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>Hybrid key exchange refers to using multiple key exchange algorithms simultaneously and combining the result with the goal of providing security even if a way is found to defeat the encryption for all but one of the component algorithms. It is motivated by the transition to post-quantum cryptography. This document provides a construction for hybrid key exchange in the Transport Layer Security (TLS) protocol version 1.3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9954"/>
          <seriesInfo name="DOI" value="10.17487/RFC9954"/>
        </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="HQC" target="https://pqc-hqc.org/doc/hqc_specifications_2026_10_12.pdf">
          <front>
            <title>Hamming Quasi-Cyclic (HQC)</title>
            <author>
              <organization>HQC Team</organization>
            </author>
            <date year="2026" month="October" day="12"/>
          </front>
        </reference>
        <reference anchor="NISTIR8545">
          <front>
            <title>Status report on the fourth round of the NIST post-quantum cryptography standardization process</title>
            <author fullname="Gorjan Alagic" initials="G." surname="Alagic">
              <organization/>
            </author>
            <author fullname="Maxime Bros" initials="M." surname="Bros">
              <organization/>
            </author>
            <author fullname="Pierre Ciadoux" initials="P." surname="Ciadoux">
              <organization/>
            </author>
            <author fullname="David Cooper" initials="D." surname="Cooper">
              <organization/>
            </author>
            <author fullname="Quynh Dang" initials="Q." surname="Dang">
              <organization/>
            </author>
            <author fullname="Thinh Dang" initials="T." surname="Dang">
              <organization/>
            </author>
            <author fullname="John Kelsey" initials="J." surname="Kelsey">
              <organization/>
            </author>
            <author fullname="Jacob Lichtinger" initials="J." surname="Lichtinger">
              <organization/>
            </author>
            <author fullname="Yi-Kai Liu" initials="Y." surname="Liu">
              <organization/>
            </author>
            <author fullname="Carl Miller" initials="C." surname="Miller">
              <organization/>
            </author>
            <author fullname="Dustin Moody" initials="D." surname="Moody">
              <organization/>
            </author>
            <author fullname="Rene Peralta" initials="R." surname="Peralta">
              <organization/>
            </author>
            <author fullname="Ray Perlner" initials="R." surname="Perlner">
              <organization/>
            </author>
            <author fullname="Angela Robinson" initials="A." surname="Robinson">
              <organization/>
            </author>
            <author fullname="Hamilton Silberg" initials="H." surname="Silberg">
              <organization/>
            </author>
            <author fullname="Daniel Smith-Tone" initials="D." surname="Smith-Tone">
              <organization/>
            </author>
            <author fullname="Noah Waller" initials="N." surname="Waller">
              <organization/>
            </author>
            <date month="March" year="2025"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.ir.8545"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="PQ-PQ" target="https://csrc.nist.gov/csrc/media/Events/2025/workshop-on-guidance-for-kems/documents/papers/ml-kem-is-great-paper.pdf">
          <front>
            <title>ML-KEM is Great! What's Missing?</title>
            <author initials="J. P." surname="Mattsson" fullname="John Preuß Mattsson">
              <organization/>
            </author>
            <author initials="E." surname="Thormarker" fullname="Erik Thormarker">
              <organization/>
            </author>
            <author initials="G." surname="Selander" fullname="Göran Selander">
              <organization/>
            </author>
            <author initials="S." surname="Paavolainen" fullname="Santeri Paavolainen">
              <organization/>
            </author>
            <author initials="S." surname="Ruohomaa" fullname="Sini Ruohomaa">
              <organization/>
            </author>
            <author initials="J." surname="Sääskilahti" fullname="Juha Sääskilahti">
              <organization/>
            </author>
            <author initials="T." surname="Hartley" fullname="Taylor Hartley">
              <organization/>
            </author>
            <author initials="H. V." surname="Mazinani" fullname="Helena Vahidi Mazinani">
              <organization/>
            </author>
            <author initials="M." surname="Khan" fullname="Mohsin Khan">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <refcontent>NIST Workshop on Guidance for KEMs</refcontent>
        </reference>
        <reference anchor="Ekera" target="https://www.diva-portal.org/smash/get/diva2:1902626/FULLTEXT01.pdf">
          <front>
            <title>On factoring integers, and computing discrete logarithms and orders, quantumly</title>
            <author initials="M." surname="Ekerå" fullname="Martin Ekerå">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
        </reference>
        <reference anchor="Regev04">
          <front>
            <title>Quantum Computation and Lattice Problems</title>
            <author fullname="Oded Regev" initials="O." surname="Regev">
              <organization/>
            </author>
            <date month="January" year="2004"/>
          </front>
          <seriesInfo name="SIAM Journal on Computing" value="vol. 33, no. 3, pp. 738-760"/>
          <seriesInfo name="DOI" value="10.1137/s0097539703440678"/>
          <refcontent>Society for Industrial &amp; Applied Mathematics (SIAM)</refcontent>
        </reference>
        <reference anchor="BKSW18">
          <front>
            <title>Learning with Errors and Extrapolated Dihedral Cosets</title>
            <author fullname="Zvika Brakerski" initials="Z." surname="Brakerski">
              <organization/>
            </author>
            <author fullname="Elena Kirshanova" initials="E." surname="Kirshanova">
              <organization/>
            </author>
            <author fullname="Damien Stehlé" initials="D." surname="Stehlé">
              <organization/>
            </author>
            <author fullname="Weiqiang Wen" initials="W." surname="Wen">
              <organization/>
            </author>
            <date year="2018"/>
          </front>
          <seriesInfo name="Lecture Notes in Computer Science" value="pp. 702-727"/>
          <seriesInfo name="DOI" value="10.1007/978-3-319-76581-5_24"/>
          <seriesInfo name="ISBN" value="[&quot;9783319765808&quot;, &quot;9783319765815&quot;]"/>
          <refcontent>Springer International Publishing</refcontent>
        </reference>
        <reference anchor="Kuperberg05">
          <front>
            <title>A Subexponential-Time Quantum Algorithm for the Dihedral Hidden Subgroup Problem</title>
            <author fullname="Greg Kuperberg" initials="G." surname="Kuperberg">
              <organization/>
            </author>
            <date month="January" year="2005"/>
          </front>
          <seriesInfo name="SIAM Journal on Computing" value="vol. 35, no. 1, pp. 170-188"/>
          <seriesInfo name="DOI" value="10.1137/s0097539703436345"/>
          <refcontent>Society for Industrial &amp; Applied Mathematics (SIAM)</refcontent>
        </reference>
        <reference anchor="Chen24" target="https://eprint.iacr.org/2024/555">
          <front>
            <title>Quantum Algorithms for Lattice Problems</title>
            <author initials="Y." surname="Chen" fullname="Yilei Chen">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
          <refcontent>Cryptology ePrint Archive, Paper 2024/555</refcontent>
        </reference>
        <reference anchor="Simon26" target="https://eprint.iacr.org/2026/1591">
          <front>
            <title>A Polynomial-Time Quantum Algorithm for the Dihedral Coset Problem</title>
            <author initials="D. R." surname="Simon" fullname="Daniel R. Simon">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <refcontent>Cryptology ePrint Archive, Paper 2026/1591</refcontent>
        </reference>
        <reference anchor="GRZ26" target="https://eprint.iacr.org/2026/1693">
          <front>
            <title>The ePrint:2026/1591 Quantum Algorithm Does Not Solve DCP</title>
            <author initials="A." surname="Gupte" fullname="Aparna Gupte">
              <organization/>
            </author>
            <author initials="S." surname="Ragavan" fullname="Seyoon Ragavan">
              <organization/>
            </author>
            <author initials="M." surname="Zhandry" fullname="Mark Zhandry">
              <organization/>
            </author>
            <date year="2026"/>
          </front>
          <refcontent>Cryptology ePrint Archive, Paper 2026/1693</refcontent>
        </reference>
        <reference anchor="ANSSI25" target="https://na.eventscloud.com/file_uploads/b635298de1c10be6d3732863e8b1beca_Day2-1600-ANSSI.pdf">
          <front>
            <title>ANSSI views on technical aspects of the migration to PQC</title>
            <author initials="A." surname="Martinelli" fullname="Ange Martinelli">
              <organization>French Cybersecurity Agency (ANSSI)</organization>
            </author>
            <date year="2025" month="March" day="25"/>
          </front>
        </reference>
        <reference anchor="BSI" target="https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Crypto/Notes_Classic_McEliece.pdf">
          <front>
            <title>Notes on recent developments concerning Classic McEliece</title>
            <author>
              <organization>Federal Office for Information Security (BSI)</organization>
            </author>
            <date year="2026" month="October" day="01"/>
          </front>
        </reference>
        <reference anchor="ISO18033-2-AMD2">
          <front>
            <title>Information technology — Security techniques — Encryption algorithms — Part 2: Asymmetric ciphers — Amendment 2</title>
            <author>
              <organization>ISO/IEC</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="ISO/IEC" value="18033-2:2006/Amd 2:2026"/>
        </reference>
        <reference anchor="SP800-12">
          <front>
            <title>An introduction to information security</title>
            <author fullname="Michael Nieles" initials="M." surname="Nieles">
              <organization/>
            </author>
            <author fullname="Kelley Dempsey" initials="K." surname="Dempsey">
              <organization/>
            </author>
            <author fullname="Victoria Yan Pillitteri" initials="V." surname="Pillitteri">
              <organization/>
            </author>
            <date month="June" year="2017"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-12r1"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
        <reference anchor="SP800-57">
          <front>
            <title>Recommendation for Key Management: Part 1 — General Initial Public Draft</title>
            <author fullname="Elaine Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="William Barker" initials="W." surname="Barker">
              <organization/>
            </author>
            <date month="December" year="2025"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-57pt1r6.ipd"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
        <reference anchor="ETSI-TS-103-744" target="https://www.etsi.org/deliver/etsi_ts/103700_103799/103744/01.02.02_60/ts_103744v010202p.pdf">
          <front>
            <title>Quantum-safe Hybrid Key Exchanges</title>
            <author>
              <organization>ETSI</organization>
            </author>
            <date year="2026" month="February"/>
          </front>
          <seriesInfo name="ETSI TS" value="103 744"/>
        </reference>
        <reference anchor="TS33.210" target="https://www.3gpp.org/DynaReport/33210.htm">
          <front>
            <title>Network Domain Security (NDS); IP network layer security</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date year="2026"/>
          </front>
          <seriesInfo name="3GPP TS" value="33.210 20.0.0"/>
        </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="RFC10024">
          <front>
            <title>Post-Quantum Traditional (PQ/T) Hybrid Key Agreement Mechanisms for TLS 1.3</title>
            <author fullname="K. Kwiatkowski" initials="K." surname="Kwiatkowski"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
            <author fullname="D. Stebila" initials="D." surname="Stebila"/>
            <date month="August" year="2026"/>
            <abstract>
              <t>This document defines three hybrid key agreement mechanisms for TLS 1.3 -- X25519MLKEM768, SecP256r1MLKEM768, and SecP384r1MLKEM1024 -- that combine the post-quantum ML-KEM (Module-Lattice-Based Key Encapsulation Mechanism) with an ECDHE (Ephemeral Elliptic Curve Diffie-Hellman) exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="10024"/>
          <seriesInfo name="DOI" value="10.17487/RFC10024"/>
        </reference>
        <reference anchor="RFC9973">
          <front>
            <title>TLS 1.3 Extension for Using Certificates with an External Pre-Shared Key</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="July" year="2026"/>
            <abstract>
              <t>This document specifies a TLS 1.3 extension that allows TLS clients and servers to authenticate with certificates and provide confidentiality based on encryption with a symmetric key from the usual key agreement algorithm and an external pre-shared key (PSK). This Standards Track RFC obsoletes RFC 8773, which was an Experimental RFC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9973"/>
          <seriesInfo name="DOI" value="10.17487/RFC9973"/>
        </reference>
        <reference anchor="I-D.ietf-tls-mlkem">
          <front>
            <title>ML-KEM Post-Quantum Key Agreement for TLS 1.3</title>
            <author fullname="Deirdre Connolly" initials="D." surname="Connolly">
              <organization>Selkie Cryptography</organization>
            </author>
            <date day="16" month="September" year="2026"/>
            <abstract>
              <t>   This memo defines ML-KEM-512, ML-KEM-768, and ML-KEM-1024 as
   NamedGroups and registers IANA values in the TLS Supported Groups
   registry for use in TLS 1.3 to achieve post-quantum (PQ) key
   establishment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-mlkem-11"/>
        </reference>
        <reference anchor="EU25" target="https://ec.europa.eu/newsroom/dae/redirection/document/117507">
          <front>
            <title>A Coordinated Implementation Roadmap for the Transition to Post-Quantum Cryptography</title>
            <author>
              <organization>NIS Cooperation Group</organization>
            </author>
            <date year="2025" month="June"/>
          </front>
        </reference>
        <reference anchor="EU26" target="https://ec.europa.eu/newsroom/dae/redirection/document/132120">
          <front>
            <title>EU Roadmap on PQC – Frequently Asked Questions</title>
            <author>
              <organization>NIS Cooperation Group</organization>
            </author>
            <date year="2026" month="April"/>
          </front>
        </reference>
        <reference anchor="NCSC26" target="https://www.ncsc.se/siteassets/publikationer/nationella-rekommendationer-for-overgangen-till-kvantsaker-kryptografi-2026_tga.pdf">
          <front>
            <title>Nationella rekommendationer för övergången till kvantsäker kryptografi</title>
            <author>
              <organization>Swedish NCSC</organization>
            </author>
            <date year="2026" month="May"/>
          </front>
        </reference>
        <reference anchor="IANA" target="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-8">
          <front>
            <title>IANA TLS Supported Groups Registry</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
    <?line 699?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors thank the authors of previous drafts from which this draft borrowed text. The authors thank Ciarán Mullan for their valuable comments and feedback on this draft.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
L3l9zDbj5E2VCsaFu2G76bb+H3flgwLWhgAA

-->

</rfc>
