[CFRG] Re: SEAL snapshot authenticator over non-SEAL segments: ct_i/tag_i convention

Nick Sullivan <nicholas.sullivan@gmail.com> Thu, 08 October 2026 08:56 UTC

Received: from mail-yx1-xb129.google.com (mail-yx1-xb129.google.com [IPv6:2607:f8b0:4864:20::b129]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 1ADDC4B for <cfrg@irtf.org>; Thu, 08 Oct 2026 08:56:36 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=gmail.com header.s=20251104 header.b=WlWmZUEI; spf=pass (mx.ietf.org: domain of nicholas.sullivan@gmail.com designates 2607:f8b0:4864:20::b129 as permitted sender) smtp.mailfrom=nicholas.sullivan@gmail.com; arc=pass ("google.com:s=arc-20260327:i=1"); dmarc=pass (policy=none) header.from=gmail.com
Received: by mail-yx1-xb129.google.com with SMTP id 956f58d0204a3-6774639a8a4so4707944d50.0 for <cfrg@irtf.org>; Thu, 08 Oct 2026 01:56:36 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1791449789; cv=none; d=google.com; s=arc-20260327; b=qAvIA5EczJx42mV3d1TrjiAE8JWrEaLf+s1k5824bojGN9jhljFp/ZQmvVdyop1C4w OBuXlPNWEaHy9pY2TSMd/mcM17u9/qasyR5e4OFMZBlcU6fYsofmCQ0j5P3oGIZl7GG8 64V5oSZhx3yTZMWBQr0qanExJNy41XifKi6ikDTInhw5leSKfyYEzc5urrv1wfxHJlGq m2Ea7Tk3GhHYkmKOK9gOWQugNyL3F65JjTU3uabZlPE2ZzfF/pBnZX+iQsw226PrjjdH jxJklja7eHaNcaaLFJ3j1f54kuCY6bGi0Ns2wVOsQhU6ud5lpF49y5mLciH4kafWcVOj U5rQ==
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=nXuY37WjM3kPEhabPshbM8syaD7gOyyhmhTbVbXF1SI=; fh=RZp9aMxWeOgd5zoft32at7HXWA9v9Ed6ivyz4fGyItk=; b=UKiDkxmaDs9bI7I484z8QHpi0RHv5weEmlvv0czO4+w9O4HG3/uezlKG4lOTAkyQ5k 8fMpJjmE6gWbzO9EwSSm0bjk+2nhxcwVUVp68KIXhfQlyDYWZ/GSMLOKZlKe4Uz6Wtfq 09PPgbxKBSAoUhMByD7UGf6JhahXFKrs5CVOJvOjpQyCKCBM6J7rJ0kv6Xvpio26E60t v5v1fkiU2dlSlWQrwMP76apWR4Jamz93HCSTci2HaCwiOWldKk4RY8qfLCumA7Ls0v4D aUFJDu2lJumjOj8fCIbpcacDlXzy59vX/0WSC2BTulgfWxcJd5UnfwXPiT6cUGI9iOuF 47uA==; darn=irtf.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=1791449789; x=1792054589; darn=irtf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=nXuY37WjM3kPEhabPshbM8syaD7gOyyhmhTbVbXF1SI=; b=WlWmZUEILEiRkpEwhwcRVS0fc7aDq+yA2tdhhJxtbxAMDtApTnd3lZFZFx0AU3K8JS ewl2IR3mMftzCLc59SAXBvSdcJjfoTZPGEkBvn8E0N+nZPbxBNrE3LS+Z3HSEV0NRv1h S4iE/4C+X/X/OdF8GxzuqU3QF57YwjTG19uuA1jEQfpheW+RbUsR/i16p+xBB18AZIbq Nt6XmF4wCmiEUFiLiXp8ykICbrLzbGcbbl1AO8GUR9cQjdgcxqCYF2qpMLFaZ9p4zlTm XS9vpkCx9NrEEmeyTs4le1djwPNC2WeldUwHIFYFT++KTebvmXx9P+gW5rD7bsXZ9Gvm ZBxA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791449789; x=1792054589; h=content-type: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:content-type; bh=nXuY37WjM3kPEhabPshbM8syaD7gOyyhmhTbVbXF1SI=; b=wAG2UsRJGXSg4m+PfsQlg5+99vDu3pHUYsVLdsHlHlp7NhGwVrSR85KDC41okthVRR i3c+LBCmC5LIcmmP5HfxElYgFSZqfVR8S4mH+vURr/2ZxG8iYZJNGBzHPyUte558kLQw pYu8Nj6CrKAXEZJsIJpqM20tg2uwFTriFq6N3XunMu2Oj4onkAlud6YbfTAPAoh2PdW3 JsMvzZSVvS7dKTV5JKOFdDCGawgKt3BmWs18FzC18abrz1tp1lA/t1tzqhZkjzFvJ1pr WhIybD6KPaXT7Y3yWZeUWIJ0jm6rvjAiDMNX87a2KGgZgwgnllREJqcJScTozVkunHvc 9n8g==
X-Gm-Message-State: AFq9FYIEHDps7pbapjYsKTDtpdaQtNEm93eNUM/q5WRA7q7Din++iHjD rq3+m+8azpuwdqd+vdWtUFgmQzukISY+eWPWql37s44Y2KmZH4pHx+QrU3eSDi9+whdZweSw3K7 4YOkXVhXTWVuQIw+o81dXzianTNMBS58=
X-Gm-Gg: AYBFou2gaTSjov3DqOP53ti0mdkJ5P0KRjgXudrGOQV3vUWo00oXy7NGvlmYc7y8aBH IgBqvRU4vow7GDlI9HuxKhgLjL3q1sbijxoCgF4hHtpKsQyuwtWelDF5V+Iwkt+Zrj7w8IencsT FynQ8x57QT60rH66osqRcVr1TwIv/ORvmzGtxJV9X1yrDFUHqQWyCUniAXoOU+rmdT4DUpnJl0R 6FzfaQf8qlp6TYdX2vTELaDRfd3eAKd8feiTxgQQkJ9/tS1m6iH5IEcEFOmxq5o/C+yl1b4B2MW 4A0nkIPwt9PBjdcMAiVhO+H3hUgxPKFUw3XZ4jTywH3BJhNuHT3CArSGFbbkwawnvFO34uH4I3x RnOk2+Q/PRNYfYvAqYqU01sAyssIC+SiisWCFU34Dejj1M9XbjebxYPS6/JE4whfJ+MM1gJ0xd1 QWd2ln1Ci3mYJQWp8aSkrDHVlMEZzLhsYya3/0tWnJEg==
X-Received: by 2002:a05:690c:4f0a:b0:89a:63da:faa1 with SMTP id 00721157ae682-8b05af7e295mr23452377b3.92.1791449789476; Thu, 08 Oct 2026 01:56:29 -0700 (PDT)
MIME-Version: 1.0
References: <26ECD3DA-8513-4744-BD95-FE491B2720F2@protonmail.com>
In-Reply-To: <26ECD3DA-8513-4744-BD95-FE491B2720F2@protonmail.com>
From: Nick Sullivan <nicholas.sullivan@gmail.com>
Date: Thu, 08 Oct 2026 17:56:18 +0900
X-Gm-Features: AclHuK8WCZzUqgwyhSalShxdCL79AnZY-_EK5Ro7xH8rJBvnIa60K4hqVIhF5g4
Message-ID: <CAOjisRxBsp95az-Yv+YFXHK5n_v8q80kZHtn7isCdE-n7bjQvg@mail.gmail.com>
To: younos.nazarian@protonmail.com
Content-Type: text/plain; charset="UTF-8"
X-Spamd-Bar: ---------------------
Message-ID-Hash: KUJGAHOHAFJPDJODDNPSBFQNVCGW6GER
X-Message-ID-Hash: KUJGAHOHAFJPDJODDNPSBFQNVCGW6GER
X-MailFrom: nicholas.sullivan@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-cfrg.irtf.org-0; header-match-cfrg.irtf.org-1; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: cfrg@irtf.org, raae@ietf.org, adoust@gmail.com
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [CFRG] Re: SEAL snapshot authenticator over non-SEAL segments: ct_i/tag_i convention
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/7ZVyJWVhVaJ07SsY1Ap4oKlDbME>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Owner: <mailto:cfrg-owner@irtf.org>
List-Post: <mailto:cfrg@irtf.org>
List-Subscribe: <mailto:cfrg-join@irtf.org>
List-Unsubscribe: <mailto:cfrg-leave@irtf.org>

Hi Younos,

Sorry for the long delay on this. Thanks for reproducing D.20 and D.21
before writing anything. That is what the component vectors are for.

On question 2, your reading is right. raAE defines the split directly:
the AEAD output divides into ct_i, the encrypted segment body, and
tag_i, the authentication tag, and seal-concrete writes the segment as
(ct_i || tag_i) = AEAD.Seal(segment_key, nonce(i), "", P_i). For a
Crypt4GH frame of nonce(12) || ciphertext || tag(16), ct_i is the
middle and tag_i is the last 16 octets. The nonce is not part of the
leaf. It is bound through the tag, since it is an AEAD input.

On question 3, yes. The snapshot authenticators are written over an
abstract segment leaf, leaf(i) = [LH(ct_i)] || tag_i, and nothing in
the digest transcript or the epoch digest tree depends on how the
segment was produced, only on ct_i, tag_i and the leaf order. So a
non-SEAL segment layer is within what the construction carries, and
the next revision will state the ct_i/tag_i convention independently
of EncryptSegment. One caveat to check on your side: the security
argument leans on the tag binding the segment index and finality,
which SEAL gets from its index-derived nonce and AAD. Crypt4GH nonces
are random and its AAD is its own, so in your composition index
binding comes from the transcript's strict ordering alone, and
finality is not bound at all. That is fine if your manifest records
the segment count, which is worth stating in your own design.

On question 1, yes, and I'd take you up on the offer. A vector that
starts from a real Crypt4GH segment and derives leaf(i) is the vector
the appendix is missing. Send it to the list or to me and I'll fold it
into the appendix, credited.

On the hybrid header sealing: outside TLS the published pattern is
https://datatracker.ietf.org/doc/draft-irtf-cfrg-concrete-hybrid-kems/,
which does the transcript binding inside the combiner so you don't
have to add your own, and it drops into HPKE as a KEM. I'd use that
rather than a bespoke binding over the ecdhe-mlkem concatenation.

One more thing. raAE and SEAL now have their own mailing list,
raae@ietf.org, approved by the Security ADs on 28 September and
moderated by John Mattsson and me. Implementation questions like this
one belong there from now on, so I've copied it on this reply.
Subscribe here:
https://mailman3.ietf.org/mailman3/lists/raae.ietf.org/ I'm also
planning a side meeting at IETF 127 in San Francisco, 14 to 20
November, in person or virtually, and an implementer's report on the
Crypt4GH composition would be very welcome there.

Best,
Nick