[TLS] Re: WG Adoption Call for ML-KEM Post-Quantum Key Agreement for TLS 1.3

Bas Westerbaan <bas@cloudflare.com> Wed, 16 April 2025 08:21 UTC

Return-Path: <bas@cloudflare.com>
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 1D9041CD8C72 for <tls@mail2.ietf.org>; Wed, 16 Apr 2025 01:21:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=cloudflare.com
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 LEo1-YAQVZN0 for <tls@mail2.ietf.org>; Wed, 16 Apr 2025 01:21:21 -0700 (PDT)
Received: from mail-yw1-x1131.google.com (mail-yw1-x1131.google.com [IPv6:2607:f8b0:4864:20::1131]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 405E31CD8C44 for <tls@ietf.org>; Wed, 16 Apr 2025 01:21:21 -0700 (PDT)
Received: by mail-yw1-x1131.google.com with SMTP id 00721157ae682-7053f85f059so57071787b3.2 for <tls@ietf.org>; Wed, 16 Apr 2025 01:21:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cloudflare.com; s=google09082023; t=1744791681; x=1745396481; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wRC8ZUqDixp4mL8QdpXOxxyiczjGPVV4RogZ3wt8be4=; b=XjnhbCiudSoXAfnorkE55Nj9FBY8tfYZvjdYfmm9DGIBfewAFSST74DHMnaOZWk70J lGiSJtgl1oeiRTo0fl8JMc8jYiDSjCGOuyxF+9JYVItazAVrsPPfVp3y/f5IbQa1ujpO gODVs6TVK10+rUxzYSob0H2XoiomBDzKszU55pjRBP1iHpadxlXs4bQ3pwLsTdylCQ8q 7bwPXBmjF2Rr34vVRjZJDMx7pZnPBq2Ep3ySYhI09Kzrjc1dh0tLzCylixRdmjpAyPI+ DMHMtvfEut+61QGI6L3zJ3dGYOkWUpo1O65rfePyEHDMwi5aln3qiw+bqilshsqOqJQf C3gA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744791681; x=1745396481; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=wRC8ZUqDixp4mL8QdpXOxxyiczjGPVV4RogZ3wt8be4=; b=rX/H4t3jblmfob+9AsynHC7P1Qyn/ZF6N3tKuvLGwGHng7Ozq3ez4Xx5UV+9sefVEp dWPF+2BVlqX9exSgf+xHmsLz2DJ2StaMFT/00OvBHfGeGGBjjb/y6WtDnW0bpBz2Vbia bl7EsRq7WFURMfFxJYMozByPDFq8NXuWn5ew+3W/owSxItxKm/wNbTtcw0cFU7tSu0K/ CaRLhj18EtNA0ssnAcgpIJXr3UY+KppmSQDVbxoX6XcOYy0T4EPRe1SOoo2Xg+f6U3hH 7SzRYKH1eD2CxlVgkYbwuLlne/4ypy2DuqtGALuBZgZyNxmdGGZrvkgX/HPHTfsaqWBB ol6g==
X-Forwarded-Encrypted: i=1; AJvYcCX74cS+5RoQbfDKKxYpWVFG5XBCTCtk97GV+GyKY/u0ga33U3Fhskf1SILfWxVl2Q62PcM=@ietf.org
X-Gm-Message-State: AOJu0YxAQtkoJyDnlmGXmPwkRJBehbmsLRzYBE4JFSHm5y669j6ml5aZ X8iF+ZxYzG7/xgdMeUfoy7UK7rlot63X9Vrk/VQfWJ3NANcmbqx9UVf62/VPWGNFWMO9SEtTxnP euGi5lK7a82QXF/t5dv+U0FBBg5vicFnbMrS99Q==
X-Gm-Gg: ASbGnct+QmiXpkr15qMevb96lNuFiSeWmRsCafWoPyQyLLDpeC9SIo0eEd6dcVyqITy uf3MZolHnok3b5w/CYj5rNcl4GwS+NZngfD3zhx0hWfvk96sWxMGW+sTJw2YeCHp0QGQia/cLuT R40E8JtK2n4+dcnn1ir36XIVup+lvz2W8vBdkieXtMu8zGyOel
X-Google-Smtp-Source: AGHT+IGnYj2NMSoqIADnIerPO2u25aUbLX6TUDd8fVQULX/pijrHKnMLpb5FFLGkSxAyBn74ifN/eawbds8CfogirGw=
X-Received: by 2002:a05:690c:6181:b0:6fd:3743:1e31 with SMTP id 00721157ae682-706b32d6463mr12834827b3.18.1744791680683; Wed, 16 Apr 2025 01:21:20 -0700 (PDT)
MIME-Version: 1.0
References: <582917A1-F936-4A15-AE9D-342076605BE7@sn3rd.com> <F347DA21-EB06-4FBF-B357-871A0FFA8DB1@sn3rd.com> <Z/7lbXqb8QHruMS2@akamai.com> <05bd6aa6-4b41-4bdc-8875-d380924031cf@cs.tcd.ie> <IA1PR17MB6421EBF2FDA5B4395C92D6D3CDBD2@IA1PR17MB6421.namprd17.prod.outlook.com> <73c3de1d-a9ee-43ee-8a71-ac1fe28ca467@cs.tcd.ie> <IA1PR17MB6421FCBACFA92AF01342D2FDCDBD2@IA1PR17MB6421.namprd17.prod.outlook.com> <c19d4aab928747fc3e702bdad7bf22ddf120ff9f.camel@aisec.fraunhofer.de>
In-Reply-To: <c19d4aab928747fc3e702bdad7bf22ddf120ff9f.camel@aisec.fraunhofer.de>
From: Bas Westerbaan <bas@cloudflare.com>
Date: Wed, 16 Apr 2025 10:21:09 +0200
X-Gm-Features: ATxdqUE72x-So9bllOW7qQ-PZOYMJWseLaPsE1-yGctcSUwLO-kXs3Wrk5bZj9c
Message-ID: <CAMjbhoWMz180cGYrOM8S+KUkEP34rxCVtcw59hMW+vZv-FgCqw@mail.gmail.com>
To: "Bellebaum, Thomas" <thomas.bellebaum@aisec.fraunhofer.de>
Content-Type: multipart/alternative; boundary="00000000000055be840632e0f850"
Message-ID-Hash: 5VWC7LZAAXV5JFIYCBM7UYI6OOU4TCPZ
X-Message-ID-Hash: 5VWC7LZAAXV5JFIYCBM7UYI6OOU4TCPZ
X-MailFrom: bas@cloudflare.com
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
CC: "rsalz=40akamai.com@dmarc.ietf.org" <rsalz=40akamai.com@dmarc.ietf.org>, "tls@ietf.org" <tls@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: WG Adoption Call for ML-KEM Post-Quantum Key Agreement for TLS 1.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/-pjWkZhvhABqEfn685AEs4WoIhU>
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 Wed, Apr 16, 2025 at 10:15 AM Bellebaum, Thomas <
thomas.bellebaum@aisec.fraunhofer.de> wrote:

> > That’s easy to answer: “many of our members have very
> hardware-constrained PoS devices.” Is that okay?
>
> Some context:
>
> Kyber requires several KB of RAM space according to [1], figure 1:
>
> KG = KeyGen, E=Encaps, D=Decaps, H=Heap, S=Stack
>
> Alg       | KG(H) | KG(S) | E(H)  | E(S)  | D(H)  | D(S)
> ----------+-------+-------+-------+-------+-------+------
> Kyber1024 |13,480 |16,488 |10,736 |19,024 |10,768 |20,304
> Kyber512  |11,176 | 7,208 | 7,632 | 9,072 | 7,664 | 9,856
> Kyber768  |12,328 |11,304 | 9,104 |13,680 | 9,136 |14,784
>

This is misleading. There are many implementations of Kyber that require
much less memory. See eg [1] from 2019 where Kyber-512 only requires 2736
bytes.

By the way, for key agreement, between keygen and decapsulation, a client
only needs to keep around the private key seed (64 bytes).


> For comparison, [2] is an implementation of Curve25519 using no heap space.
> On an ATmega128, it uses 462 bytes of stack space for a curve
> multiplication.
>
> While these numbers are not comparable as is (C25519 does not include the
> KEM-Hash, Architectures are different, I am unconvinced that Kyber was
> fully optimized for this in [1]), the difference is striking enough to ask
> a follow up:
>
> Are there concrete devices/scenarios supporting ML-KEM + an application,
> but not ML-KEM + X25519 + an application, especially since the memory
> necessary to store two X25519 keys and a DH-KEM session key during the
> ML-KEM computations is 3*32 bytes?
>
> -- TBB
>

Best,

 Bas

[1] https://cryptojedi.org/papers/nttm4-20190513.pdf