<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-ecdhe-mlkem-01" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="ECDHE-MLKEM">Post-quantum hybrid ECDHE-MLKEM Key Agreement for TLSv1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-ecdhe-mlkem-01"/>
    <author initials="K." surname="Kwiatkowski" fullname="Kris Kwiatkowski">
      <organization>PQShield</organization>
      <address>
        <email>kris@amongbytes.com</email>
      </address>
    </author>
    <author initials="P." surname="Kampanakis" fullname="Panos Kampanakis">
      <organization>AWS</organization>
      <address>
        <email>kpanos@amazon.com</email>
      </address>
    </author>
    <author initials="B. E." surname="Westerbaan" fullname="Bas Westerbaan">
      <organization>Cloudflare</organization>
      <address>
        <email>bas@cloudflare.com</email>
      </address>
    </author>
    <author initials="D." surname="Stebila" fullname="Douglas Stebila">
      <organization>University of Waterloo</organization>
      <address>
        <email>dstebila@waterloo.ca</email>
      </address>
    </author>
    <date year="2025" month="September" day="29"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>ECDH</keyword>
    <keyword>hybrid</keyword>
    <keyword>ML-KEM</keyword>
    <keyword>post-quantum</keyword>
    <keyword>x25519</keyword>
    <abstract>
      <?line 57?>

<t>This draft defines three hybrid key agreements for TLS 1.3: X25519MLKEM768,
SecP256r1MLKEM768, and SecP384r1MLKEM1024 which combine
a post-quantum KEM with an elliptic curve Diffie-Hellman (ECDHE).</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://tlswg.github.io/draft-ietf-tls-ecdhe-mlkem/draft-ietf-tls-ecdhe-mlkem.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Transport Layer Security Working Group mailing list (<eref target="mailto:tls@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tls/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/tls/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tlswg/draft-ietf-tls-ecdhe-mlkem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 63?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The <xref target="hybrid"/> document defines a framework for combining traditional key exchanges with next-generation key
exchange in TLS 1.3. The goal of this approach is to provide security against both classical and quantum
adversaries while maintaining compatibility with existing infrastructure and protocols.</t>
      <t>This document applies the framework to ML-KEM, a key encapsulation mechanism defined in <xref target="NIST-FIPS-203"/>,
and specifies code points for the hybrid groups.</t>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>This document introduces three new supported groups for hybrid post-quantum key agreements in TLS 1.3: the X25519MLKEM768,
SecP256r1MLKEM768, and SecP384r1MLKEM1024 which combine ML-KEM with ECDH in the manner of <xref target="hybrid"/>.</t>
        <ul spacing="normal">
          <li>
            <t>The first one uses X25519 <xref target="rfc7748"/>, is widely deployed, and often serves as the most practical choice for a single PQ/T hybrid combiner in TLS 1.3.</t>
          </li>
          <li>
            <t>The second group uses secp256r1 (NIST P-256). This group supports use cases that require both shared secrets to be generated by FIPS-approved mechanisms.</t>
          </li>
          <li>
            <t>The third group uses secp384r1 (NIST P-384). This group is intended for high-security environments that require FIPS-approved mechanisms with an increased security margin.</t>
          </li>
        </ul>
        <t>Key establishment using NIST curves is outlined in Section 6.1.1.2 of <xref target="KEYAGREEMENT"/>.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The <xref target="hybrid"/> document defines "traditional" algorithms as those that are already widely adopted and "next-generation" algorithms
as those that are not yet widely adopted, such as post-quantum algorithms. In this document, ECDH using Curve25519, P-256, or
P-384 is considered traditional, while ML-KEM is considered next-generation.</t>
        <t>The <xref target="hybrid"/> document defines a "hybrid" key exchange as one that combines a traditional key exchange with a next-generation key
exchange. This document uses the term "hybrid" in the same way.</t>
      </section>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="negotiated-groups">
      <name>Negotiated Groups</name>
      <section anchor="client-share">
        <name>Client share</name>
        <t>When the X25519MLKEM768 group is negotiated, the client's key_exchange value
is the concatenation of the client's ML-KEM-768 encapsulation key
and the client's X25519 ephemeral share.
The size of the client share is 1216 bytes (1184 bytes for the ML-KEM part and 32 bytes for X25519).</t>
        <t>Note: The group name X25519MLKEM768 does not adhere to the naming convention outlined in
<xref section="3.2" sectionFormat="of" target="hybrid"/>. Specifically, the order of shares in the concatenation has been
reversed. This is due to historical reasons.</t>
        <t>When the SecP256r1MLKEM768 group is negotiated, the client's key_exchange value
