Symmetric key encryption (SE)

Symmetric key encryption (SE) is a central cryptographic primitive in theory and in practice.

Definition

A symmetric key encryption (SE) scheme is a tuple of efficient algorithms , with respect to key space , message space , and ciphertext space such that

  • , is a randomized algorithm that takes a security parameter, and outputs a key ,
  • , is a randomized algorithm that takes a key and message , and outputs a ciphertext ,
  • , is a deterministic algorithm that takes a key and candidate ciphertext , and outputs either a message
    • One may also allow to output to indicate that a candidate ciphertext is not a valid encryption

Correctness

A SE scheme is correct if for every and message , .

Chosen Plaintext Attack (CPA) Security

The CPA advantage of an adversary is defined as where , , and is a left-right oracle, which encrypts either its left or right input based on the input .

An SE scheme is CPA-secure if for all efficient , there exists a negligible function , such that: .

Indistinguishable from random CPA (IND$-CPA)

The IND$-CPA advantage of an adversary is defined as where and is a random response oracle, which on each query gives a uniformly random -bit string (even on the same input, unlike a random oracle).

An SE scheme is IND$-CPA-secure if for all efficient , there exists a negligible function , such that: \text{Adv}^{\text{ind\-cpa}}_{\mathcal{A}}(\lambda)\le \nu(\lambda)$.

Chosen Ciphertext Attack (CCA) Security

The CCA advantage of an adversary is defined as where , , and is a left-right oracle, which encrypts either its left or right input based on the input .

An SE scheme is CCA-secure if for all admissible , there exists a negligible function , such that: . An adversary is admissible if it is efficient and never queries with an output of , i.e., it never decrypts encryptions from the oracle (but it may query inputs which depend on the outputs given).

  • This restriction is necessary, as otherwise could trivially discover what is by querying and decrypting the answer.

Other results

  • (Both CPA and CCA) SE can be built in a black-box way from a One-way function — Folklore?
  • Boosting CPA encryption can be boosted to CCA by using a MAC