[CFRG] Re: Random-access authenticated encryption (raAE) draft
Nick Sullivan <nicholas.sullivan@gmail.com> Wed, 15 July 2026 03:39 UTC
Return-Path: <nicholas.sullivan@gmail.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 1B5E5116F720C for <cfrg@mail2.ietf.org>; Tue, 14 Jul 2026 20:39:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1784086780; bh=x7JIcskyFPqdSkLy0uK4L+hSPD+d2KEJpWFPb9lfdUg=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=agbiPHeqxAofhJP0z7hZM29qOvKqMBiJe3d3q/YOngR/iOAFSFocEHLA7YjGwz3Ew 4ucbJabx2k6qkicywGxtH/8bemWY3Vst1yITeCkvjizeWkHh+uw6/OYW3uwTnRUhaa BURTgIQzRMC5ywG4lqnJpCjkllPqc2tMzTg/54zY=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 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_FONT_LOW_CONTRAST=0.001, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable 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 lFe0eVWP9u0F for <cfrg@mail2.ietf.org>; Tue, 14 Jul 2026 20:39:39 -0700 (PDT)
Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com [IPv6:2607:f8b0:4864:20::112d]) (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 451ED116F7205 for <cfrg@irtf.org>; Tue, 14 Jul 2026 20:39:34 -0700 (PDT)
Received: by mail-yw1-x112d.google.com with SMTP id 00721157ae682-81ed2a06b9eso1023447b3.3 for <cfrg@irtf.org>; Tue, 14 Jul 2026 20:39:34 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1784086773; cv=none; d=google.com; s=arc-20260327; b=Nmpfs1/MyeUXZFJHR+VmFLXJaaS0+UvE0O1mUptH/y0GdUZbdk+g4zqSZzHsgoHPj9 9eSKr5w160gcgq/Pdv4AMRI7tcjvhDQW89Zaop+zSmIfMn5WKI7DGvmpsyQCWSwQMQu3 TlmcBv6Bas7VTdfLEmo3YHIOREwP7sioPY5zCor2epkWc8wSitjr9TWVoED8/42V2gPV 7IrLgky10/reQvwP9pichEzNOD12sXw5oj8lxMjBYM/af30oRyzuOvUrwhgv6VngR3SE cvduXabfjH1DsNCBDsHs6EkW27lsRtCO7XazUrx6env7km0nsBVMScqvsxitvlv+dAU7 naoA==
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=QYK+Hsawp7wCWFPaGC/ItPayMNsLzJCgFOop0xL2+38=; fh=E04fS2X8nSP9E29OovAGeM7ia/UUn7BIQdjeU7TebdM=; b=Z3pqiTPrMCqZremx18dMt+pJqegIIELpPe6eC1jWrcyS28YENikCOLsprdJDgUBMCu ZpsQsj3UGGVf0z94S7xqKQp8gzhQpUELldu8BZF5uUEK9DNy5Oj9drlJZgesu1kNdCHK XIH2sXyKwlB6tCvQT7BCbBIvImu6zBkfvDr7yd0Y6VZWgQJ9d6POfy1Pbh5vSQq4fPo4 y9U7+/QGfKGkrqvdJLVl09cDgYWCc1WofmDw7WruJbXJ9Kgs6+pvJHeDwDSDHNWGHlti vvKdtv/vE7BrFQPf8yEjZLf9hthOooYeAFiK8f9gt26rwudC1ZE+668DPwFjg7wx4tYD sObQ==; 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=1784086773; x=1784691573; 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=QYK+Hsawp7wCWFPaGC/ItPayMNsLzJCgFOop0xL2+38=; b=TfcWYEWKXSKMavA/JVBJJqBDzD3F+YXwnJv8LbqpMQBprtGuRoBBCcLWSHCc79+63c Z2Of/GrcC5N2wZpvvx+4KdQJ3K6kpQvUnQR3FQrpMtsvm6D0ry8+2h8aG7ZyYMWSe7Hm ZlJXthEQA6bOK38GkBOJC37fKjGGbFLngRndFdbHR+01oZg5ZVBI6YIKp/6xwbkvH5do uzEUVMwkjaqiAeQh/NJqGUilVOgpUCOSBCBefzd/GGmna2olkS9gm2QqScIt8FedOb3Z xfF5+p72HP3p90uYGMmOGkgsPtvGM5FYBzH61iNdgvNaZVYilOq3oOmOnBjHjNtFqU6l Ntkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784086773; x=1784691573; 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=QYK+Hsawp7wCWFPaGC/ItPayMNsLzJCgFOop0xL2+38=; b=fpqqd0HTt0l7vDPXdZBvPlYwkYJnl/vrbxHwW9ljvqUNeTcP3aSV4N16aMeiWpUqgK hP0DOw6IDXrfIrkfpEy7njCHKVDt3sQz45Dl9De32ajE+6SJHSyFuKfy/BjhOC2VgsIG o5NC7y5cOeY0A1fkLqPU7mTnaAKhykUwvNoqqUizw4xR6sEFIhiFd9fXvd99fL+MI/aS WJu50R//YPccPvFqmE9r8hg8tUiNgRw0xtFsLI+NN6HkRqNroIddFCWQUl9dvosUChOv rm27LaN9Hsh06k7TsNyg21bWsLR2TlFvtCO31vgnXF4h0YNSCIPvq363B5pg+FMamVRB /ffQ==
X-Forwarded-Encrypted: i=1; AHgh+Rrb7oWwPrtyJSMLV03JctEYYCQED90fSQxnxvPT1WhMTkM0Evo/kMDheOIvRuy80tGQaHzk@irtf.org
X-Gm-Message-State: AOJu0Yxj2z4XPsIX6vWGPXeTPjkz3RNLWTWDcJhHuS0+QZtcoqmOAehi z2zgQ0sS6iWBWQzuNKj0gHXAdRD5VQeqquxntMI4/5Ep9wy/nP+nlhI+vEQAkTO+/tWt8dMgayx pHnWjuWz/6WlheWtXkURqSABCT+oD3gLjMRgCKzeZAg==
X-Gm-Gg: AfdE7ck0OPJot2Hg+MeefHNxtgi4MFuEhMV5NyPEyRttb8DgL2FU8SoN6HY+uQrQ9J4 Q9zlnuWseai3k4mV5zkt5k1QL4KA06sUp31IFSLlS3SEoMbNpdTzoUyzqxPtASa3XT3Z0F4oP6d N2VgxS8aY+18L8dGrnyaP6LRNv8xz6XOoTfGaXJL5R82qZJhmAYwIht1Jj8Wq8nTd9KZY+k6EFe L68DC9lfN13DXMQCjGraYe49Rg+cch5feAu7WWIUk/jzYmJgZHGKo8eK02jnPkzoZIBx02PrnOR rjYTiHYR/9zxevVXnTKtEBD2bf1WEh4A+mWimMNQe7xJgkND38PrMW7CunLY0bCb6zGs/9vWbKV DaV2sP+CGYSD0Vj2GIz6O+nnmGjel0s4=
X-Received: by 2002:a05:690c:e05:b0:81d:bc5:4624 with SMTP id 00721157ae682-81e9003c748mr124314177b3.25.1784086772932; Tue, 14 Jul 2026 20:39:32 -0700 (PDT)
MIME-Version: 1.0
References: <CAOjisRximY8dNJVFkYyHogh6UyH6HOUK==yt8+b-Muy9VntX9Q@mail.gmail.com> <ef6adb6e-cc5e-4021-96c7-4691404c9b1b@app.fastmail.com> <AS4PR07MB8825389E838C161453B02DA989F92@AS4PR07MB8825.eurprd07.prod.outlook.com>
In-Reply-To: <AS4PR07MB8825389E838C161453B02DA989F92@AS4PR07MB8825.eurprd07.prod.outlook.com>
From: Nick Sullivan <nicholas.sullivan@gmail.com>
Date: Wed, 15 Jul 2026 04:39:21 +0100
X-Gm-Features: AUfX_mxf6V5mRXr0CYJQG5B0DxifTSk8OxMUnZGjdVPKGijXMaJJHsFLczrglM8
Message-ID: <CAOjisRzN5F2_iMVVL13QJ-eWSW4kRdLKkZ20pJwvs2UnFfARxQ@mail.gmail.com>
To: John Mattsson <john.mattsson=40ericsson.com@dmarc.ietf.org>
Content-Type: multipart/alternative; boundary="00000000000059659206569e12a5"
Message-ID-Hash: FVQCOG3ER5YQSHOGPR6OGATW4ZXNLPR5
X-Message-ID-Hash: FVQCOG3ER5YQSHOGPR6OGATW4ZXNLPR5
X-MailFrom: nicholas.sullivan@gmail.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/I60KGIRv9QWvw0EsBwyIGlWrmGQ>
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 John, Thanks for the support. You're right that even a write-once file encryption standard would be worth having. The bigger value, in my view, is making segmented encryption a first-order primitive like AEAD, rather than having to build it ad hoc in each protocol. Ad hoc file and segment encryption has a long history of breaking. Disk encryption shows the pattern at its most extreme: the layout came first, so integrity was dropped entirely, and tampering goes undetected by design. Homegrown segmented schemes repeat one another's mistakes: nonce reuse, undetected truncation, missing key commitment, and optional integrity checking, which in practice means none. Even the careful designs diverge, each marking end of message its own way, argued from scratch. And none of these schemes gives you anything to sign but the whole object, so verifying any part of a signed object means reading all of it. The way out is to start from a formal treatment and distill the cryptographic elements abstractly, leaving layout to the consuming protocol. That's the AEAD model: AEAD is the analyzed primitive, and the consuming protocol handles framing, nonces, keys, and tags. raAE is a first-order primitive of the same kind, except the unit is segmented content rather than a single message. It takes a content key, binds the segments together (optionally), and leaves layout and key management to the protocol. So you could build an HPKE-raAE the way HPKE wraps an AEAD, for instance. When the guarantee lives in the primitive, the protocol using it inherits the guarantee. The protocol's layout choices can't bring the old issues back. That's how this draft is built. raAE is the abstract primitive, with the interface and security notions from Fábrega et al.'s FLOE paper, extended with in-place rewrite and a snapshot that authenticates the full segment set and its count. SEAL is the construction: pick an AEAD, a KDF, and parameters, and you get a concrete instantiation in a write-once or mutable profile, analyzed against the stated requirements. A protocol that needs origin authentication signs the one snapshot value, and a reader verifies a single segment against it without reading the rest of the object. The prior art lands as points in that design space. A write-once SEAL with derived nonces coincides with STREAM at the nonce and AEAD layer. Tink and OpenPGP v2 SEIPD are deployed formats in the same family. SEAL-simple in the appendix is the minimal instantiation: an implementation sketch and test vectors, enough to build a conforming encryptor and decryptor. On venue: this draft is the research and requirements work, so in my view, it should sit in CFRG. The interoperable format is where the IETF comes in, and that's the path to the standardization you're after. Best, Nick On Tue, Jul 14, 2026 at 9:27 AM John Mattsson <john.mattsson= 40ericsson.com@dmarc.ietf.org> wrote: > Hi Nick, > > Thanks for driving this! > > I think this has a lot of value and something the IETF should work on. I > think even standardizing file encryption even without random-access would > have value. My experience is that very weak file options like openssl-enc, > gpg, and deriving a keys from low entropy passwords are still commonly used > in practice. > > openssl-cms - CMS and age are modern secure options but lack random > access. > https://github.com/filosottile/age > > Disk encryption standards have random access but lack integrity. > > Agree with Martin that this can/should be done in IETF. > > Cheers, > John Preuß Mattsson > > *From: *Martin Thomson <mt@lowentropy.net> > *Date: *Tuesday, 14 July 2026 at 10:01 > *To: *cfrg@irtf.org <cfrg@irtf.org> > *Subject: *[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://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Farchive%2Fid%2Fdraft-sullivan-cfrg-raae-02.html%23name-seal-simple-implementation-&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C2b5d3a29f3b34311dba908dee17e2832%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C639196129131599926%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=RB6Qzta8cW2zXvpt2fuW8kUrZ%2FJLvch0g5kH9wBa6G0%3D&reserved=0 > <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://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Farchive%2Fid%2Fdraft-sullivan-cfrg-raae-02.html&data=05%7C02%7Cjohn.mattsson%40ericsson.com%7C2b5d3a29f3b34311dba908dee17e2832%7C92e84cebfbfd47abbe52080c6b87953f%7C0%7C0%7C639196129131636376%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=PEqj1VekOr39dDt1di4%2FQNvdrsuR%2BP23JEK635HWbWk%3D&reserved=0 > <https://www.ietf.org/archive/id/draft-sullivan-cfrg-raae-02.html> > > > > > Best, > > Nick > > _______________________________________________ > > CFRG mailing list -- cfrg@irtf.org > > To unsubscribe send an email to cfrg-leave@irtf.org > > _______________________________________________ > CFRG mailing list -- cfrg@irtf.org > To unsubscribe send an email to cfrg-leave@irtf.org > _______________________________________________ > CFRG mailing list -- cfrg@irtf.org > To unsubscribe send an email to cfrg-leave@irtf.org >
- [CFRG] Random-access authenticated encryption (ra… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Martin Thomson
- [CFRG] Re: Random-access authenticated encryption… John Mattsson
- [CFRG] Re: Random-access authenticated encryption… Ilari Liusvaara
- [CFRG] Re: Random-access authenticated encryption… Jack Grigg
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… John Mattsson
- [CFRG] Re: Random-access authenticated encryption… Nico Williams
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… John Mattsson
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Martin Thomson
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Dmitry Belyavsky
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Tushar Patel
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Wang Guilin
- [CFRG] Re: Random-access authenticated encryption… Nick Sullivan
- [CFRG] Re: Random-access authenticated encryption… Wang Guilin
- [CFRG] Re: Random-access authenticated encryption… Nico Williams
- [CFRG] Re: Random-access authenticated encryption… Mark Xue