is the concatenation of the secp256r1 ephemeral share and ML-KEM-768 encapsulation key.
The ECDHE share is the serialized value of the uncompressed ECDH point representation as
defined  in <xref section="4.2.8.2" sectionFormat="of" target="RFC8446"/>. The size of the client share is 1249 bytes
(65 bytes for the secp256r1 part and 1184 bytes for ML-KEM).</t>
        <t>When the SecP384r1MLKEM1024 group is negotiated, the client's key_exchange value
is the concatenation of the secp384r1 ephemeral share and the ML-KEM-1024
encapsulation key. The ECDH share is the serialized value of the uncompressed ECDH point
representation as defined in <xref section="4.2.8.2" sectionFormat="of" target="RFC8446"/>. The size of the
client share is 1665 bytes (97 bytes for the secp384r1 and the 1568 for the ML-KEM).</t>
      </section>
      <section anchor="server-share">
        <name>Server share</name>
        <t>When the X25519MLKEM768 group is negotiated, the server's key exchange
value is the concatenation of an ML-KEM ciphertext returned from encapsulation
to the client's encapsulation key, and the server's ephemeral X25519 share.
The size of the server share is 1120 bytes (1088 bytes for the ML-KEM part and 32 bytes for X25519).</t>
        <t>When the SecP256r1MLKEM768 group is negotiated, the server's key exchange
value is the concatenation of the server's ephemeral secp256r1 share encoded
in the same way as the client share and an ML-KEM ciphertext returned from encapsulation
to the client's encapsulation key. The size of the server share is 1153 bytes (1088 bytes
for the ML-KEM part and 65 bytes for secp256r1).</t>
        <t>When the SecP384r1MLKEM1024 group is negotiated, the server's key exchange
value is the concatenation of the server's ephemeral secp384r1 share
encoded in the same way as the client share and an ML-KEM ciphertext returned
from encapsulation to the client's encapsulation key. The size of the server
share is 1665 bytes (1568 bytes for the ML-KEM part and 97 bytes for
secp384r1)</t>
        <t>For all groups, the server <bcp14>MUST</bcp14> perform the encapsulation key check
described in Section 7.2 of <xref target="NIST-FIPS-203"/> on the client's encapsulation
key, and abort with an illegal_parameter alert if it fails.</t>
        <t>For all groups, the client <bcp14>MUST</bcp14> check if the ciphertext length matches
the selected group, and abort with an illegal_parameter alert if it fails.
If ML-KEM decapsulation fails for any other reason, the connection <bcp14>MUST</bcp14>
be aborted with an internal_error alert.</t>
        <t>For all groups, both client and server <bcp14>MUST</bcp14> process the ECDH part
as described in <xref section="4.2.8.2" sectionFormat="of" target="RFC8446"/>, including all validity checks,
and abort with an illegal_parameter alert if it fails.</t>
      </section>
      <section anchor="shared-secret">
        <name>Shared secret</name>
        <t>For X25519MLKEM768, the shared secret is the concatenation of the ML-KEM
shared secret and the X25519 shared secret. The shared secret is 64 bytes
(32 bytes for each part).</t>
        <t>For SecP256r1MLKEM768, the shared secret is the concatenation of the
ECDHE and ML-KEM shared secret. The ECDHE shared secret is the x-coordinate of the ECDH
shared secret elliptic curve point represented as an octet string as
defined in <xref section="7.4.2" sectionFormat="of" target="RFC8446"/>.
The size of the shared secret is 64 bytes (32 bytes for each part).</t>
        <t>For SecP384r1MLKEM1024, the shared secret is the concatenation of the
ECDHE and ML-KEM shared secret. The ECDHE shared secret is the x-coordinate of the ECDH
shared secret elliptic curve point represented as an octet string as
defined in <xref section="7.4.2" sectionFormat="of" target="RFC8446"/>.
The size of the shared secret is 80 bytes (48 bytes for the ECDH part and
32 bytes for the ML-KEM part).</t>
        <t>For all groups, both client and server <bcp14>MUST</bcp14> calculate the ECDH part of the
shared secret as described in <xref section="7.4.2" sectionFormat="of" target="RFC8446"/>, including the
all-zero shared secret check for X25519, and abort the connection with an
illegal_parameter alert if it fails.</t>
      </section>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <t><strong>FIPS-compliance</strong>. All groups defined in this document permit FIPS-approved key derivation as per <xref target="NIST-SP-800-56C"/>
