[CFRG] Re: Random-access authenticated encryption (raAE) draft

Wang Guilin <Wang.Guilin@huawei.com> Wed, 15 July 2026 16:51 UTC

Return-Path: <Wang.Guilin@huawei.com>
X-Original-To: cfrg@mail2.ietf.org
Delivered-To: cfrg@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 19F3511749C22 for <cfrg@mail2.ietf.org>; Wed, 15 Jul 2026 09:51:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1784134318; bh=8fQbunMhYvvW10IgLA4L3T/K0yLeqxJQauiwcDLcNrY=; h=From:To:CC:Subject:Date:References:In-Reply-To; b=NPTkR7y2J8sBSO9Wz2UVbN7f6PT3sZsQlCqfzZfkJzeqgQyKd4U89tKYod16PvGju Yy9++rjR5RSmJXNY6ISq6ed7VBo1mfDUDF2FXOg/Au26mbkoZsjiRKHvv7WoYER61n p0bXwmur4orr/Fjc4Xnu1w3ZlX0ViBMJbEQscH/s=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -3.825
X-Spam-Level:
X-Spam-Status: No, score=-3.825 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, HTML_MESSAGE=0.001, INVALID_MSGID=0.568, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=huawei.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 95oaUQMHG85z for <cfrg@mail2.ietf.org>; Wed, 15 Jul 2026 09:51:54 -0700 (PDT)
Received: from sinmsgout03.his.huawei.com (sinmsgout03.his.huawei.com [119.8.177.38]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 6FA3911749BFE for <cfrg@irtf.org>; Wed, 15 Jul 2026 09:51:54 -0700 (PDT)
dkim-signature: v=1; a=rsa-sha256; d=huawei.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=8fQbunMhYvvW10IgLA4L3T/K0yLeqxJQauiwcDLcNrY=; b=IF1L0PjKhdey9WTnD7w4YjKHBrEy49fFnk2ULWIngThIy38BeqQelbAIu5wFLou4DAX9RKSeX 7APjEG//JC46n8cv2ZEDFOqXyidA846jtlmo1kHSiyCeqmADe+KekQH8FytmKJU1PlisCedJizV lB3inbdVUfxMxMCbIKUZOTk=
Received: from mail.maildlp.com (unknown [172.18.94.48]) by sinmsgout03.his.huawei.com (SkyGuard) with ESMTPS id 4h0hq724FtzMlH7; Thu, 16 Jul 2026 00:44:51 +0800 (CST)
Received: from sinpeml100007.china.huawei.com (unknown [7.188.195.150]) by mail.maildlp.com (Postfix) with ESMTPS id 25D0840552; Thu, 16 Jul 2026 00:51:51 +0800 (CST)
Received: from sinpeml500009.china.huawei.com (7.188.194.209) by sinpeml100007.china.huawei.com (7.188.195.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.36; Thu, 16 Jul 2026 00:51:50 +0800
Received: from sinpeml500009.china.huawei.com ([7.188.194.209]) by sinpeml500009.china.huawei.com ([7.188.194.209]) with mapi id 15.02.1544.011; Thu, 16 Jul 2026 00:51:50 +0800
From: Wang Guilin <Wang.Guilin@huawei.com>
To: Nick Sullivan <nicholas.sullivan@gmail.com>, Wang Guilin <Wang.Guilin=40huawei.com@dmarc.ietf.org>
Thread-Topic: [CFRG] Re: Random-access authenticated encryption (raAE) draft
Thread-Index: AQHdE2cgDBsnjVuxK06Lj9ny3hOzFbZupLG9gAAo95c=
Date: Wed, 15 Jul 2026 16:51:50 +0000
Message-ID: 5D9E8D71-3433-40B6-9795-492AF799DF6A
References: <CAOjisRximY8dNJVFkYyHogh6UyH6HOUK==yt8+b-Muy9VntX9Q@mail.gmail.com> <ef6adb6e-cc5e-4021-96c7-4691404c9b1b@app.fastmail.com> <6a56fc0f.9b54edd6.39ecd4.175cSMTPIN_ADDED_BROKEN@mx.google.com>,<CAOjisRzxNTNUY8Wt89P3Q05cOmCjdD6-LttaaXvNjY2bJnvW=A@mail.gmail.com>
In-Reply-To: <CAOjisRzxNTNUY8Wt89P3Q05cOmCjdD6-LttaaXvNjY2bJnvW=A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative; boundary="_000_5D9E8D71343340B69795492AF799DF6A_"
MIME-Version: 1.0
Message-ID-Hash: TU5FR6LLT2A6R5WYQ4MUBRXZJ6RYPPQR
X-Message-ID-Hash: TU5FR6LLT2A6R5WYQ4MUBRXZJ6RYPPQR
X-MailFrom: Wang.Guilin@huawei.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0; header-match-cfrg.irtf.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: "cfrg@irtf.org" <cfrg@irtf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Re: Random-access authenticated encryption (raAE) draft
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/wG6xYpIZdgRJSOpsIQbv-R4Lny8>
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>

Thanks for the explanation.

Looking for participating the side meeting to know more about raAE, SEAL, and even CDC.

Guilin

发件人:Nick Sullivan <nicholas.sullivan@gmail.com<mailto:nicholas.sullivan@gmail.com>>
收件人:Wang Guilin <Wang.Guilin=40huawei.com@dmarc.ietf.org<mailto:Wang.Guilin=40huawei.com@dmarc.ietf.org>>
抄 送:Martin Thomson <mt@lowentropy.net<mailto:mt@lowentropy.net>>;cfrg@irtf.org <cfrg@irtf.org<mailto:cfrg@irtf.org>>;Wang Guilin <Wang.Guilin@huawei.com<mailto:Wang.Guilin@huawei.com>>
时 间:2026-07-15 16:25:13
主 题:Re: [CFRG] Re: Random-access authenticated encryption (raAE) draft

Hi Guilin,

Thanks for raising this question! They're complementary, and the comparison is instructive about how powerful the raAE abstraction is. Content-defined chunking cuts a data stream into chunks, choosing each cut point from the bytes around it. An edit therefore re-cuts only its own neighborhood: the chunk holding the edit changes, and every other chunk comes out byte-identical, just shifted in the file. A store keeps one copy of each chunk, so only the changed ones are stored again. raAE covers the other half: authenticated encryption of segmented content, with random access and one snapshot value a protocol can sign. A deduplicating store needs both, and neither constrains the other.

The mapping is simple. A CDC chunk is a SEAL segment. Segments take any length up to segment_max, so as long as CDC's maximum chunk size is at most segment_max, chunks map to segments one to one, and boundaries are an input raAE already accepts. What's nice is that two archive styles come naturally: a static archive that grows by appending, and an updateable archive with limited in-place edits, where a segment grows within the cap or is rewritten outright. CDC decides where segments begin and end, and the SEAL profile decides whether they can change afterward.

On your question about ciphertext changes: yes, in the locality sense. Each segment is an independent AEAD ciphertext, so an altered segment fails its own check while every other segment still decrypts and verifies. That's the same locality CDC gives plaintext edits, applied to the ciphertext side. Nothing slips through, though: the altered segment is rejected rather than misdecrypted, and the object as a whole fails the snapshot check, so a segment can't be changed or dropped unnoticed. A signed snapshot makes verifying any segment one signature check plus a local read.

So the short summary is: yes, SEAL is a great fit for instantiating CDC, backed by the security proofs extended raAE provides.

Best,
Nick

On Wed, Jul 15, 2026 at 4:18 AM Wang Guilin <Wang.Guilin=40huawei.com@dmarc.ietf.org<mailto:40huawei.com@dmarc.ietf.org>> wrote:
> Mutable objects, like encrypted file formats, encrypted disk images, and object stores that accept partial updates, also need in-place modification of any part without re-encrypting the whole.

Does this mean that some changes in ciphertext do not affect decryption?

raAE may relate to CDC (Content-Defined Chunking), a technology used in cloud backup setting. Here is a paper from the team of Prof. Kenny Paterson.

Breaking and Fixing Content-Defined Chunking. CCS 2025: 2294-2308

Cheers,

Guilin

发件人:Martin Thomson <mt@lowentropy.net<mailto:mt@lowentropy.net>>
收件人:cfrg@irtf.org<mailto:cfrg@irtf.org> <cfrg@irtf.org<mailto:cfrg@irtf.org>>
时 间:2026-07-14 16:02:33
主 题:[CFRG] Re: Random-access authenticated encryption (raAE) draft

Hi Nick,

I'm going to suggest a DISPATCH outcome for this, which does not involve CFRG. I think that this is pure engineering and the IETF should be the place to take it up. The usual requirements apply, of course: we need to see the receipts on customers for the mechanism, etc...

On Tue, Jul 14, 2026, at 00:54, Nick Sullivan wrote:
> Hi all,
>
> Writing as an author, not a chair. I've been working on a draft I want
> to share with the group. This is not a call for adoption, just sharing
> the early draft in case there's interest. Comments and reviews welcome.
>
> *The **problem*. Applications dealing with large encrypted objects
> (encrypted backups, encrypted archives, object stores) need to read any
> part of the object without decrypting the whole thing. They also need
> to verify that each part read belongs to the current object at its
> claimed position, without processing the entire object. Mutable
> objects, like encrypted file formats, encrypted disk images, and object
> stores that accept partial updates, also need in-place modification of
> any part without re-encrypting the whole. The positional and inclusion
> proofs should also remain valid after each modification. Take an
> encrypted database file or an encrypted disk image: any block is read
> or written by index, and a reader wants to know that the block it reads
> really belongs at the offset it came from in the current image, without
> re-hashing every block on every write. No proven security notion in the
> literature covers all of this under one primitive. As such, each
> application ends up rolling its own segmented AE layer, mostly without
> security proofs for the rewrite and whole-object cases.
>
> Prior work covers pieces of the problem. CHAIN (Hoang, Reyhanitabar,
> Rogaway, Vizár 2015) is sequential. STREAM (same paper) supports
> random-access decryption of individual segments and encodes a
> final-segment bit for truncation detection, but has no whole-object
> snapshot and no in-place rewrite. Its deployed relatives (Tink
> Streaming AEAD, OpenPGP v2 SEIPD) are write-once streaming formats and
> don't expose rewrite at all. The v2 SEIPD design is itself the outcome
> of Efail (Poddebniak et al., USENIX 2018), where v1's whole-message
> integrity failed and applications acted on unauthenticated plaintext.
> FLOE (Fábrega, Len, Ristenpart, Rubin; ePrint 2025/2275) formalizes
> random-access AEAD security cleanly and gives a proven construction.
> This work builds on that formal foundation.
>
> I've posted draft-sullivan-cfrg-raae-02, "Random-Access Authenticated
> Encryption." It covers the primitive, the security notions, the prior
> constructions in the space, and a concrete family of instantiations
> with test vectors called SEAL (Segmented Encryption and Authentication
> Layer), as well as a security analysis (companion paper forthcoming)
> and write/rewrite budgets.
>
> The draft has two layers. raAE is the abstract primitive: the base
> interface and security notions come from Fábrega et al., which this
> document extends. SEAL is one concrete construction of raAE,
> parameterized by an AEAD, a KDF, and an epoch length. It has two
> profiles (immutable and mutable) and an optional snapshot authenticator
> that binds the whole segment set and updates cheaply on rewrite. A
> protocol that would previously have signed the whole encrypted object
> can sign the snapshot authenticator instead and get the same
> authentication scope without touching the segments. The snapshot
> authenticator is also not a single construction, different
> authenticators fit different consuming-protocol contexts. For example,
> settings that supply only a single CEKs and owner per object versus
> settings with a shared CEK (as in MLS) necessitate different
> authenticators.
>
> Freshness against whole-object rollback, storage transactions, and key
> management are explicitly out of scope. Those belong in a consuming
> protocol.
>
> The shortest path to a concrete, testable thing is to read
> SEAL-simple(AES-256-GCM, HKDF-SHA-256) in Appendix E
> <https://www.ietf.org/archive/id/draft-sullivan-cfrg-raae-02.html#name-seal-simple-implementation->,
> which is the degenerate case for SEAL with no rewrites or snapshot
> authentication and fixed legacy AEAD/KDF.
>
> Reviews and comments on the framing, the security notions, the
> construction, or the scope are all useful.
>
> Draft: https://www.ietf.org/archive/id/draft-sullivan-cfrg-raae-02.html
>
> Best,
> Nick
> _______________________________________________
> CFRG mailing list -- cfrg@irtf.org<mailto:cfrg@irtf.org>
> To unsubscribe send an email to cfrg-leave@irtf.org<mailto:cfrg-leave@irtf.org>

_______________________________________________
CFRG mailing list -- cfrg@irtf.org<mailto:cfrg@irtf.org>
To unsubscribe send an email to cfrg-leave@irtf.org<mailto:cfrg-leave@irtf.org>

_______________________________________________
CFRG mailing list -- cfrg@irtf.org<mailto:cfrg@irtf.org>
To unsubscribe send an email to cfrg-leave@irtf.org<mailto:cfrg-leave@irtf.org>