<?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-10" 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-10"/>
    <author fullname="Deirdre Connolly">
      <organization>SandboxAQ</organization>
      <address>
        <email>durumcrustulum@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="02"/>
    <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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
gb3/A3B7GbYrMwAA

-->

</rfc>
