Documentation

CatCryptCore.Examples.Cryptobox.AE

AE: Multi-instance Authenticated Encryption Game #

The AE game captures the security of authenticated encryption across multiple sessions, composing the KEY game (shared key management) with per-session encryption/decryption.

Overview #

Two variants parameterized by b : Bool:

Oracles #

The AE oracles internally query KEY oracles for key retrieval and honesty checks.

References #

Heap Locations #

Per-session encryption log, indexed by (SID, Nonce).

@[reducible]

Per-session encryption log: maps each (SID, Nonce) pair to an optional (plaintext, ciphertext) pair recorded during ideal encryption.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    Oracle Definitions #

    Each oracle retrieves the shared key and honesty flag from the KEY oracles, then behaves either as real encryption/decryption or ideal (log-based) depending on b and the honesty of the session.

    AE encryption oracle.

    • Gets the shared key for the session via keyO.kget
    • Checks honesty via keyO.khon
    • If b = false (real): encrypt with E.enc (I.encode k) m n
    • If b = true AND the session is honest: sample a random ciphertext, log the (message, ciphertext) pair at (sid, n)
    • If b = true but the session is corrupt: real encryption
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      AE decryption oracle.

      • Gets the shared key for the session via keyO.kget
      • Checks honesty via keyO.khon
      • If b = false (real): decrypt with E.dec (I.encode k) c n
      • If b = true AND the session is honest: look up (sid, n) in the log; if the ciphertext matches the logged one, return the logged plaintext; otherwise return none
      • If b = true but the session is corrupt: real decryption
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Oracle Record #

        AE Game #

        The AE game composes KEY oracles internally: the adversary gets access to both AE oracles (encrypt/decrypt) and KEY oracles (key management).

        AE game parameterized by real/ideal behavior b.

        • b = false: real — encrypt/decrypt with actual shared keys
        • b = true: ideal — honest sessions use random ciphertexts and log-based decryption; corrupt sessions still use real encryption

        The adversary receives both AE oracles and KEY oracles.

        Equations
        Instances For

          AE Advantage #

          AE advantage: distinguishing distance between real and ideal AE games with fixed KEY oracles.

          Equations
          Instances For