<?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.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-mlkem-11" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="ietf-tls-mlkem">ML-KEM Post-Quantum Key Agreement for TLS 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-mlkem-11"/>
    <author fullname="Deirdre Connolly">
      <organization>Selkie Cryptography</organization>
      <address>
        <email>durumcrustulum@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="17"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>kems</keyword>
    <keyword>tls</keyword>
    <abstract>
      <?line 153?>

<t>This memo defines ML-KEM-512, ML-KEM-768, and ML-KEM-1024 as <tt>NamedGroup</tt>s
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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-tls-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-mlkem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 159?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>ML-KEM <xref target="FIPS203"/> is a FIPS standard for post-quantum <xref target="RFC9794"/> key
establishment via a lattice-based key encapsulation mechanism (KEM). This
document defines key establishment options for TLS 1.3 via the existing
<tt>supported_groups</tt> (<xref section="4.3.7" sectionFormat="of" target="RFC9846"/>) and <tt>key_share</tt> (<xref section="4.3.8" sectionFormat="of" target="RFC9846"/>) extensions.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="kems">
      <name>Key encapsulation mechanisms</name>
      <t>This document models key establishment as key encapsulation mechanisms
(KEMs), which consist of three algorithms:</t>
      <ul spacing="normal">
        <li>
          <t><tt>KeyGen() -&gt; (pk, sk)</tt>: A probabilistic key generation algorithm,
which generates a public encapsulation key <tt>pk</tt> and a secret
decapsulation key <tt>sk</tt>.</t>
        </li>
        <li>
          <t><tt>Encaps(pk) -&gt; (ct, shared_secret)</tt>: A probabilistic encapsulation
algorithm, which takes as input a public encapsulation key <tt>pk</tt> and
outputs a ciphertext <tt>ct</tt> and shared secret <tt>shared_secret</tt>.</t>
        </li>
        <li>
          <t><tt>Decaps(sk, ct) -&gt; shared_secret</tt>: A decapsulation algorithm, which takes
as input a secret decapsulation key <tt>sk</tt> and ciphertext <tt>ct</tt> and outputs a
shared secret <tt>shared_secret</tt>.</t>
        </li>
      </ul>
      <t>ML-KEM-512, ML-KEM-768, and ML-KEM-1024 conform to this interface (Table 3 of <xref target="FIPS203"/>):</t>
      <ul spacing="normal">
        <li>
          <t>ML-KEM-512 has encapsulation keys of size 800 bytes, expanded decapsulation
keys of 1632 bytes, decapsulation key seeds of size 64 bytes, ciphertext
size of 768 bytes, and shared secrets of size 32 bytes.</t>
        </li>
        <li>
          <t>ML-KEM-768 has encapsulation keys of size 1184 bytes, expanded
decapsulation keys of 2400 bytes, decapsulation key seeds of size 64 bytes,
ciphertext size of 1088 bytes, and shared secrets of size 32 bytes.</t>
        </li>
        <li>
          <t>ML-KEM-1024 has encapsulation keys of size 1568 bytes, expanded
decapsulation keys of 3168 bytes, decapsulation key seeds of size 64 bytes,
ciphertext size of 1568 bytes, and shared secrets of size 32 bytes.</t>
        </li>
      </ul>
    </section>
    <section anchor="construction">
      <name>Construction</name>
      <t>The KEMs are defined as <tt>NamedGroup</tt>s, sent in the <tt>supported_groups</tt>
extension (<xref section="4.3.7" sectionFormat="of" target="RFC9846"/>).</t>
      <section anchor="negotiation">
        <name>Negotiation</name>
        <t>Each parameter set of ML-KEM is assigned an identifier, registered by IANA in
the TLS Supported Groups registry:</t>
        <artwork><![CDATA[
    enum {

         ...,

          /* ML-KEM Key Establishment Methods */
          mlkem512(0x0200),
          mlkem768(0x0201),
          mlkem1024(0x0202)

         ...,

    } NamedGroup;
]]></artwork>
      </section>
      <section anchor="construction-transmitting">
        <name>Transmitting encapsulation keys and ciphertexts</name>
        <t>The public encapsulation key and ciphertext values are each
directly encoded with fixed lengths as in <xref target="FIPS203"/>.</t>
        <t>In TLS 1.3 a KEM public encapsulation key <tt>pk</tt> or ciphertext <tt>ct</tt> is
