Skip to content

CCA follow-ups: one-time AE halves, multi-challenge CCA, Cramer–Shoup associated data #1824

Closed

Description

@SamuelSchlesinger

Follow-ups from the chosen-ciphertext track #1000, which is closed as completed: KEM–DEM, AE ⇒ CCA with Encrypt-then-MAC, and Cramer–Shoup from DDH all landed. Samuel decided on 2026-10-30 to track the remaining gaps in this bounded issue. Each was recorded as omitted in its PR description.

  1. One-time halves. The AE ⇒ CCA theorem in feat(Crypto/Encryption): formalize Authenticated Encryption, IND-CCA, and Theorem 9.1 (AE => CCA) #1026 formalizes only the multi-query statement. Its one-time half, 1AE ⇒ 1CCA, is omitted, and so is the one-time Encrypt-then-MAC statement in feat(crypto): add Encrypt-then-MAC and PRF-plus-XOR cipher (Boneh-Shoup Theorems 5.2, 9.2) #1049: 1AE from a semantically secure cipher and a one-time secure MAC. So are the query-count preservation statements that accompany both theorems. This needs the one-time notions 1AE/1CCA, reusing the existing game conventions.
  2. Multi-challenge CCA. Cramer–Shoup is proved secure in the single-challenge game (INDCCA2On, feat(Crypto/Computational/CramerShoup): prove Cramer-Shoup 1CCA and INDCCA2On security under DDH #1209). Either prove the multi-challenge notion directly, or add a generic hybrid from single- to multi-challenge CCA for public-key schemes and apply it.
  3. Associated data. The multiplicative Cramer–Shoup scheme is specialized to associated data Unit (feat(crypto): Multiplicative Cramer-Shoup scheme and adaptive Lemma 12.8 consumer (#1000) #1169, feat(Crypto/Computational/CramerShoup): prove Cramer-Shoup 1CCA and INDCCA2On security under DDH #1209). Generalize it to an arbitrary associated-data type.

Done when: each item is proved, or explicitly deferred with its reason. Pin source locators at design time against the pinned Boneh–Shoup version itself; don't copy them from PR text. Items are independent, so claim them separately.

Activity

  1. SamuelSchlesinger commented on Oct 30, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Claiming Item 1 (One-time halves and query-count preservation):

    • Status: active
    • Scope: Item 1 (1AE / 1CCA definitions, 1AE ⇒ 1CCA quantitative and asymptotic theorems, one-time Encrypt-then-MAC theorems, and query-count preservation for the AE ⇒ CCA and Encrypt-then-MAC reductions in MAC.lean, Authenticated.lean, and EncryptThenMAC.lean). Items 2 and 3 remain available to claim separately.
    • Agent / Session: jetski-worker-252a2093 (252a2093-1f93-43aa-85bf-432251102a3b)
    • Branch: feat/cca-onetime-halves-1824
  2. SamuelSchlesinger commented on Oct 30, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update for Item 1 (One-time halves and query-count preservation):

  3. SamuelSchlesinger commented on Oct 31, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Claiming Item 2 (Multi-challenge CCA):

    • Status: active
    • Scope: Item 2 (generic single-to-multi-challenge public-key CCA definitions and hybrid equivalence in Complexity/Crypto/Computational/Encryption/CCA.lean, together with its application to Cramer–Shoup in Complexity/Crypto/Computational/CramerShoup.lean and regression tests in ComplexityTests/Crypto/CCA.lean and ComplexityTests/Crypto/CramerShoup.lean). Item 3 remains available to claim separately.
    • Agent / Session: jetski-worker-252a2093 (252a2093-1f93-43aa-85bf-432251102a3b)
    • Branch: feat/pke-multichallenge-cca-1824
  4. SamuelSchlesinger commented on Oct 31, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update (awaiting review — Item 2):

    • Agent: jetski-worker-252a2093 (session 252a2093-1f93-43aa-85bf-432251102a3b)
    • Branch: feat/pke-multichallenge-cca-1824
    • PR: feat(crypto): add public-key multi-challenge CCA security and hybrid equivalence (#1824) #1885 (1ec92a7b445daa2e657fd1eb13e7c95720af1492)
    • Scope completed:
      • Multi-challenge public-key CCA experiment (MultiCCA2AdversaryOf, cca2MultiPhase2Oracle, cca2MultiGameOn, cca2MultiGame, INDCCA2MultiOn, INDCCA2MultiOf, INDCCA2Multi, WordINDCCA2Multi)
      • Boneh–Shoup Theorem 12.1 equivalence between single-challenge 1CCA and multi-challenge CCA (CCA2AdversaryOf.toMulti, cca2MultiHybridGameOn, cca2MultiToSingleAt, cca2MultiToSingle, cca2MultiHybridGameOn_step_gap, cca2MultiGameOn_gap, advantage_cca2MultiGameOn, isQueryBounded_cca2MultiToSingle, indcca2MultiOn_iff_indcca2On, indcca2MultiOf_iff_indcca2Of, indcca2Multi_iff_indcca2, wordINDCCA2Multi_iff_wordINDCCA2)
      • Multi-challenge CCA security for Multiplicative Cramer–Shoup (DDH.indcca2MultiOn_cramerShoup)
      • Two-sided nonvacuity, refutability, and oracle/reduction regression tests in ComplexityTests/Crypto/CCA.lean and ComplexityTests/Crypto/CramerShoup.lean
  5. SamuelSchlesinger commented on Oct 31, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Claiming Item 3 (Associated data for Multiplicative Cramer–Shoup):

    • Status: active
    • Scope: Item 3 (generalizing Multiplicative Cramer–Shoup in Complexity/Crypto/Computational/CramerShoup/Scheme.lean, Complexity/Crypto/Computational/CramerShoup/Reductions.lean, and Complexity/Crypto/Computational/CramerShoup.lean, together with tests in ComplexityTests/Crypto/CramerShoup.lean, from Unit associated data to an arbitrary associated-data type AD : Type following [BonehShoup2023], Section 12.7, Definition 12.7, printed pp. 501–502, and Exercise 12.27, printed pp. 521–522).
    • Agent / Session: jetski-worker-252a2093 (252a2093-1f93-43aa-85bf-432251102a3b)
    • Branch: feat/cramer-shoup-associated-data-1824
  6. SamuelSchlesinger commented on Oct 31, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    Status update: awaiting review

  7. SamuelSchlesinger commented on Oct 31, 2026

    @SamuelSchlesinger
    CollaboratorAuthor

    triage-claude-e6cf7b0d-5: this issue was closed automatically by the Closes #1824 line in #1920, but one of its three items has not landed yet:

    The "done when" line needs every item proved or explicitly deferred. Could the owning fleet reopen this issue until #1885 lands, or record a deferral?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions