[MLS] Re: Thoughts on draft-ietf-mls-pq-ciphersuites

Rohan Mahy <rohan.mahy@gmail.com> Sat, 11 April 2026 07:57 UTC

Return-Path: <rohan.mahy@gmail.com>
X-Original-To: mls@mail2.ietf.org
Delivered-To: mls@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 9AC1DDA4414D for <mls@mail2.ietf.org>; Sat, 11 Apr 2026 00:57:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1775894227; bh=0pSqIa+CS7yU0mlgLkbpvq9WHL8an0nAdcqDstDyDzA=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=KJ5/xI7xTjKX7vLbZ3+V+U38ogMuJBQx3x7WU1EFJS6yuywNeBpaM46H2zAOxUhDa yCI9ElpuN70HOxU1d3C6EfS5vQqvACuVHbfiO93HysvkATf7vYj4CBVpVz6CrVPId4 6DrhUIJ6JRVZ7JJBT1HgY0B2/Dv9zjFCLmUBs2Vs=
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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 ZXgmew5ZxsM3 for <mls@mail2.ietf.org>; Sat, 11 Apr 2026 00:57:06 -0700 (PDT)
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (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 BC9A7DA44146 for <mls@ietf.org>; Sat, 11 Apr 2026 00:57:06 -0700 (PDT)
Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-488b8efed61so25205425e9.1 for <mls@ietf.org>; Sat, 11 Apr 2026 00:57:06 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1775894226; cv=none; d=google.com; s=arc-20240605; b=RfH/GQQYrEncLXf1m8ndwTWAxTksC8SsCRCgClsu+wrrm7ds8NhcLMxnvRR4fQJ6+h 3CWvemlQhLnkGPYSYI5ClzQShRJWXRAQFBbdOwGIy1pU2J5JODCruvL2eCbhxtOnpFKa 5gg3UylnJcRNRmhLiGyUvl+1HtCYBK+w1MI6omg+HCznqrk3ZAqbhbwWGJVPOzEUKLsM BDQhh+5La5virPvDKEZ1tzRmFt3my7Mt+P3YsqiENUCc4MsFVz1XAvm0EzFMwYu6I5+i BiGgoNlgIQ9yKTLACXbHmPc7mJmlQ8g2U9KDT966sUgPVtlkGb6ARla6WMQX5cBFULs9 978g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=rk9vttFqRZjV57mLPNfSPIWkCBWNPEcbHoQIeea6o3E=; fh=GXFuBqfQyQgaIcvsfhNcf+VfMAvBzLKgFscb2CslpLY=; b=ii7sHt2zAzNaPQQfdDUcdkJEW76YXGH3JTQvYpe0wHdnw8SkuIke9iq0dI6AsHgvKe vqdgpJyEMlQUVk0VKZyGSjV0Qo9fLeOJmnBWToZoQmSRA5ZFjopFttvnmV7ZCxOlSqQ+ PzvoS6/T8m0+3TAu+j8bnPcRnyHacgF1W2mA1xEsGr9/GIAGEeKdbVmwKsEImYvCk8h7 hQ9vfbghrgbujwEYR44o8bF2f3aUvrfFwF40LN0UHYaZ7MRxJ0Y9s5dWJlOGUnmi3qxb tHu1ARJNf9oymWz+E6zaXfyjVN/5AhxjO3L1pi3KKbsE9WUahNtsqrE70gzYT17tbRU3 2Mjg==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775894226; x=1776499026; 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=rk9vttFqRZjV57mLPNfSPIWkCBWNPEcbHoQIeea6o3E=; b=lL6+801BGnQDe7Td0IRf9dPpF57ZbiItHJhzmdVNWK35kLYbSh5NqaRSFGVULl9KG5 SVbnbrt4V1iJwqxfJA0mcrBopWL14y/yQ0U0aRLRvbSISRAnMx/TSaqmUMyRyAQ0fZ9M cif0lETSZCocn5pjaCdLV5/FoCcTwahxmvWBhrGvxEiC/pIo7GARJDPIFd55T+QgdCc6 F3Qf0rFpNXjsO63/mwQX/CLRmoXelCj7rWJ5BgnKMjMLvwSgjZ23FcPz5MfJGL94pAC8 iLRDR0Y2IiOC3SSzm85CRKE8LqbXWpCSHMiPBdMTIgPDAO0dHwI+XF2zrTPY/ZxpPBHi rtsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775894226; x=1776499026; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=rk9vttFqRZjV57mLPNfSPIWkCBWNPEcbHoQIeea6o3E=; b=qk07HTK42cX5TsDmFhHbt0oq50e4wbE+FwJX4xvm2iWdVGCGteaqZDrcvVqbHlfPWr E7oA4qyPVeqQcpe8HJ65BdeC7vlY+kip3ZlHUEaMIMFTibO0VS1E8e7C+vusOeFOubce y21qx9j3JCWx3TLYpFUvNsrl8YGpLhHRBHcE9dM85uNg+FhSmMzKMaBEK0Pwl2cA+yln 4aW2Cxz8evH0fEPZ4zRffXmh343h2h7mHvKVsBDrSf9wOwpMAUr0zCEmkw2i/uLxziKr x7nwqgBO6c3J9Es8jL5Ls4HXcnA4UDYYmL8HzFL/xDCLLxXEDkRQhn5E4VbjqTeQ4OaX lsAg==
X-Forwarded-Encrypted: i=1; AJvYcCU7WPA1HzGSfA1u7hZFBhb/i4IWLOgVmD4tg0dDMk65jeoU/l0RiZEE13JHNRlDlrpazWc=@ietf.org
X-Gm-Message-State: AOJu0Yw3fCb/9qf5eIC2CoYMzvhfbcwvkO1QNWCVp1iZBr1yHfyrh69n 5h/ujJ6E+BYgMgel08xV849LZWb4TL/1HJ2m/hNn8yf3gz9tQyP0Y12cQaRK4RP1tNBIsLL1v49 v3mjR7BvzPn4Q8IwB+TU0tGmBnXNUbSE=
X-Gm-Gg: AeBDiesiWYbYeYsjqrsqjWwNBR4yflHDJ6dAj7k6bHm9FM3AMjFQQ2mlVIZD2oAvbRi hvOY+P6lhTvt6+mbuq5wvFHXEHtcAonO1LdJGLI+S6ipgu4akG/Ng58obMGt5GwjUT6O2/wLKp9 NyjBxxoMiwTrUANyig0t7AAzXTLLTXRrh1HL4s1VsoHjAbmS1BpWs/nthR8NkszN8XUFLnOiGwO XIMsre6Mm8dqo5w9ybBREzwWDdFhoDp2arG9Vgdmz7fr9F6coLxRggf0CtbX0FPabb7BFM6FKGa MlVDbwml7iufyRxkWAay1cBlheQtWV3yYxzp3DNe/cvrN0uxB5YC1rQZR9duhtnVYvajzrNc/A3 C9H0xJMvdD0mVQX51EvDtxQsD
X-Received: by 2002:a05:600c:4ecb:b0:485:3cef:d6ea with SMTP id 5b1f17b1804b1-488dc76d45amr39748725e9.13.1775894225564; Sat, 11 Apr 2026 00:57:05 -0700 (PDT)
MIME-Version: 1.0
References: <CAOvwWh08s5eeLbY_tXFhinJOSzjhDj_rktLvQdkf1=_4U74kyg@mail.gmail.com> <CAKoiRuad6uE3GCpwtT=7djavUj1Rk78mY_4X1HQ0bfuPGN1vCQ@mail.gmail.com> <CAOvwWh1=zf=vn2Bpk5dCX9cG4+nF32Zh7Mu59eh9bktqQ+s4qA@mail.gmail.com>
In-Reply-To: <CAOvwWh1=zf=vn2Bpk5dCX9cG4+nF32Zh7Mu59eh9bktqQ+s4qA@mail.gmail.com>
From: Rohan Mahy <rohan.mahy@gmail.com>
Date: Sat, 11 Apr 2026 09:56:54 +0200
X-Gm-Features: AQROBzDt5T7hlgOo8DFIqYBhRSYo3bBZcTzoLY_0SwwVn2g9jHgSb9sFdxxKdo4
Message-ID: <CAKoiRubkCnBRdz83c5NTzw1x9wr0M3SPiZnNeggRDj1VoZ1Saw@mail.gmail.com>
To: Soatok Dreamseeker <soatok.dhole@gmail.com>
Content-Type: multipart/alternative; boundary="0000000000007936d3064f2a9897"
Message-ID-Hash: L6H3UOBM37HKWAZ5FTJ3ZDWI4NC3NPYC
X-Message-ID-Hash: L6H3UOBM37HKWAZ5FTJ3ZDWI4NC3NPYC
X-MailFrom: rohan.mahy@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-mls.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Rohan Mahy <rohan.ietf@gmail.com>, MLS List <mls@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [MLS] Re: Thoughts on draft-ietf-mls-pq-ciphersuites
List-Id: Messaging Layer Security <mls.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/BY2lzhaxE44y03N2ef2M_mv43jo>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mls>
List-Help: <mailto:mls-request@ietf.org?subject=help>
List-Owner: <mailto:mls-owner@ietf.org>
List-Post: <mailto:mls@ietf.org>
List-Subscribe: <mailto:mls-join@ietf.org>
List-Unsubscribe: <mailto:mls-leave@ietf.org>

Hi Soatok,

Yes, that helps, thank you. I believe most ARMv7 processors had AES
hardware acceleration. The good news is that we can check these platforms.

thanks,
-rohan


On Sat, Apr 11, 2026 at 6:42 AM Soatok Dreamseeker <soatok.dhole@gmail.com>
wrote:

> Sure.
>
> The main considerations are legacy smartphones (ARMv7-based), Raspberry Pi
> 4 and older devices, older Arduino kits (I don't know if the newer ones
> support hardware AES, but many of my friends do a lot of IoT stuff and I
> know they'll care about this).
>
> Another area of interest for me is scripting languages without hardware
> AES and no access to low-level assembly (e.g., PHP without ext-openssl and
> no FFI or extension permissions).
>
> There is a very long tail of legacy hardware and software and I don't want
> any of that to be left behind in the migration to post-quantum, and I'm not
> limiting MLS deployments on the Fediverse to smartphone apps. If folks want
> to write their own chatbots and talk to it through WordPress plugins, I
> want to make their workflow possible.
>
> I hope that adds some color to the users I'm trying to help.
>
> On Sat, Apr 11, 2026 at 12:21 AM Rohan Mahy <rohan.ietf@gmail.com> wrote:
>
>> Hi Soatok,
>> Thanks for joining the discussion.
>>
>> Regarding the ciphersuite "level" being 128 or 192, many have argued that
>> the number is largely irrelevant and we wouldn't have included it if we
>> rewrote the MLS today. It shouldn't have any meaningful difference to who
>> implements or deploys it. Since ML-DSA-44 targets NIST level 2 instead of
>> level 3, I would make it
>> MLS_128_MLKEM768X25519_CHACHA20POLY1305_SHA384_MLDSA44.
>>
>> A non-CNSA 2.0 reason to use PQ signatures is potentially very
>> interesting. Could you please elaborate on the signature algorithm
>> discussions about the ML-DSA-44 vs. Ed25519? What kind of key lifetimes
>> were you considering?
>>
>> Finally, I wanted to ask about this sentence:
>> "I am implementing this in languages and runtimes without access to a
>> native cryptography implementations or raw Assembly, and may be running on
>> hardware without hardware-accelerated AES,"
>>
>> Could you talk a bit about the hardware without accelerated AES? I
>> developed on sub $6 SoCs 12 years ago that have AES acceleration, so I am
>> somewhat surprised by the argument.
>>
>> thanks,
>> -rohan
>>
>>
>> On Fri, 10 Apr 2026, 17:11 Soatok Dreamseeker, <soatok.dhole@gmail.com>
>> wrote:
>>
>>> Good afternoon,
>>>
>>> I'm working on a few projects that intersect with MLS in interesting
>>> ways. The most pertinent of which is a key transparency project for the
>>> Fediverse which I hope will enable the secure bootstrapping of public keys
>>> for use in end-to-end encryption (which should, in turn, use MLS).
>>>
>>> You can learn about this project here:
>>>
>>> 1. https://publickey.directory
>>> 2.
>>> https://soatok.blog/category/technology/open-source/fediverse-e2ee-project/
>>>
>>> The actual E2EE on ActivityPub folks (mostly W3C or W3C-affiliated) are
>>> coordinating their efforts on GitHub. In January, I opened a discussion
>>> recommending specific MLS ciphersuites here:
>>> https://github.com/swicg/activitypub-e2ee/issues/59
>>>
>>> In recent weeks, Google and Cloudflare have both announced a 2029
>>> timeline to adopt post-quantum cryptography everywhere. After talking with
>>> some folks at RWC 2026, and seeing those announcements, I'm planning to
>>> update my proposal to migrate to ML-DSA-44 instead of Ed25519 for my key
>>> transparency work. Ideally, we'd also be able to use ML-DSA-44 for the
>>> ActivityPub E2EE work as well.
>>>
>>> However, the current draft is incompatible with my goals. Notably:
>>>
>>> 1. No ChaCha20-Poly1305 ciphersuites
>>> 2. ML-DSA-87 is in the current draft, but -44 is not.
>>>
>>> I specifically need ChaPoly because I am implementing this in languages
>>> and runtimes without access to a native cryptography implementations or raw
>>> Assembly, and may be running on hardware without hardware-accelerated AES,
>>> and I trust myself to implement ChaCha20 and Poly1305 in constant-time, but
>>> I am worried about JIT compilers and VM optimizations undermining my
>>> attempts to make the AES S-box constant-time.
>>>
>>> I recall there were some concerns over the ML-KEM-512 parameter set
>>> being too close to the security margin for comfort, which motivated the
>>> prioritization of ML-KEM-768. A similar concern was not present for ML-DSA,
>>> and the -44 parameter set is considered secure with sufficient margin to
>>> not invite the same kind of bikeshedding discussions that ML-KEM-512
>>> provoked. For this reason, I do not feel that the -65 or -87 security
>>> levels are required for my purposes, and  therefore cannot the bandwidth
>>> costs for the larger parameter sets.
>>>
>>> I am ambivalent about hash functions. SHA-256, SHA-384, SHA-512,
>>> BLAKE2b, BLAKE3, SHA3-256, SHA3-384, SHA3-512, KangarooTwelve. These are
>>> all secure enough for my purposes. Given the widespread availability of
>>> SHA2, my default choice will be SHA512 or SHA384 (since they're both fast
>>> on 64-bit hardware).
>>>
>>> I acknowledge that asking for the draft be expanded to include a few
>>> additional options risks a combinatorial explosion of combinations, so I
>>> will instead ask for one ciphersuite be added to the list that includes
>>> both ChaCha20-Poly1305 and ML-DSA-44. That is to say:
>>>
>>> MLS_X_MLKEM768X25519_CHACHA20POLY1305_SHA384_MLDSA44
>>>
>>> Where X is either 128 (conservative) or 192 (which seems more
>>> appropriate to me, given that the security of the KEM is >= 192 bits, the
>>> AEAD is 256 bits, and the hash function's birthday bound is about 192 bits).
>>>
>>> Thanks for taking the time to consider my request.
>>>
>>> Kind regards,
>>> Soatok
>>> _______________________________________________
>>> MLS mailing list -- mls@ietf.org
>>> To unsubscribe send an email to mls-leave@ietf.org
>>>
>>