represented as a <tt>KeyShareEntry</tt> as specified in <xref section="4.3.8" sectionFormat="of" target="RFC9846"/>. These are transmitted in the <tt>extension_data</tt> fields of
<tt>KeyShareClientHello</tt> and <tt>KeyShareServerHello</tt> extensions.</t>
        <t>For the client's share, the <tt>key_exchange</tt> value contains the <tt>pk</tt>
output of the corresponding ML-KEM parameter set's <tt>KeyGen</tt> algorithm.</t>
        <t>For the server's share, the <tt>key_exchange</tt> value contains the <tt>ct</tt>
output of the corresponding ML-KEM parameter set's <tt>Encaps</tt> algorithm.</t>
        <t>For all parameter sets, 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 <tt>illegal_parameter</tt> alert if it fails.</t>
        <t>For all parameter sets, the client <bcp14>MUST</bcp14> check if the ciphertext length
matches the selected parameter set, and abort with an <tt>illegal_parameter</tt>
alert if it fails.</t>
        <t>If ML-KEM decapsulation fails for any other reason, the connection <bcp14>MUST</bcp14> be
aborted with an <tt>internal_error</tt> alert.</t>
        <t>Implementations <bcp14>MUST NOT</bcp14> reuse randomness in the generation of ML-KEM
ciphertexts— it follows that ML-KEM ciphertexts also <bcp14>MUST NOT</bcp14> be reused.</t>
        <t>During encapsulation, ML-KEM draws the encapsulation randomness from a random
bit generator; the peer holding the decapsulation key <tt>sk</tt> recovers this
randomness exactly. Any information that this randomness provides about other
outputs of the generator is therefore available to that peer.</t>
      </section>
      <section anchor="construction-shared-secret">
        <name>Shared secret calculation</name>
        <t>The fixed-length shared secret output from the ML-KEM <tt>Encaps</tt> and <tt>Decaps</tt>
algorithms over the appropriate keypair and ciphertext results in the same
shared secret <tt>shared_secret</tt> as its peer, which is inserted into the TLS 1.3
key schedule in place of the (EC)DHE shared secret, as shown in <xref section="7.1" sectionFormat="of" target="RFC9846"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document defines standalone ML-KEM key establishment for TLS 1.3.  Use
of KEMs for key agreement in TLS 1.3 has been analyzed in multiple settings
and security models <xref target="DOWLING"/> <xref target="KEMTLS"/> <xref target="HV22"/> <xref target="CHSW22"/> <xref target="CZCJWH25"/>
        <xref target="ZJZ24"/>; ML-KEM's IND-CCA security (Indistinguishability under
Chosen-Ciphertext Attack) exceeds the requirements for ephemeral key
establishment <xref target="GHS25"/> <xref target="RFC9846"/>. Multiple formal analyses, including
pen-and-paper computational proofs and machine-checked symbolic analysis
using ProVerif <xref target="KOBEISSI26"/>, demonstrate that replacing Diffie-Hellman with
an IND-CCA-secure KEM preserves the security properties of the TLS
handshake. Formal analysis has also shown that hybrid key establishment
(e.g., <xref target="RFC9954"/>, <xref target="RFC10024"/>) provides compositional security: the
exchange remains secure as long as at least one of the component algorithms
is unbroken <xref target="BJ24"/> <xref target="CPWB25"/>.</t>
      <t>TLS 1.3's key schedule commits to the ML-KEM encapsulation key and the
ciphertext as the <tt>key_exchange</tt> field of the <tt>key_share</tt> extension is
populated with those values, which are included as part of the handshake
messages. This provides resilience against re-encapsulation attacks against
KEMs used for key establishment <xref target="CDM23"/>.</t>
      <t><xref target="NIST-SP-800-227"/> includes guidelines and requirements for implementations
on using KEMs securely. Implementers are encouraged to use implementations
resistant to side-channel attacks, especially those that can be applied by
remote attackers.</t>
      <t>Implementers must evaluate their specific security, performance, and
operational constraints when deciding whether to deploy standalone ML-KEM or
a hybrid construction. The recommended column in the IANA TLS Supported
Groups registry contains the IETF's current guidance on the recommended use
of these algorithms for general purposes.</t>
      <t>The disclosure of the output(s) of an insecure random number generator (RNG)
