<?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.26 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-ecdhe-mlkem-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <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-00"/>
    <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="March" day="23"/>
    <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 58?>

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

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="motivation">
        <name>Motivation</name>
        <t>ML-KEM is a key encapsulation method (KEM) defined in the <xref target="FIPS203"/>. It is designed to
withstand cryptanalytic attacks from quantum computers.</t>
        <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>
        <t>The first one uses X25519 <xref target="rfc7748"/> and is an update to X25519Kyber768Draft00 <xref target="xyber"/>, the
most widely deployed PQ/T hybrid combiner for TLS v1.3 deployed in 2024.</t>
        <t>The second one uses secp256r1 (NIST P-256). The goal of this group is to support a use case
that requires both shared secrets to be generated by FIPS-approved mechanisms.</t>
        <t>The third one uses secp384r1 (NIST P-384). The goal of this group is to provide support for high
security environments that require use of FIPS-approved mechanisms.</t>
        <t>Key establishment using NIST curves is outlined in Section 6.1.1.2 of <xref target="KEYAGREEMENT"/>.</t>
        <t>All constructions aim to provide a FIPS-approved key-establishment scheme (as per <xref target="SP56C"/>).</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>
      <t>All groups enable the derivation of TLS session keys using FIPS-approved schemes. NIST's
special publication 800-56Cr2 <xref target="SP56C"/> 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 ubiqutous for secp256r1 in the coming years.</t>
      <t>For this reason we put the ML-KEM shared secret first in X25519MLKEM768,
and the ECDH shared secret first in SecP256r1MLKEM768 and SecP384r1MLKEM1024.</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>
      <section anchor="construction">
        <name>Construction</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>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 serialised value of the uncompressed ECDH point
represenation 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="FIPS203"/> 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>
    <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>
    </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="FIPS203"/>.</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 25497 and 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="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="SP56C">
          <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="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="xyber">
          <front>
            <title>X25519Kyber768Draft00 hybrid post-quantum key agreement</title>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <date day="24" month="September" year="2023"/>
            <abstract>
              <t>   This memo defines X25519Kyber768Draft00, a hybrid post-quantum key
   exchange for TLS 1.3.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tls-westerbaan-xyber768d00-03"/>
        </reference>
        <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="14" month="January" 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 all but one of the component algorithms is broken.
   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.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-12"/>
        </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="11" month="March" 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
   "Comments" column to all active registries.

   This document updates the following RFCs: 3749, 5077, 4680, 5246,
   5705, 5878, 6520, 7301, and 8447.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8447bis-11"/>
        </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 287?>

<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>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:
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
6ez7r0JsLcKp7DDyVsk5+y9qJ26VFSoAAA==

-->

</rfc>
