[TLS] Re: Working Group Last Call for Post-quantum Hybrid ECDHE-MLKEM Key Agreement for TLSv1.3

Simon Josefsson <simon@josefsson.org> Thu, 09 October 2025 06:50 UTC

Return-Path: <simon@josefsson.org>
X-Original-To: tls@mail2.ietf.org
Delivered-To: tls@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id ED94D6FDDE34 for <tls@mail2.ietf.org>; Wed, 8 Oct 2025 23:50:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.401
X-Spam-Level:
X-Spam-Status: No, score=-4.401 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=josefsson.org header.b="Yjkuolzu"; dkim=pass (2736-bit key) header.d=josefsson.org header.b="RSvZ9ljZ"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 30j5EWT3SHkz for <tls@mail2.ietf.org>; Wed, 8 Oct 2025 23:50:30 -0700 (PDT)
Received: from uggla.sjd.se (uggla.sjd.se [IPv6:2001:9b1:8633::107]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id A34BD6FDDE2C for <tls@ietf.org>; Wed, 8 Oct 2025 23:50:29 -0700 (PDT)
DKIM-Signature: v=1; a=ed25519-sha256; q=dns/txt; c=relaxed/relaxed; d=josefsson.org; s=ed2303; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:To:From:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description; bh=nD1QR1bxK6Gt147xMqi45UyGLMyGLtjYi6aNPryfLnA=; t=1759992625; x=1761202225; b=YjkuolzuFr70b7vmVFx1WaT+FX6bi8bd4fzN1NcDmixQgBEkuCmDeT0Bgjbuyfnt6R9swOQeLjw APlXgb2ZUCw==;
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=josefsson.org; s=rsa2303; h=Content-Type:MIME-Version:Message-ID:Date: References:In-Reply-To:Subject:To:From:Sender:Reply-To:Cc: Content-Transfer-Encoding:Content-ID:Content-Description; bh=nD1QR1bxK6Gt147xMqi45UyGLMyGLtjYi6aNPryfLnA=; t=1759992625; x=1761202225; b=RSvZ9ljZEZdf7i0M4yf43NZSFnPhh/D2B65ueQY6aukuecG+Q91h3JTOgXA6Qx9FrIRCDk2BGGi N3Bi2qEpp1fcHV0ZQuUvlKz5SFVB3bW6VO35Mwjw1xnPuZQqMBTVuV38CJ+uxLEqo2fv8xQbXOmnF MuMP8Fqq7JWE5xXMoRYcwIOlkxJwE5lsN/Hptc5eerE+8mo8Ao4pNb7WVJzAlhRPy2n4pW0ueyEPR T+jUVismJ2uuM1YupjTgO9US2YvUflWVMAArEInSzNbUBJVAtNvDU/ThvhNsQb/ect+tI6+lDJT1W zxD9AJq5cgLRb12+RlGsRzI3v5kR6LH13jV0CNgNMNSqgjVBtCasPfS/ykIATN0HRH438BZisYa6A No1xPAryTvOSsEvzFZfZlPXbo6rKGAE8VncDXBQAH9vMTrXRKxiZFXHP4iqabU+FMPnwAtw3Y;
Received: from [2001:9b1:41ac:ff00:7c1:ecfe:66ae:65e8] (port=49604 helo=kaka) by uggla.sjd.se with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from <simon@josefsson.org>) id 1v6kTo-001DrL-Ev for tls@ietf.org; Thu, 09 Oct 2025 06:50:24 +0000
From: Simon Josefsson <simon@josefsson.org>
To: tls@ietf.org
In-Reply-To: <87h5wapnqf.fsf@josefsson.org> (Simon Josefsson's message of "Tue, 07 Oct 2025 20:31:52 +0200")
References: <CAOgPGoA+c8kXDizwsvFG5tLz9+Kxk0HqiN1skKp5jMvvpxeu0Q@mail.gmail.com> <CABcZeBO+3u=1=ueNscq+O74Qv=7PC5NedsGsugp=GZjVqtODoQ@mail.gmail.com> <CAMjbhoVcxTfppSrkC27F8uf9hKvqTDBsG_-dzGtWbjia5YhmXw@mail.gmail.com> <aOVWcf9JFllri-vG@netmeister.org> <87h5wapnqf.fsf@josefsson.org>
OpenPGP: id=B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE; url=https://josefsson.org/key-20190320.txt
X-Hashcash: 1:23:251009:simon=40josefsson.org@dmarc.ietf.org::YADlCNkRGnq15P4K:ukpo
X-Hashcash: 1:23:251009:tls@ietf.org::R6cZESgeXjap0ELZ:0KHZv
Date: Thu, 09 Oct 2025 08:50:07 +0200
Message-ID: <87ikgozi00.fsf@josefsson.org>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Message-ID-Hash: ISDO2CJGQS7MXIJPNELS4TWKFESACQJM
X-Message-ID-Hash: ISDO2CJGQS7MXIJPNELS4TWKFESACQJM
X-MailFrom: simon@josefsson.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tls.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: Working Group Last Call for Post-quantum Hybrid ECDHE-MLKEM Key Agreement for TLSv1.3
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/SNf1Lk2ZE9g1ThkNPhYlYz5PRsI>
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>

Simon Josefsson <simon=40josefsson.org@dmarc.ietf.org> writes:

> The discussion below suggests to me that X25519MLKEM768 is the running
> code de-facto algorithm that ought to be on the Standards Track and
> Recommended=Y and the other variants should be split off to a separate
> Informational document with Recommended=N for niche usage.

I realized that there is another argument for the above, see

https://datatracker.ietf.org/doc/html/draft-ietf-tls-hybrid-design-16#section-4

   Duplication of key shares. Concatenation of public keys in the
   key_exchange field in the KeyShareEntry struct as described in
   Section 3.2 can result in sending duplicate key shares. For example,
   if a client wanted to offer support for two combinations, say
   "SecP256r1MLKEM768" and "X25519MLKEM768" [ECDHE-MLKEM], it would end
   up sending two ML-KEM-768 public keys, since the KeyShareEntry for
   each combination contains its own copy of a ML-KEM-768 key.

So this is an argument that X25519MLKEM768 ought to be the preferred,
recommended=Y and Standards Track algorithm, and that the other variants
should be actively discouraged by moving them to a separate document for
niche usage.

This situation could also be seen as a bug in the design of
draft-ietf-tls-hybrid-design but I suppose it is a bit late to change
that.  And the implication to have only one preferred hybrid variant for
each PQ algorithm isn't unreasonable.  Algorithm profileration leads to
fragmented parametrized implementations and security issues.  So I think
the this "bug" could also be seen as a feature, even if that property
probably wasn't intended initially.

/Simon