and <xref target="NIST-SP-800-135"/>. NIST's special publication 800-56Cr2 <xref target="NIST-SP-800-56C"/> approves the
usage of HKDF <xref target="HKDF"/> with two distinct shared secrets, with the condition that the first
one is computed by a FIPS-approved key-establishment scheme. FIPS also requires a certified
implementation of the scheme, which will remain more ubiquitous for secp256r1 in the coming years. For
this reason we put the ML-KEM shared secret first in X25519MLKEM768, and the ECDH shared secret
first in SecP256r1MLKEM768 and SecP384r1MLKEM1024. This means that for SecP256r1MLKEM768 and SecP384r1MLKEM1024,
the ECDH implementation must be certified whereas the ML-KEM implementation does not require certification. In
contrast, for X25519MLKEM768, the ML-KEM implementation must be certified.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The same security considerations as those described in <xref target="hybrid"/> apply to the approach used by this document.
The security analysis relies crucially on the TLS 1.3 message transcript, and one cannot assume a similar
hybridisation is secure in other protocols.</t>
      <t>Implementers are encouraged to use implementations resistant to side-channel attacks,
especially those that can be applied by remote attackers.</t>
      <t>All groups defined in this document use and generate fixed-length public keys, ciphertexts,
and shared secrets, which complies with the requirements described in <xref section="6" sectionFormat="of" target="hybrid"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests/registers three new entries to the TLS Supported Groups registry, according
to the procedures in <xref section="6" sectionFormat="of" target="tlsiana"/>. These identifiers are to be used with the final,
ratified by NIST, version of ML-KEM which is specified in <xref target="NIST-FIPS-203"/>.</t>
      <section anchor="secp256r1mlkem768">
        <name>SecP256r1MLKEM768</name>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>4587 (0x11EB)</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>SecP256r1MLKEM768</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>Combining secp256r1 ECDH with ML-KEM-768</t>
          </dd>
        </dl>
      </section>
      <section anchor="x25519mlkem768">
        <name>X25519MLKEM768</name>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>4588 (0x11EC)</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>X25519MLKEM768</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>Combining X25519 ECDH with ML-KEM-768</t>
          </dd>
        </dl>
      </section>
      <section anchor="secp384r1mlkem1024">
        <name>SecP384r1MLKEM1024</name>
        <dl spacing="compact">
          <dt>Value:</dt>
          <dd>
            <t>4589 (0x11ED)</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>SecP384r1MLKEM1024</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>Combining secp384r1 ECDH with ML-KEM-1024</t>
          </dd>
        </dl>
      </section>
      <section anchor="obsoleted-supported-groups">
        <name>Obsoleted Supported Groups</name>
        <t>This document obsoletes X25519Kyber768Draft00 (25497) and SecP256r1Kyber768Draft00 (25498) in the TLS Supported Groups registry.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="NIST-FIPS-203">
          <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="NIST-SP-800-56C">
          <front>
            <title>Recommendation for Key-Derivation Methods in Key-Establishment Schemes</title>
            <author fullname="Elaine Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="Lily Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <author fullname="Richard Davis" initials="R." surname="Davis">
              <organization/>
            </author>
            <date month="August" year="2020"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-56cr2"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
        <reference anchor="NIST-SP-800-135">
          <front>
            <title>Recommendation for existing application-specific key derivation functions</title>
            <author fullname="Q H Dang" initials="Q." surname="Dang">
              <organization/>
            </author>
            <date year="2011"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-135r1"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </reference>
        <reference anchor="KEYAGREEMENT">
          <front>
            <title>Recommendation for pair-wise key-establishment schemes using discrete logarithm cryptography</title>
            <author fullname="Elaine Barker" initials="E." surname="Barker">
              <organization/>
            </author>
            <author fullname="Lily Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <author fullname="Allen Roginsky" initials="A." surname="Roginsky">
              <organization/>
            </author>
            <author fullname="Apostol Vassilev" initials="A." surname="Vassilev">
              <organization/>
            </author>
            <author fullname="Richard Davis" initials="R." surname="Davis">
              <organization/>
            </author>
            <date month="April" year="2018"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-56ar3"/>
          <refcontent>National Institute of Standards and Technology</refcontent>
        </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="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <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 updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="hybrid">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa and Meta</organization>
            </author>
            <date day="7" month="September" year="2025"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if a way is found to defeat the encryption for all but
   one of the component algorithms.  It is motivated by transition to
   post-quantum cryptography.  This document provides a construction for
   hybrid key exchange in the Transport Layer Security (TLS) protocol
   version 1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-16"/>
        </reference>
        <reference anchor="tlsiana">
          <front>
            <title>IANA Registry Updates for TLS and DTLS</title>
            <author fullname="Joseph A. Salowey" initials="J. A." surname="Salowey">
              <organization>Venafi</organization>
            </author>
            <author fullname="Sean Turner" initials="S." surname="Turner">
              <organization>sn3rd</organization>
            </author>
            <date day="21" month="July" year="2025"/>
            <abstract>
              <t>   This document updates the changes to 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.

   This document updates RFC 8447.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8447bis-15"/>
        </reference>
        <reference anchor="HKDF">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk">
              <organization/>
            </author>
            <author fullname="P. Eronen" initials="P." surname="Eronen">
              <organization/>
            </author>
            <date month="May" year="2010"/>
          </front>
          <seriesInfo name="DOI" value="10.17487/rfc5869"/>
          <refcontent>RFC Editor</refcontent>
        </reference>
      </references>
    </references>
    <?line 297?>

