[TLS] [Editorial Errata Reported] RFC9954 (9136)
rfc-editor@rfc-editor.org Mon, 17 August 2026 16:51 UTC
Return-Path: <rfc-editor@rfc-editor.org>
X-Original-To: tls@ietf.org
Delivered-To: tls@mail2.ietf.org
Received: from errata-celery-848864fbc6-cj426 (gaia.k8s.ietf.org [4.156.85.76]) by mail2.ietf.org (Postfix) with ESMTP id 66AF912B2BC40; Mon, 17 Aug 2026 09:51:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1786985510; bh=xcL91muXuWBH0UZE6qJfvOrMokaOqoHvAozyxCoJ1ys=; h=Subject:From:To:Cc:Date; b=GHmi8/Nuvg0Zy75zwCSR355bZ1DHtxKvVKSGA6t8rXMgMC2qug2wT5wRnx09whqIA jn+kpaY8j3B7BxMpB3hS3AZ7vMbSTxQtj+lHgAr8VxzwW2vrJlLFSuvMYY0NIn5xSX rQZZCbAret1WnFodkx0FdLXIiI4QCEJtaZlzRlPY=
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: rfc-editor@rfc-editor.org
To: rfc-editor@rfc-editor.org
Date: Mon, 17 Aug 2026 16:51:50 -0000
message-id: <178698551028.15.10833391509861417675@rfc-editor.org>
Message-ID-Hash: 4V26MF2DVUHIFIBOMRFRUMSRAGO4P755
X-Message-ID-Hash: 4V26MF2DVUHIFIBOMRFRUMSRAGO4P755
X-MailFrom: rfc-editor@rfc-editor.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tls.ietf.org-0; header-match-tls.ietf.org-1; header-match-tls.ietf.org-2; header-match-tls.ietf.org-3; header-match-tls.ietf.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: tls@ietf.org, rfc-editor@rfc-editor.org, shay.gueron@gmail.com, dstebila@uwaterloo.ca, nmalykh@protokols.ru
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] [Editorial Errata Reported] RFC9954 (9136)
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/AQhblDYGJCRnyC461G1cQSbR6e8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tls>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Owner: <mailto:tls-owner@ietf.org>
List-Post: <mailto:tls@ietf.org>
List-Subscribe: <mailto:tls-join@ietf.org>
List-Unsubscribe: <mailto:tls-leave@ietf.org>
The following errata report has been submitted for RFC9954, "Hybrid Key Exchange in TLS 1.3" -------------------------------------- You may review the report below and at: https://errata.rfc-editor.org/eid9136/ -------------------------------------- Type: Editorial Reported by: Nikolai Malykh <nmalykh@protokols.ru> Section 3.2 says: Original Text ------------- Recall that, in TLS 1.3 ([TLS13], Section 4.2.8), a KEM public key or KEM ciphertext is represented as a KeyShareEntry: struct { NamedGroup group; opaque key_exchange<1..2^16-1>; } KeyShareEntry; These are transmitted in the extension_data fields of KeyShareClientHello and KeyShareServerHello extensions: struct { KeyShareEntry client_shares<0..2^16-1>; } KeyShareClientHello; struct { KeyShareEntry server_share; } KeyShareServerHello; The client's shares are listed in descending order of client preference; the server selects one algorithm and sends its corresponding share. For a hybrid key exchange, the key_exchange field of a KeyShareEntry is the concatenation of the key_exchange field for each of the constituent algorithms. The order of shares in the concatenation MUST be the same as the order of algorithms indicated in the definition of the NamedGroup. For the client's share, the key_exchange value contains the concatenation of the pk outputs of the corresponding KEMs' KeyGen algorithms if that algorithm corresponds to a KEM or the (EC)DH ephemeral key share if that algorithm corresponds to an (EC)DH group. For the server's share, the key_exchange value contains the concatenation of the ct outputs of the corresponding KEMs' Encaps algorithms if that algorithm corresponds to a KEM or the (EC)DH ephemeral key share if that algorithm corresponds to an (EC)DH group. Section 4.2.8 of [TLS13] requires that "The key_exchange values for each KeyShareEntry MUST be generated independently." In the context of this document, the same algorithm may appear in multiple named groups; thus, this document relaxes the above requirement to allow the same key_exchange value for the same algorithm to be reused in multiple KeyShareEntry records sent within the same ClientHello. However, key_exchange values for different algorithms MUST be generated independently. Explicitly, if the NamedGroup is the hybrid key exchange MyECDHMyPQKEM, the KeyShareEntry.key_exchange values MUST be generated in one of the following two ways: Corrected Text -------------- Recall that, in TLS 1.3 ([TLS13], Section 4.3.8), a KEM public key or KEM ciphertext is represented as a KeyShareEntry: struct { NamedGroup group; opaque key_exchange<1..2^16-1>; } KeyShareEntry; These are transmitted in the extension_data fields of KeyShareClientHello and KeyShareServerHello extensions: struct { KeyShareEntry client_shares<0..2^16-1>; } KeyShareClientHello; struct { KeyShareEntry server_share; } KeyShareServerHello; The client's shares are listed in descending order of client preference; the server selects one algorithm and sends its corresponding share. For a hybrid key exchange, the key_exchange field of a KeyShareEntry is the concatenation of the key_exchange field for each of the constituent algorithms. The order of shares in the concatenation MUST be the same as the order of algorithms indicated in the definition of the NamedGroup. For the client's share, the key_exchange value contains the concatenation of the pk outputs of the corresponding KEMs' KeyGen algorithms if that algorithm corresponds to a KEM or the (EC)DH ephemeral key share if that algorithm corresponds to an (EC)DH group. For the server's share, the key_exchange value contains the concatenation of the ct outputs of the corresponding KEMs' Encaps algorithms if that algorithm corresponds to a KEM or the (EC)DH ephemeral key share if that algorithm corresponds to an (EC)DH group. Section 4.3.8 of [TLS13] requires that "The key_exchange values for each KeyShareEntry MUST be generated independently." In the context of this document, the same algorithm may appear in multiple named groups; thus, this document relaxes the above requirement to allow the same key_exchange value for the same algorithm to be reused in multiple KeyShareEntry records sent within the same ClientHello. However, key_exchange values for different algorithms MUST be generated independently. Explicitly, if the NamedGroup is the hybrid key exchange MyECDHMyPQKEM, the KeyShareEntry.key_exchange values MUST be generated in one of the following two ways: Notes ----- There is a typo in the section number - 4.2.8 instead of 4.3.8 Instructions: ------------- This erratum is currently posted as "Reported". Please use "Reply All" to discuss whether it should be verified or rejected. When a decision is reached, the verifying party will log in to change the status and edit the report, if necessary. -------------------------------------- RFC9954 (draft-ietf-tls-hybrid-design) -------------------------------------- Title : Hybrid Key Exchange in TLS 1.3 Publication Date : July 2026 Author(s) : D. Stebila, S. Fluhrer, S. Gueron Category : Informational Source : tls (sec) Stream : IETF Verifying Party : IESG