[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
>