<section anchor="change-log">
      <name>Change log</name>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-tls-ecdhe-mlkem-01:
          </t>
          <ul spacing="normal">
            <li>
              <t>Alignment with the final version of <xref target="hybrid"/></t>
            </li>
            <li>
              <t>Added new section called Discussion and moved FIPS-compliance and Failures text there.</t>
            </li>
            <li>
              <t>The Construction section has been removed.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-ietf-tls-ecdhe-mlkem-00:
          </t>
          <ul spacing="normal">
            <li>
              <t>Change a name of the draft, following adoption by TLS WG</t>
            </li>
            <li>
              <t>Fixes references to the to NIST ECC CDH</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-03:
          </t>
          <ul spacing="normal">
            <li>
              <t>Adds P-384 combined with ML-KEM-1024</t>
            </li>
            <li>
              <t>Adds text that describes error-handling and outlines how the client and server must ensure the integrity of the key exchange process.</t>
            </li>
            <li>
              <t>Adds note on the incompatibility of the codepoint name X25519MLKEM768 with <xref target="hybrid"/>.</t>
            </li>
            <li>
              <t>Various cosmetic changes.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-02:
          </t>
          <ul spacing="normal">
            <li>
              <t>Adds section that mentions supported groups that this document obsoletes.</t>
            </li>
            <li>
              <t>Fix a reference to encapsulation in the FIPS 203.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-01:
          </t>
          <ul spacing="normal">
            <li>
              <t>Add X25519MLKEM768</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-mlkem-00:
          </t>
          <ul spacing="normal">
            <li>
              <t>Change Kyber name to ML-KEM</t>
            </li>
            <li>
              <t>Swap reference to I-D.cfrg-schwabe-kyber with FIPS-203</t>
            </li>
            <li>
              <t>Change codepoint. New value is equal to old value + 1.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-kyber-01: Fix size of key shares generated by the client and the server</t>
        </li>
        <li>
          <t>draft-kwiatkowski-tls-ecdhe-kyber-00: updates following IANA review</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1a23IbuRF9x1cg2odYDmdE6m7W7sayJK9V8kVryeu4UikX
