[TLS] Re: ML-KEM IANA and draft-connolly-tls-mlkem-key-agreement codepoint and inconsistencies
Viktor Dukhovni <ietf-dane@dukhovni.org> Fri, 07 March 2025 04:03 UTC
Return-Path: <ietf-dane@dukhovni.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 59CE08A81D0 for <tls@mail2.ietf.org>; Thu, 6 Mar 2025 20:03:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -4.398
X-Spam-Level:
X-Spam-Status: No, score=-4.398 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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=dukhovni.org
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 2Ah_arKGU_VM for <tls@mail2.ietf.org>; Thu, 6 Mar 2025 20:03:02 -0800 (PST)
Received: from chardros.imrryr.org (chardros.imrryr.org [144.6.86.210]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 282B78A81CB for <tls@ietf.org>; Thu, 6 Mar 2025 20:03:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=dukhovni.org; i=@dukhovni.org; q=dns/txt; s=f8320d6e; t=1741320179; h=date : from : to : subject : message-id : reply-to : references : mime-version : content-type : in-reply-to : content-transfer-encoding : from; bh=UiYATuwAP2iVLMlpSQmTviqWAFKdI0eFdYvYiSm1GrQ=; b=q9bPsxANFgWix0ri4z7N6b1AMBEb2VMh0WJ5uP3HW5mU7uIIyz2WvaT8QdSqFWcaqC6Xt gM5WtNYBHe5uC1DfCP7krY1D4jD0uSfxi9zoVN2YW7f3KzuABCs19SYI5pEiYYQlcjZcvKN 14ntkJbmfRfgfoAr6Wbkt5BqjAGOSHk=
Received: by chardros.imrryr.org (Postfix, from userid 1000) id 2D87C93558A; Fri, 07 Mar 2025 15:02:59 +1100 (AEDT)
Date: Fri, 07 Mar 2025 15:02:59 +1100
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <Z8pv88GK2t_95t2a@chardros.imrryr.org>
References: <ecbe460a-578e-4c2b-a58b-adecbe63abdf@cryptonext-security.com> <Z8mdhmuunvsHEhkZ@chardros.imrryr.org> <AS5PR07MB96758D66E90B56568326199089CA2@AS5PR07MB9675.eurprd07.prod.outlook.com> <CAMjbhoVhWt6bS0GeMqJDu6goQ=zNXQ_yHLXYukN6Q4O6ij7AtQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
In-Reply-To: <CAMjbhoVhWt6bS0GeMqJDu6goQ=zNXQ_yHLXYukN6Q4O6ij7AtQ@mail.gmail.com>
Mail-Followup-To: <tls@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-ID-Hash: II6JD7EPE4RWCHIR6XOFRUIZU4TOMHPP
X-Message-ID-Hash: II6JD7EPE4RWCHIR6XOFRUIZU4TOMHPP
X-MailFrom: ietf-dane@dukhovni.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
Reply-To: tls@ietf.org
Subject: [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlkem-key-agreement codepoint and inconsistencies
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/g9sagkuAu8KlWpmJ30YdXbga5Xg>
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>
On Thu, Mar 06, 2025 at 09:01:13PM +0100, Bas Westerbaan wrote:
> This is indeed fantastic—congratulations!
>
> Will X25519MLKEM768 be enabled by default?
Yes, not only enabled, but preferred, with servers sending an HRR when a
client reports support for X25519MLKEM768, but does not send a
corresponding keyshare.
Similarly, the most preferred sigalgs are ML-DSA-65, ML-DSA-87, and
ML-DSA-44. Of course these don't take effect unless the server is
actually configured with a key+cert of that type.
$ posttls-finger -Lsummary -c dukhovni.org
posttls-finger: Verified TLS connection established
to mx1.imrryr.org[144.6.86.210]:25:
TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519MLKEM768
server-signature ML-DSA-65 (raw public key)
--
Viktor.
$ openssl s_server -accept [::1]:12345 -cert ./apps/server.pem -naccept 1 -groups x25519mlkem768/x25519 -trace
[ ... Client runs: openssl s_client -connect [::1]:12345 -groups x25519:X25519MLKEM768 -brief ... ]
Received TLS Record
Header:
Version = TLS 1.0 (0x301)
Content Type = Handshake (22)
Length = 287
ClientHello, Length=283
...
extensions, length = 150
...
extension_type=supported_groups(10), length=6
ecdh_x25519 (29)
X25519MLKEM768 (4588)
...
extension_type=key_share(51), length=38
NamedGroup: ecdh_x25519 (29)
key_exchange: (len=32): ...
Sent TLS Record
Header:
Version = TLS 1.2 (0x303)
Content Type = Handshake (22)
Length = 88
ServerHello, Length=84
server_version=0x303 (TLS 1.2)
Random:
gmt_unix_time=0xCF21AD74
random_bytes (len=28): ...
session_id (len=32): ...
cipher_suite {0x13, 0x02} TLS_AES_256_GCM_SHA384
compression_method: No Compression (0x00)
extensions, length = 12
extension_type=supported_versions(43), length=2
TLS 1.3 (772)
extension_type=key_share(51), length=2
NamedGroup: X25519MLKEM768 (4588)
Sent TLS Record
Header:
Version = TLS 1.2 (0x303)
Content Type = ChangeCipherSpec (20)
Length = 1
change_cipher_spec (1)
Received TLS Record
Header:
Version = TLS 1.2 (0x303)
Content Type = ChangeCipherSpec (20)
Length = 1
change_cipher_spec (1)
Received TLS Record
Header:
Version = TLS 1.2 (0x303)
Content Type = Handshake (22)
Length = 1471
ClientHello, Length=1467
client_version=0x303 (TLS 1.2)
...
extensions, length = 1334
...
extension_type=supported_groups(10), length=6
ecdh_x25519 (29)
X25519MLKEM768 (4588)
...
extension_type=key_share(51), length=1222
NamedGroup: X25519MLKEM768 (4588)
key_exchange: (len=1216): ...
...
- [TLS] ML-KEM IANA and draft-connolly-tls-mlkem-ke… Daniel Van Geest
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Viktor Dukhovni
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… John Mattsson
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Tim Hudson
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Bas Westerbaan
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Viktor Dukhovni
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… John Mattsson
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Viktor Dukhovni
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Kris Kwiatkowski
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Viktor Dukhovni
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Tim Hudson
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Kris Kwiatkowski
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Deirdre Connolly
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Daniel Van Geest
- [TLS] Re: ML-KEM IANA and draft-connolly-tls-mlke… Salz, Rich