- Home
- RFC 10024
RFC 10024: Post-Quantum Traditional (PQ/T) Hybrid Key Agreement Mechanisms for TLS 1.3
- K. Kwiatkowski,
- P. Kampanakis,
- B. E. Westerbaan,
- D. Stebila
Abstract
This document defines three hybrid key agreement mechanisms for TLS 1.3 -- X25519MLKEM768,
Sec
Status of This Memo
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
ML-KEM is a key encapsulation mechanism (KEM) defined in [NIST-FIPS-203]. It is designed to withstand cryptanalytic attacks from quantum computers.¶
[RFC9954] 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.¶
This document applies the framework in [RFC9954] to ML-KEM and specifies code points for the hybrid groups.¶
2. Motivation
This document introduces three new supported groups for Post-Quantum Traditional (PQ/T) hybrid key agreements [RFC9794] in TLS 1.3 -- X25519MLKEM768,
Sec
-
The first group uses X25519 [RFC7748], is widely deployed, and often serves as the most practical choice for a single PQ/T hybrid combiner [RFC9794] in TLS 1.3.¶
-
The second group uses secp256r1 (NIST P-256) [NIST-FIPS-186]. This group supports use cases that require both shared secrets to be generated by FIPS-approved mechanisms.¶
-
The third group uses secp384r1 (NIST P-384) [NIST-FIPS-186]. This group is intended for high-security environments that require FIPS-approved mechanisms with an increased security margin.¶
Key establishment using NIST curves is outlined in Section 6.1.2.2 of [NIST-SP-800-56A].¶
3. Terminology
[RFC9954] defines "traditional" algorithms as those that are already widely adopted and "next
[RFC9954] also defines a "hybrid" key exchange as the simultaneous use of multiple key exchange algorithms, with their outputs combined to provide security as long as at least one of the component algorithms remains secure, even if the others are compromised. This document uses the term "hybrid" with the same meaning.¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
5. Regulatory Context
This section provides informal notes on how the hybrid key agreement mechanisms defined in this document relate to existing NIST guidance on key derivation and hybrid key establishment.¶
-
FIPS-compliance. All groups defined in this document permit FIPS-approved key derivation as per [NIST-SP-800-56C] and [NIST-SP-800-135]. NIST Special Publication 800-56Cr2 [NIST-SP-800-56C] approves the usage of the HMAC-based Key Derivation Function (HKDF) [RFC5869] 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, the ML-KEM shared secret is placed first in X25519MLKEM768, while the ECDHE shared secret is placed first in Sec P256r1MLKEM768 and Sec P384r1MLKEM1024 . This means that for Sec P256r1MLKEM768 and Sec P384r1MLKEM1024, the ECDHE implementation must be certified, whereas the ML-KEM implementation does not require certification. In contrast, for X25519MLKEM768, the ML-KEM implementation must be certified.¶ -
SP800-227 compliance. NIST Special Publication 800-227 [NIST-SP-800-227] provides general guidance on the design and use of key encapsulation mechanisms, including hybrid constructions. The key agreements defined in this document follow the principles described in Section 4.6 of [NIST-SP-800-227], which discusses the combination of post-quantum and classical key
-establishment schemes and the use of approved key combiners. In particular, the shared-secret concatenation and HKDF-based derivation used by TLS 1.3 are consistent with the composite-KEM constructions and key-combiner recommendations outlined in Sections 4.6.1 and 4.6.2 of [NIST-SP-800-227]. Section 4.6.3 of [NIST-SP-800-227] further provides relevant security considerations for hybrid KEM designs underlying the approach used in this document.¶
6. Security Considerations
The same security considerations as those described in [RFC9954] 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 hybridization is secure in other protocols.¶
[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.¶
All groups defined in this document use and generate fixed-length public keys, ciphertexts, and shared secrets, which complies with the requirements described in Section 6 of [RFC9954].¶
During ML-KEM encapsulation, encapsulation randomness m is drawn from
a random bit generator and encrypted (see [NIST-FIPS-203], Algorithms
17 and 20); the client, which holds the decapsulation key, then
recovers m exactly during decapsulation (see [NIST-FIPS-203],
Algorithm 18). Consequently, any information m carries about the
generator's other outputs is also exposed to the client.¶
The disclosure of the output(s) of an insecure random number
generator (RNG) when used in TLS can be used in an attack to
compromise the state of the insecure RNG itself as described in
[DUALECTLS]. The encapsulation randomness m in ML-KEM is an
additional place where RNG output is disclosed to an active attacker.
Implementers should follow the RBG guidance in [NIST-FIPS-203] and
the random number generation guidance in Appendix C.1 of [RFC9846].
Implementers can choose to implement mechanisms from [RFC8937] for
additional protection across sessions.¶
In contrast, the ECDH ephemeral scalars taken from the RNG are never directly disclosed to the peer. However, any passive observer with
access to a cryptographical
If the same insecure RNG is used by both algorithms, then a disclosure of state by one of the algorithms will also affect the security of the other algorithm.¶
7. IANA Considerations
Per this document, IANA has registered three new entries in the "TLS Supported Groups" registry, according to the procedures in Section 6 of [RFC9847]. These identifiers are to be used with the final version of ML-KEM ratified by NIST, which is specified in [NIST-FIPS-203].¶
7.4. Obsoleted Supported Groups
Experimental code points for pre-standard versions of Kyber768 were added to the "TLS Supported Groups" registry as X25519Kyber768D
8. References
8.1. Normative References
- [NIST-FIPS-186]
-
NIST, "Digital Signature Standard (DSS)", NIST FIPS 186-5, DOI 10
.6028 , , <https:///NIST .FIPS .186 -5 doi >..org /10 .6028 /NIST .FIPS .186 -5 - [NIST-FIPS-203]
-
NIST, "Module
-Lattice , NIST FIPS 203, DOI 10-Based Key -Encapsulation Mechanism Standard" .6028 , , <https:///NIST .FIPS .203 doi >..org /10 .6028 /NIST .FIPS .203 - [NIST
-SP -800 -56C] -
Barker, E., Chen, L., and R. Davis, "Recommendation for Key-Derivation Methods in Key
-Establishment Schemes" , National Institute of Standards and Technology, NIST SP 800-56Cr2, DOI 10.6028 , , <https:///nist .sp .800 -56cr2 doi >..org /10 .6028 /nist .sp .800 -56cr2 - [NIST
-SP -800 -135] -
Dang, Q., "Recommendation for Existing Application
-Specific Key Derivation Functions" , National Institute of Standards and Technology, NIST SP 800-135r1, DOI 10.6028 , , <https:///nist .sp .800 -135r1 doi >..org /10 .6028 /nist .sp .800 -135r1 - [NIST
-SP -800 -227] -
Alagic, G., Barker, E., Chen, L., Moody, D., Robinson, A., Silberg, H., and N. Waller, "Recommendations for Key
-Encapsulation Mechanisms" , National Institute of Standards and Technology, NIST SP 800-227, DOI 10.6028 , , <https:///nist .sp .800 -227 doi >..org /10 .6028 /nist .sp .800 -227 - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC7748]
-
Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves for Security", RFC 7748, DOI 10
.17487 , , <https:///RFC7748 www >..rfc -editor .org /info /rfc7748 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC9846]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 9846, DOI 10
.17487 , , <https:///RFC9846 www >..rfc -editor .org /info /rfc9846 - [RFC9954]
-
Stebila, D., Fluhrer, S., and S. Gueron, "Hybrid Key Exchange in TLS 1.3", RFC 9954, DOI 10
.17487 , , <https:///RFC9954 www >..rfc -editor .org /info /rfc9954
8.2. Informative References
- [DUALECTLS]
-
Checkoway, S., Fredrikson, M., Niederhagen, R., Everspaugh, A., Green, M., Lange, T., Ristenpart, T., Bernstein, D. J., Maskiewicz, J., and H. Shacham, "On the Practical Exploitability of Dual EC in TLS Implementations
" , 23rd USENIX Security Symposium (USENIX Security 14), , <https://www >..usenix .org /system /files /conference /usenixsecurity1 4 /sec14 -paper -checkoway .pdf - [NIST
-SP -800 -56A] -
Barker, E., Chen, L., Roginsky, A., Vassilev, A., and R. Davis, "Recommendation for Pair-Wise Key
-Establishment Schemes Using Discrete Logarithm Cryptography" , National Institute of Standards and Technology, NIST SP 800-56Ar3, DOI 10.6028 , , <https:///nist .sp .800 -56ar3 doi >..org /10 .6028 /nist .sp .800 -56ar3 - [RFC5869]
-
Krawczyk, H. and P. Eronen, "HMAC-based Extract
-and , RFC 5869, DOI 10-Expand Key Derivation Function (HKDF)" .17487 , , <https:///RFC5869 www >..rfc -editor .org /info /rfc5869 - [RFC8937]
-
Cremers, C., Garratt, L., Smyshlyaev, S., Sullivan, N., and C. Wood, "Randomness Improvements for Security Protocols", RFC 8937, DOI 10
.17487 , , <https:///RFC8937 www >..rfc -editor .org /info /rfc8937 - [RFC9794]
-
Driscoll, F., Parsons, M., and B. Hale, "Terminology for Post-Quantum Traditional Hybrid Schemes", RFC 9794, DOI 10
.17487 , , <https:///RFC9794 www >..rfc -editor .org /info /rfc9794 - [RFC9847]
-
Salowey, J. and S. Turner, "IANA Registry Updates for TLS and DTLS", RFC 9847, DOI 10
.17487 , , <https:///RFC9847 www >..rfc -editor .org /info /rfc9847