OAOSKA0HXAAjinb5X/It+bJ0NzBXUrJX8b6l/GARg0v36Su6EUURc8plcsgv
tHXR74XIXTHj0+XIqJSfHp+8OI1evTw/fcXP5ZIfTYyUM5k7PtaGX728vBnE
O0yMRkbeDJuzWSKcnGizHHKVjzVjqU5yMYNjUiPGLlLSjSOX2Ugm6VRGs+xa
zqL+gNliNFPWKp275Rxmn51ePWd5MRtJM2Qp7Dlk1ok8/SgyncP3pbQs0bmV
uS3skDtTSAaU7DA1N/TTuu1+/0l/mwkjxZBvXMqkMMotN9hCm+uJ0cUcRq+M
yO1cG8dfiqU0vJ51LZcwMR0yHhF/+L8HB/969TJCZuGveQM9/H27vbc3eMJu
ZF4AzZx//STOPcsb74EwlU/4L7gEx2dCZTAOcD1F3GJtJjgsTDKF4alzczvc
2sJZOKRuZFxO28KBrZHRCyu3YP0WrpsoNy1GfsPFZOtugeDkDDC3rnEMLYr9
HrHS9yy/51M8dbNsgzFRuKk2iE8EegICPI/5+UIJdw0UXysY59yrzblRduUT
cChy9Uk40BdQ4F8vp0pmKX2SHrRrWPZUzHQ+GS2BkTjRs/qwCzhMzOYiF9fK
Ns66ELm23U/ts47eX7aOmeMSOEh80nn7kGfxaczfA4bSjITIG8c8E7b7oX3I
caaLdAxClc2zRsI+Taov7cNOYn7p5AgUoXHOiS4mGZzV/NI+6F0OSmMsqCHX
Y/4eRG4yrZuHptYvfroIH+NEMJZrM4MtbkjDzTg5ONg9xD9fn11eRc/PLi6j
7f4OEPDmLB704/3+9uEWforxUwyfyqmXF9Fhvx/t7R+vmXx5EYePZruzYLCz
d/cC+GgGDL1Pg0hvuuBXopO4Ukw/GKXSqgnKAcYUSL4zC/g73N09GJE+vDg/
eV4dPQC2D7bePj/eO9x/wqIo4mJknRGJY+xqCnpLhsBTOVa5tNxNwYmWHhb8
CxelV7WlW+XgVof8H+RDyJ8e7B/2GPiKi+29fTOohji4QnQhFzuHu2F40N/e
5YupSqYcVGMEJzLR8k4cnfkC7BcWc5llau5UwsEL3Uh+osZjJaMXMDyDr4/I
o2/GjJiaqTTNJGM/8LPcGZ0WCWoPsij558+eny9fOHj6gkJEya/gYwOKiP6W
+PNkoYcDjFKFm4iMgJC3yVTkE1hD9OXy1kUTmUtDeopTWDkF9L0EKuZIwUTD
JqC9DgEX87nRAiCAv53m8ONGpZLb4GwBcQH24vhIwzEJGIdVCSxHNEsfLlI0
CWEUUjNVmUQ3nDvhKQce5kAUmARuR9TKW2UdfgOVMwLkD/gURtKmQIDTic5s
XGpECRJQmilSCtmACWj2oQUk7JHJEzG3ReaBmEkEQdlZwDhFND5/bpndly89
hkfbuUzUGI9INEAw16rUMzwyaCFFJyTuhx/4Kw3GIkrRNmlVQeyVDudywW0x
x3Amy01o67BtS+06ml7Lb0iUfCdlD7h5kaD64kG4P+gzKBJqSK2rwPBjUp6x
MqANkFHwwgJ3nhaYGHwaYImatAAdypaA+TzTS5l6gvTYyRw0C8wH9M4LcgZ8
g8zBAZBaJVOtEknACG5BRUCZLn7duiphCqSbpk6XlIHK6jxg64mDkTkBwx+h
wPlFBL820QiARD8vyMTiAp4ISwITjhv5e6FAJUnt7RTCR4rbGenITEZgRd7a
YHy05KRKZEo3MFApna2IA1szK7SRdCra4FebNoWiB8hS2JJURU2mUWWYMr9R
RudeRVo030VM5cpUDowAr2lt5jNhJioHcjF3hUgrRpmyU9LlAuVAwcS7PouE
6cJlpTmBopGt7ccD+LftFecv56cfjn55e3r66vT11U93h6ojs0PaBeZ0Jc1M
5TrTk+XXXeVGwyNucJFBBg3czYJiaSs9JgLdSgbcpstSKUWq5yg2VMmNjuNs
7sRWd8q1gzzadXbqgRaBWcH0lhXXO8UQBry3LdnoeYPz0B4jqmRHPa+iPUg6
GCkEQo1JO5yHGtjguRdcbTDi9rwOV/G3RJ4N/3GjFV6QKbR1QiAYH06+KxwF
Fbs3HgUdr0gobHDqkC7NajKCM7Lg6PlCLFFF+LHO4ZqAO1oS3wlST3RYzyLS
gpcQ0I9X7y6vNnr+f/76Df399vTXd2dvT0/w78sXRy9fVn+wMOPyxZt3L0/q
v+qVx29egSqf+MUwyltDbOPV0YcN7+c23lxcnb15ffQyMNEKYqBF3n+gaZs5
OBRURcsgpUqMGnmLenZ88Z9/D3bRjCBX2h4MnoDM/I9DSKHgx2Iq8+BVc9BE
/xPwWjIwfCnIQYoMHKqYKycy20NJ2qle5HwKKoJ+6Z+IzL+G/MdRMh/s/hwG
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
vW1YOGVjRt4ouWD/BSEqvuwtMAAA

-->

</rfc>