when used in TLS and other protocols can be used in an attack to compromise
the state of the insecure RNG itself as described in <xref target="DUALECTLS"/>. The
encapsulation randomness in ML-KEM is an additional place where raw RNG
output may be disclosed, therefore it is important to follow the RNG guidance
in <xref target="FIPS203"/> and <xref target="RFC9846"/>. Implementers can choose to implement mechanisms
from <xref target="RFC8937"/> for additional protection across sessions.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document registers three new entries to the <eref target="https://www.iana.org/assignments/tls-parameters#tls-parameters-8">TLS Supported Groups
registry</eref>,
according to the procedures in <xref section="6" sectionFormat="of" target="RFC9847"/>.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Description</th>
            <th align="left">DTLS-OK</th>
            <th align="left">Recommended</th>
            <th align="left">Reference</th>
            <th align="left">Comment</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">512 (0x0200)</td>
            <td align="left">MLKEM512</td>
            <td align="left">Y</td>
            <td align="left">N</td>
            <td align="left">This document</td>
            <td align="left">FIPS 203 version of ML-KEM-512</td>
          </tr>
          <tr>
            <td align="left">513 (0x0201)</td>
            <td align="left">MLKEM768</td>
            <td align="left">Y</td>
            <td align="left">N</td>
            <td align="left">This document</td>
            <td align="left">FIPS 203 version of ML-KEM-768</td>
          </tr>
          <tr>
            <td align="left">514 (0x0202)</td>
            <td align="left">MLKEM1024</td>
            <td align="left">Y</td>
            <td align="left">N</td>
            <td align="left">This document</td>
            <td align="left">FIPS 203 version of ML-KEM-1024</td>
          </tr>
        </tbody>
      </table>
      <t>As defined in <xref section="3" sectionFormat="of" target="RFC9847"/>, the value N:</t>
      <blockquote>
        <t>Indicates that the item has not been evaluated by the IETF and that the
