[TLS] Re: New Version Notification for draft-sullivan-tls-xof-ciphers-00.txt
"Markku-Juhani O. Saarinen" <mjos.crypto@gmail.com> Wed, 08 July 2026 10:17 UTC
Return-Path: <mjos.crypto@gmail.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 D0CEE112DABD2 for <tls@mail2.ietf.org>; Wed, 8 Jul 2026 03:17:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1783505832; bh=H+ar59dpl5DVx8AzjSjcz+xhJ4oOpimTsy6Ef31XiJw=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=i8F4Uo3WryMr1wJwqPUcdmicAOly3MAWKuBZ5DxkCiBKIRklQb+jVJXR98m/fo4HP cntJbwunjXHMimSCvuO4zpuI8HKVkbrt7PkDNMHm+HyPIkBZ4MfSRJJ+U5QgBpYWpJ 7KY72GNtq4FfNHGzZALCgWod+exwpeTNXbvh2CxI=
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 MRWQ8pvlk2C1 for <tls@mail2.ietf.org>; Wed, 8 Jul 2026 03:17:12 -0700 (PDT)
Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) (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 178C0112DABC8 for <TLS@ietf.org>; Wed, 8 Jul 2026 03:17:12 -0700 (PDT)
Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-847d1e9db22so506549b3a.2 for <TLS@ietf.org>; Wed, 08 Jul 2026 03:17:12 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1783505831; cv=none; d=google.com; s=arc-20260327; b=snYkEasbXsGAKOQejC15oCp5krAaWd40EyeGkZcnw1dzWYFolH8S15BACqxanUmGwF y+DVQ0p3JsXgD1JymjXJ13BHgjg2ftbR5uHrNRjObwYpyyNzisBnw7r7wBkfQU/A7LZ0 nmssHEEF5rQ5jNRNX1ACrNQxPOhsyvd0XNl+4IXCb1UHqNycv5eQhi/jcy4eCA2u40uA 4j4mQ3hc6LXvgiGjjKSqWietmZbq6oxizMNHdqQGyzMk46nknkXQkdpgs4L8lcmfLlNR gt4wEhWG9cRyI8udmqvZ+56Oa6qQjJzim62Cfjvcf2qj4glV42d/+nUcSVLq7Kd3JFgU MCpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=klrAlNFJ/yP48hnNBFR9kZTmQwPt2n/RH3pW75wUcAg=; fh=R1v0pRhTe5jd9Fc2NF4Q3f/XZCTISIAWohNK3OyYFic=; b=ONHsce/dCeKGJJhGB7Pex8ec5y6G1KMWdlSpG9WzaJcBjjrhBSGj0014AIED3rOyN7 yQotatwvivR7IWbkLaZR/45+dooZDbUcWXQDq4CWx/Pp6J69fXcZTQAVrQaDsXUM8h0u 9T0IUh2p2zFLTAMGZE0GCRDVNUJC3JAH9wLlpSJeZP7zQxyAfP4hiMDHkmUl9tL3viIP yEJD3QQBenRuRPOfJpy2wnV/Ja321W+LulNmctmOi4sJ/HteubgZAxduArOqJnn9G+Xd httk31BsUcRKtpj+HJM/UhpobUUvHnkvWfplSs1JOjiIoQUcoT2cPIsLICd9CPkdHHbc Ul6A==; 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=1783505831; x=1784110631; 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=klrAlNFJ/yP48hnNBFR9kZTmQwPt2n/RH3pW75wUcAg=; b=SuPHjHj0KlvjSzRdlVYWLbQFKz2xy2mv2Tyhmqhs+W+5QwRJSIelS/TRrn+13kg5as LkOoxG6q66LyGc+vgdPuks9LQDXUk9XGE1W1p5mr3QCtj5WJblKtAjFMUv1tTBhjHisi 1KkPAE23uC3B2+txPS+nJHnZIUBYVJXEmmQW3V3SVx8LrxyuooTtiR5JzvnDjNeUsAeZ k23/WJ4MbDyd9+c6WXVZOohaVDND5TtG9jviQ/xh+fkotJlw4WUws9eJLZsVopXHhRCF foMHneF8+MUrGcN5/NHsd6uacMrRorRWQ45DpX6VdKV2vgaesbLoaeW2QiUt3xzAVsVD kX6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783505831; x=1784110631; 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=klrAlNFJ/yP48hnNBFR9kZTmQwPt2n/RH3pW75wUcAg=; b=Fv+CvFffs/Gu0sOJz7ChXrpCojTMmd6NHJKHQh33qxX5nhsmMBMWNaXeC7blTSlCzk TOHbM13UeQTo80USl+DF+rbzZ7zE6osi+TnFGhUXU9WDFCdYrS0LpRiTRQFN3qAWKtAP 3e2idKDWQ4DlQlsQNzip4lOYXLhKezU32Oza9g9A4cYgCYXj7bsG/z3INJWKPBl0Crkk m1HKxgN55dOAI7aV3b3dptB3s5m6vQSAcYUWcKkoMZ9KbbfPTBz8z8J/9/TyXCAhy2DU i92nJ+mQFf9GmS9T7jjDtBcgwbjZDP6sgEViaRCK0Lh7gmYEabqTXCIAHqCvHQSV/tBy TtSA==
X-Gm-Message-State: AOJu0YxetftSy1g1oCDPZIY7mpoR6v+TbKXYWV683yU8tTvoLPhbaMce M2w8H5K7LQoMOsHlNbEh99r8xIRqleX/dvxcfBnP3dzL7RHKwA2gmSfJVriclsaxzTg4AOR9mN5 zgIlaq5O2fHTVxt7amAT2zxjdeq36Zg4l4v8c/nI=
X-Gm-Gg: AfdE7cmyJ6teavmf8WZl1EZgI3e10vieYqiXCA35c+J1bKDNUj7VVjqYGeZtp/aJ1PE Yq2i0yCnGUdCE1cGbK+knjuCUa06766U78uU9uga2u/iqf4SqtPeXeyNacDaLdrrmWGIV2TgTeZ Tb7C2XtN1R704Ag9GDBhjV+5sqst3qUjN3VNdIuNbGX8ql0/4ConKgNhESLK2ctRTpzNtqOY4Wg uYEoADYy9WzOrkkOs97N/yJ0IgQVkuFR3Ok9llXRiotLKNBBRd1omQU9XmHjxfG44GJvmgnE4GK pw8J42+mhYOz5prDjJ8FF2n1W9SH9g8idPrxCZV9zpKGAVIlxrKgTVXq8HM=
X-Received: by 2002:a05:6a00:8f0c:b0:845:cdc1:a803 with SMTP id d2e1a72fcca58-84842fec000mr1928824b3a.11.1783505830978; Wed, 08 Jul 2026 03:17:10 -0700 (PDT)
MIME-Version: 1.0
References: <178337862867.322525.625506674684583095@dt-datatracker-57b5d8f849-zrqfx> <CAOjisRx62wHM_ePa5EzwLoJSxvUydYksAN4XhbQ8sF=URrJqHQ@mail.gmail.com>
In-Reply-To: <CAOjisRx62wHM_ePa5EzwLoJSxvUydYksAN4XhbQ8sF=URrJqHQ@mail.gmail.com>
From: "Markku-Juhani O. Saarinen" <mjos.crypto@gmail.com>
Date: Wed, 08 Jul 2026 13:16:59 +0300
X-Gm-Features: AVVi8CfX9CfPo-spK7R2XlZBALU4NPTfPrl1tK2s1tu0ma1xsQD0bngLJBkuoFk
Message-ID: <CA+iU_qm0tDxSeKJRc2Baku+NKvm2GA5AtyXoLP1+t=nPVuFM6Q@mail.gmail.com>
To: Nick Sullivan <nicholas.sullivan@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000082a872065616cf86"
Message-ID-Hash: J5B4YQNA4MPF6DRTU6M7E6K3RZ77NYBU
X-Message-ID-Hash: J5B4YQNA4MPF6DRTU6M7E6K3RZ77NYBU
X-MailFrom: mjos.crypto@gmail.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: "tls@ietf.org" <TLS@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [TLS] Re: New Version Notification for draft-sullivan-tls-xof-ciphers-00.txt
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/fkR-hIq-0-Dl7Yc0GNQADEhVtMk>
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>
Hi, Thanks for this. I quickly put together an implementation of draft-sullivan-tls-xof-ciphers-00.txt around Rustls to do some measurements: https://github.com/mjosaarinen/altkdf-rs ( Editorial comments in https://github.com/mjosaarinen/altkdf-rs/blob/main/FINDINGS.md ) The theoretical side of the design seems very defensible -- clean proof target. In terms of concrete security, the Keccak variants have a much larger security margin than the SHA-2 family. Given how much work we put into reducing the number of permutation calls with ML-KEM and Hybrid combiners -- carefully debating and analyzing each permutation -- this one yields a staggering reduction, making the key schedule much faster (and the handshake probably too.) For the representative full handshake: PSK + (EC)DHE + 0-RTT leaves + NewSessionTicket + one KeyUpdate each direction + one exporter, the per-endpoint counts over 24-round Keccak-f[1600] are: 41 * f1600: Deck implementation, measured stateful 46 * f1600: Deck implementation, measured recompute 52 * f1600: Section A.1 in draft-sullivan-tls-xof-ciphers-00 156 * f1600: HKDF-SHA3-256 / RFC 8446 baseline 117 * f1600: Appendix D "FIPS" KMAC256 schedule So 41 vs 156 permutations by my count. ( Note: The draft slightly overcounts permutations in its estimates. ) It's a quick prototype built with extensive AI assistance, but it includes basic correctness measures: primitive KATs (RFC 9861 TurboSHAKE256, FIPS 202 SHAKE256, SP 800-185 KMAC256, including multi-block and long-output), 73 self-generated Appendix C/D vectors, and byte-for-byte reproduction of all of them by an independent Python implementation written from the draft alone. - Keccak-p[1600,nr] permutation and the rate-136/capacity-512 sponge - Five framed deck operations (Init/Absorb/Fork/Squeeze/Ratchet) - KMAC-layout MAC - Three-stage E/H/T schedule with its two ratchets - Section 5 derivations (record keys, Finished/PSK binders, exporters, resumption and key-update, and the §10 external-PSK importer with ImportedIdentityV2). - All five cipher suites (0xFF01–0xFF05, both profiles, three AEADs) Plus for comparisons: - Appendix D FIPS-component schedule (RFC 8446 with KMAC256 as the PRF) - a permutation-count benchmark reproducing §A.1, live-secret zeroization (§15.7.2.2) Cheers, -markku Dr. Markku-Juhani O. Saarinen <mjos@iki.fi> On Tue, Jul 7, 2026 at 2:34 AM Nick Sullivan <nicholas.sullivan@gmail.com> wrote: > Dear TLS, > > I'm sharing a draft for the group's consideration. > draft-sullivan-tls-xof-ciphers-00 runs the entire TLS 1.3 key schedule > on a single Keccak permutation, instead of HKDF built on HMAC built on > the cipher suite's hash, which today is always SHA-2. This is newly > practical because deployments using SHA-3, ML-KEM, or ML-DSA already > carry a Keccak permutation, so the primitive is already in the stack. > > Each derived value comes out in one pass, so a full handshake costs > about a third of the permutation calls an HKDF schedule over the same > permutation would spend. > > A cipher suite names an AEAD plus a schedule profile, and nothing else > changes. There is no new extension, and the state machine, record > layer, and wire format are untouched. Two profiles are defined, one on > the standard SHA-3 function and one on a faster reduced-round variant. > Test vectors are pinned to cipher-suite values, so the final vectors > will follow the code point assignment. > > https://datatracker.ietf.org/doc/draft-sullivan-tls-xof-ciphers/ > > This is a big change to the key schedule, and the draft is very > preliminary. Feedback on the approach, or interest in implementing it, > would help a lot. > > Best, > Nick > > On Mon, Jul 6, 2026 at 7:03 PM <internet-drafts@ietf.org> wrote: > > > > A new version of Internet-Draft draft-sullivan-tls-xof-ciphers-00.txt > has been > > successfully submitted by Nick Sullivan and posted to the > > IETF repository. > > > > Name: draft-sullivan-tls-xof-ciphers > > Revision: 00 > > Title: TLS 1.3 Cipher Suites with Alternative Key-Schedule Profiles > > Date: 2026-07-06 > > Group: Individual Submission > > Pages: 46 > > URL: > https://www.ietf.org/archive/id/draft-sullivan-tls-xof-ciphers-00.txt > > Status: > https://datatracker.ietf.org/doc/draft-sullivan-tls-xof-ciphers/ > > HTML: > https://www.ietf.org/archive/id/draft-sullivan-tls-xof-ciphers-00.html > > HTMLized: > https://datatracker.ietf.org/doc/html/draft-sullivan-tls-xof-ciphers > > > > > > Abstract: > > > > TLS 1.3 builds its key schedule on HKDF over the cipher suite's hash. > > This document defines TLS 1.3 cipher suites that build it on a deck > > function over a single permutation instead, the one a deployment > > already carries when it uses SHA-3, ML-KEM, or ML-DSA. One > > permutation then runs the whole schedule, and a full handshake takes > > about a third of the permutation calls an HKDF schedule over that > > permutation would. Such a cipher suite names an AEAD algorithm > > together with a schedule profile that defines every key-schedule > > function the connection uses. The profile follows from the > > negotiated cipher suite alone, so no new extension is defined and the > > TLS 1.3 state machine and wire format are unchanged. Two profiles > > are defined, one on the standard SHA-3 function and one on a faster > > reduced-round variant of it. > > > > > > > > The IETF Secretariat > > > > > > _______________________________________________ > TLS mailing list -- tls@ietf.org > To unsubscribe send an email to tls-leave@ietf.org >
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… John Mattsson
- [TLS] Re: New Version Notification for draft-sull… Martin Thomson
- [TLS] Re: New Version Notification for draft-sull… Ilari Liusvaara
- [TLS] Re: New Version Notification for draft-sull… Markku-Juhani O. Saarinen
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… Thom Wiggers
- [TLS] Re: New Version Notification for draft-sull… Ilari Liusvaara
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… Markku-Juhani O. Saarinen
- [TLS] Re: New Version Notification for draft-sull… Ilari Liusvaara
- [TLS] Re: New Version Notification for draft-sull… John Mattsson
- [TLS] Re: New Version Notification for draft-sull… Markku-Juhani O. Saarinen
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… Ilari Liusvaara
- [TLS] Re: New Version Notification for draft-sull… Markku-Juhani O. Saarinen
- [TLS] Re: New Version Notification for draft-sull… Hannes Tschofenig
- [TLS] Re: New Version Notification for draft-sull… Thom Wiggers
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… Joan Daemen
- [TLS] Re: New Version Notification for draft-sull… Ilari Liusvaara
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… John Mattsson
- [TLS] Re: New Version Notification for draft-sull… Ilari Liusvaara
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… Nick Sullivan
- [TLS] Re: New Version Notification for draft-sull… John Mattsson