Documentation

CatCryptCore.Examples.INDCPA

IND-CPA Security Games #

The IND-CPA (Indistinguishability under Chosen Plaintext Attack) security games for symmetric encryption schemes.

The IND-CPA game proceeds as:

  1. The challenger generates a random key k.
  2. The adversary chooses two messages m₀, m₁.
  3. The challenger encrypts mᵦ for a random bit b.
  4. The adversary tries to guess b.

An encryption scheme is IND-CPA secure if no efficient adversary can guess b with probability significantly better than 1/2.

Main definitions #

References #

IND-CPA Security Games #

Real IND-CPA game: encrypt the first message m₀.

This corresponds to the game where the challenger bit b = 0, so the adversary receives Enc(k, m₀).

Equations
Instances For

    Ideal IND-CPA game: encrypt the second message m₁.

    This corresponds to the game where the challenger bit b = 1, so the adversary receives Enc(k, m₁).

    Equations
    Instances For

      IND-CPA advantage: the distinguishing advantage between real and ideal games.

      An encryption scheme is IND-CPA secure if for all efficient adversaries A and all message pairs (m₀, m₁), the advantage is negligible.

      Equations
      Instances For

        Perfect IND-CPA Security #

        Perfect IND-CPA security means the advantage is exactly 0 for all adversaries. This is achievable by one-time-pad style encryption.

        An encryption scheme has perfect IND-CPA security if for all message pairs the real and ideal games satisfy the pRHL judgment with eqPost.

        The precondition eqPre (heap equality) holds when starting from empty heaps.

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

          Perfect IND-CPA security implies zero advantage for all adversaries.