[CFRG] Random-access authenticated encryption (raAE) draft
Nick Sullivan <nicholas.sullivan@gmail.com> Mon, 13 July 2026 22:54 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 B81041162337F for <cfrg@mail2.ietf.org>; Mon, 13 Jul 2026 15:54:50 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1783983290; bh=0UiK9xlEzDR4+KszSW9Bwv4xV6AOMQXbrjovQu1ecLw=; h=From:Date:Subject:To; b=wWly2x0y2deSQWhedro8Ox96Gydabf7vaj6hN+fNCa75W+D/uj1WKvohutGWknSca lFhDs4V3DFo0coMiVOyLRt1QXU+kPCP3ulBgPrd/+5DppO3yMEQ+9MiH0d9RASXuxB Ay7mysd1bJBUm5AhfSL2wO1vIEruWvPh8Q5dxgco=
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 APgFxSSGTsBk for <cfrg@mail2.ietf.org>; Mon, 13 Jul 2026 15:54:50 -0700 (PDT)
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_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 1E5A811623373 for <cfrg@irtf.org>; Mon, 13 Jul 2026 15:54:50 -0700 (PDT)
Received: by mail-yx1-xb129.google.com with SMTP id 956f58d0204a3-667923d86a7so643323d50.0 for <cfrg@irtf.org>; Mon, 13 Jul 2026 15:54:50 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1783983289; cv=none; d=google.com; s=arc-20260327; b=m8xbwz6RNL+S9R9F4ZAZeqyCLZTArOSQEo3VmgAk5D6sDvbAV6CNf73zGYU0SYRP3W 47bcYfB2oihOeAy0/+pkMGpnI3Hgyoud2pl0RGTzxityvnE1Hs5ikWxg3h+yWI2iiGCL 8wlAP/LNNSr2jmSh7ROpMZFXguthgIkuAuQoBiXhFVlcS79GoOxVCS1vGSAd/c039ikF 18AEyjUG87RxgDQ4NqH2c7aptxa/AVyWFuQhwgaQjsoU41uklLIwsYH5rQYHzvBiWGoZ G0+/mJG1KGA6qq0SlcXVdYHoKFqi5MdaXA9l+XDoqSDPBp4pVLwZN8i14RCAUCgjErtN 7waw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=So7mAJZz/kSgHN6Txg3vfrdTtHGQSie3K9TbldP9V64=; fh=I9lEgVqUbbytRRgi/jCy6ZkITtajY28AfrFmE7Zgu5s=; b=aOi9pMhI7Vfhl3VFVOxc0YP7bU8TEU97tRlbVsQBAsd88qdE37Au+/d0TWAcWz6lRL 69rFL0fYoxbQDeiXMjug+AhkC94d5Jl8j+xVgxuDoKuZtSYQnONkbrqhAwUmku0BKOpu +xXcsph8xniFH9w2VJNfesfi3eQCwUv/UXYV8fkIQw/lzX6o/Pp8G51fxJDPuysY79iA YFIjfGoOUo4/HlarzyEowi2wKBcYVrT4dj048DnAcwxfTqCa9LXoSPytApYlA18gcs2t FMJhGyLd5AE9t4mtvPiAbUm/0GyH7kUwNJg9wyQIsD5rTUSZPH171s1G4ekRfTymcJ2Z jauw==; 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=1783983289; x=1784588089; darn=irtf.org; h=content-type:to:subject:message-id:date:from:mime-version:from:to :cc:subject:date:message-id:reply-to:content-type; bh=So7mAJZz/kSgHN6Txg3vfrdTtHGQSie3K9TbldP9V64=; b=RGwgZunLe0ZDdg7zSSM4zWLijr5yDi9/NQj6ScZlHZC76DHwo0lqg0yNrd3zGbRqyQ FteJka/+90YuHi3mjzaL0uu6rWDwQWk1bjKyVjVvGnluKkmcA3kIi9X/ifpqSadGAnsu GGV6rLchdTrcfVNvdwpsX7kYVx3HzayH/qWDv0ZdzxNKkUR6aqChDeWRxGMZwThM5oUh JyCqbC7CmwDZP56ZWrqLUGVTccBqNKk3rkKZax8ltIZZYsIpl+j/Sak2ZNdcQiEwGmmn XQx9CgEp72CqoZeplC9lux7vNLyfIIw6RdWmDmgBhup8Zexs0P9xjqTMMH6ClHERT85/ x3ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783983289; x=1784588089; h=content-type:to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=So7mAJZz/kSgHN6Txg3vfrdTtHGQSie3K9TbldP9V64=; b=kfjkr3oax7Hd0m4qJ4bbOnhKu6A2GEYcvBN+XUPX6uzBGf2itddNC8sPPFrfyqkWE1 LLungrvXJf6H9s2MbcE1Cg4g6sQL6+LJrnJB+PgAo+gRbHVp2yxmv4gTagKUVoSJw3hH BlgxRAxbZVR6XK35/coEhIKSenJgo2h622xVzyUvnZKsL5onrqFh/x1V4RNKGthuFDuH A8tyvmohx3Fg4kMJKnMitXej6ezJLMDVnFC4IRHhclSRgaH5mS/sfHe7e7Zix2JpVLFb xGuTaYuLgOE+aGpRboF//x6q8bHzuQkA2ZumfZ+C6rrweyV5onTXmbDfo/pVZXsGnsHE RUnA==
X-Gm-Message-State: AOJu0Yz8Q3+qmB08WkIzPjnTTuZoHS415rzOfELtQz+cmjr/rX+G+PZJ 3ZSdUt3d+6ZwKC5xq1N0JZak5HJ2I1v/oAHYpQPh9JDo4dGtGiu1Ch0VbDlFrN2XKCRV2t1cT+i eHGU4uB0SxmThEJAvrqRKmWm/UJPs4iC2FRduLTp8HEQd
X-Gm-Gg: AfdE7cnOcI3W2WJKodjepngyFdeYPjZFe0GGr4cCz/8CQz8OHJrpJWBmm1f4ghxqvtm KolAA8eKhOMfeZ2ysHeM3f8PK6ht11bft+ja7j37A7nbqYBw0Ws1Na69NqLG9wRfguR0pTy1ebT wbV1F73LJGNVZnsttsHYQ52CYKRW0oWm24H6+wRpJF0jmx60tdGzGsYVLTQQKd13MXaLDgM16WI mwBrY6kAEPAs9PzhXzQq/RMInaxjYREfyyK5NHOKLGupE13Gr8Q6nuU6dDV5Aow7Q5olfl0C5Ht bleDa1wVP+hEb2JJ/ovckgdK+YzxxgrcEaLSTMZNJiUmRHlbNbyZ6jg+ixZShntwmzt9TidcXqJ eTtkV98j8GT4dqU2l9M4y2J3649EgDA==
X-Received: by 2002:a05:690e:42d2:b0:664:a8fa:19db with SMTP id 956f58d0204a3-667c5a5e969mr7738383d50.5.1783983289403; Mon, 13 Jul 2026 15:54:49 -0700 (PDT)
MIME-Version: 1.0
From: Nick Sullivan <nicholas.sullivan@gmail.com>
Date: Mon, 13 Jul 2026 23:54:38 +0100
X-Gm-Features: AVVi8CdBxneN_gKUaij1dINJAYOoVHtaISZLFevtOYV8yanRyJMcx9fJJBmnNOY
Message-ID: <CAOjisRximY8dNJVFkYyHogh6UyH6HOUK==yt8+b-Muy9VntX9Q@mail.gmail.com>
To: CFRG <cfrg@irtf.org>
Content-Type: multipart/alternative; boundary="000000000000400dd2065685fac1"
Message-ID-Hash: CLEQ2UAGAIF45YBPMB5DOQK442ZL46EJ
X-Message-ID-Hash: CLEQ2UAGAIF45YBPMB5DOQK442ZL46EJ
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
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [CFRG] Random-access authenticated encryption (raAE) draft
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/OSFO2-Iy6pUJRn96kNO-0pcLkT8>
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 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] 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