IETF has made no statement about the suitability of the associated mechanism.
This does not necessarily mean that the mechanism is flawed, only that no
consensus exists. The IETF might have consensus to leave an item marked as
"N" on the basis of the item having limited applicability or usage constraints.</t>
      </blockquote>
    </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="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="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="BJ24" target="https://bblanche.gitlabpages.inria.fr/publications/BlanchetJacommeCSF24.pdf">
          <front>
            <title>Post-Quantum Sound CryptoVerif and Verification of Hybrid TLS and SSH Key-Exchanges</title>
            <author initials="B." surname="Blanchet" fullname="Bruno Blanchet">
              <organization/>
            </author>
            <author initials="C." surname="Jacomme" fullname="Charlie Jacomme">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="Proceedings of CSF 2024" value=""/>
        </reference>
        <reference anchor="CDM23" target="https://eprint.iacr.org/2023/1933.pdf">
          <front>
            <title>Keeping Up with the KEMs: Stronger Security Notions for KEMs and automated analysis of KEM-based protocols</title>
            <author initials="C." surname="Cremers" fullname="Cas Cremers">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <author initials="A." surname="Dax" fullname="Alexander Dax">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <author initials="N." surname="Medinger" fullname="Niklas Medinger">
              <organization>CISPA Helmholtz Center for Information Security</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="CHSW22" target="https://doi.org/10.1007/978-3-031-17143-7_4">
          <front>
            <title>A Tale of Two Models: Formal Verification of KEMTLS via Tamarin</title>
            <author initials="S." surname="Celi">
              <organization/>
            </author>
            <author initials="J." surname="Hoyland">
              <organization/>
            </author>
            <author initials="D." surname="Stebila">
              <organization/>
            </author>
            <author initials="T." surname="Wiggers">
              <organization/>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="Proceedings of ESORICS 2022" value=""/>
        </reference>
        <reference anchor="CPWB25" target="https://doi.org/10.3390/e27121242">
          <front>
            <title>On the Security and Efficiency of TLS 1.3 Handshake with Hybrid Key Exchange from CPA-Secure KEMs</title>
            <author initials="J." surname="Chen" fullname="Jinrong Chen">
              <organization/>
            </author>
            <author initials="W." surname="Peng" fullname="Wei Peng">
              <organization/>
            </author>
            <author initials="Y." surname="Wang" fullname="Yi Wang">
              <organization/>
            </author>
            <author initials="Y." surname="Bian" fullname="Yutong Bian">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Entropy 27(12):1242" value=""/>
        </reference>
        <reference anchor="CZCJWH25" target="https://eprint.iacr.org/2025/1748.pdf">
          <front>
            <title>Post-Quantum {TLS} 1.3 Handshake from {CPA}-Secure {KEMs} with Tighter Reductions</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="DOWLING" target="https://doi.org/10.1007/s00145-021-09384-1">
          <front>
            <title>A Cryptographic Analysis of the TLS 1.3 Handshake Protocol</title>
            <author>
              <organization/>
            </author>
            <date year="2020"/>
          </front>
          <seriesInfo name="Journal of Cryptology 2021" value=""/>
        </reference>
        <reference anchor="DUALECTLS" target="https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-checkoway.pdf">
          <front>
            <title>On the Practical Exploitability of Dual EC in TLS Implementations</title>
            <author>
              <organization/>
            </author>
            <date year="2014"/>
          </front>
        </reference>
        <reference anchor="GHS25" target="https://eprint.iacr.org/2025/343.pdf">
          <front>
            <title>On The Multi-target Security of Post-Quantum Key Encapsulation Mechanisms</title>
            <author initials="L." surname="Glabush" fullname="Lewis Glabush">
              <organization/>
            </author>
            <author initials="K." surname="Hovelmanns" fullname="Kathrin Hovelmanns">
              <organization/>
            </author>
            <author initials="D." surname="Stebila" fullname="Douglas Stebila">
              <organization/>
            </author>
            <date year="2025"/>
          </front>
          <seriesInfo name="Cryptology ePrint Archive, Report 2025/343" value=""/>
        </reference>
        <reference anchor="HV22" target="https://link.springer.com/chapter/10.1007/978-3-031-07082-2_22">
          <front>
            <title>On IND-qCCA Security in the ROM and Its Applications - CPA Security Is Sufficient for TLS 1.3</title>
            <author initials="L." surname="Huguenin-Dumittan" fullname="Loïs Huguenin-Dumittan">
              <organization/>
            </author>
            <author initials="S." surname="Vaudenay" fullname="Serge Vaudenay">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Proceedings of Eurocrypt 2022" value=""/>
        </reference>
        <reference anchor="KOBEISSI26" target="https://eprint.iacr.org/2026/1147.pdf">
          <front>
            <title>FATT Chance: On the Robustness of Standalone and Hybrid ML-KEM Key Exchange in TLS 1.3</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="KEMTLS">
          <front>
            <title>Post-Quantum TLS Without Handshake Signatures</title>
            <author fullname="Peter Schwabe" initials="P." surname="Schwabe">
              <organization>Max Planck Institute for Security and Privacy &amp;amp; Radboud University, Bochum, Germany</organization>
            </author>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo, Waterloo, ON, Canada</organization>
            </author>
            <author fullname="Thom Wiggers" initials="T." surname="Wiggers">
              <organization>Radboud University, Nijmegen, Netherlands</organization>
            </author>
            <date month="October" year="2020"/>
          </front>
          <seriesInfo name="Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security" value="pp. 1461-1480"/>
          <seriesInfo name="DOI" value="10.1145/3372297.3423350"/>
          <refcontent>ACM</refcontent>
        </reference>
        <reference anchor="NIST-SP-800-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="RFC8937">
          <front>
            <title>Randomness Improvements for Security Protocols</title>
            <author fullname="C. Cremers" initials="C." surname="Cremers"/>
            <author fullname="L. Garratt" initials="L." surname="Garratt"/>
            <author fullname="S. Smyshlyaev" initials="S." surname="Smyshlyaev"/>
            <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
            <author fullname="C. Wood" initials="C." surname="Wood"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>Randomness is a crucial ingredient for Transport Layer Security (TLS) and related security protocols. Weak or predictable "cryptographically secure" pseudorandom number generators (CSPRNGs) can be abused or exploited for malicious purposes. An initial entropy source that seeds a CSPRNG might be weak or broken as well, which can also lead to critical and systemic security problems. This document describes a way for security protocol implementations to augment their CSPRNGs using long-term private keys. This improves randomness from broken or otherwise subverted CSPRNGs.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8937"/>
          <seriesInfo name="DOI" value="10.17487/RFC8937"/>
        </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="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="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="ZJZ24" target="https://doi.org/10.1007/978-981-96-0891-1_14">
          <front>
            <title>CPA-Secure KEMs are also Sufficient for Post-quantum TLS 1.3</title>
            <author initials="B." surname="Zhou">
              <organization/>
            </author>
            <author initials="H." surname="Jiang">
              <organization/>
            </author>
            <author initials="Y." surname="Zhao">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
          <seriesInfo name="Proceedings of Asiacrypt 2024" value=""/>
        </reference>
      </references>
    </references>
    <?line 351?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Douglas Stebila for consultation on RFC 9954's design, and to Scott
Fluhrer, Eric Rescorla, John Preuß Mattsson, Martin Thomson, and Rebecca
Guthrie for reviews.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
7/8ArxVETDUzAAA=

-->

</rfc>
