Documentation

CatCryptCore.Examples.Cryptobox.NIKE

NIKE: Non-Interactive Key Exchange Game #

The NIKE game captures the security of the shared key exchange component of Cryptobox. It has two variants parameterized by b : Bool:

The NIKE game builds on top of the PKEY oracles (key generation, corruption tracking, secret key retrieval, and honesty checks).

References #

Heap Locations #

State specific to the NIKE game. Location IDs start at 400 to avoid collisions with PKEY locations (100-range).

@[reducible]

Stored shared keys indexed by canonical session ID.

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

    Honesty flags for sessions: whether both parties are honest.

    Equations
    Instances For

      Oracle Definitions #

      Shared key oracle for the NIKE game.

      Given sender and receiver public keys:

      1. Check honesty of both keys via pkeyO.honpk
      2. Retrieve sender's secret key via pkeyO.getsk
      3. Compute the canonical session ID via sortSID
      4. Look up whether a key was already stored for this session
      5. If b = false (real) or either party is corrupt: compute the real shared key via N.sharedkey
      6. If b = true (ideal) and both parties are honest: sample a uniformly random shared key
      7. Store and return the key
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Oracle Record #

        Oracle interface for the NIKE game.

        Instances For

          NIKE Game #

          NIKE game parameterized by b:

          • b = false: real shared keys
          • b = true: ideal (random) shared keys for honest pairs

          The adversary receives both PKEY oracles (for key management) and the NIKE oracle (for shared key queries).

          Equations
          Instances For

            NIKE Advantage #