Secrecy and Symmetric Key Ciphers

Goals

  • Gain high-level intuition for how PRPs are constructed
  • Define basic security for encryption via the IND-CPA security game
  • Prove basic criteria necessary for IND-CPA security
  • Introduce encryption modes and analyze their security

Block Ciphers

  • How are PRPs and block ciphers related?
  • What are some examples of block ciphers?
  • Should DES (or 3DES) be used today?
  • At a high-level, how does AES work?
  • What are some examples of way to attack block ciphers?

Semantic Security

  • How is semantic security defined?
  • Does IND-CPA imply security against plaintext recovery?
  • Does IND-CPA imply security against key recovery?
  • What are two simple tests that can tell you an encryption scheme is NOT IND-CPA secure?

Encryption Modes

  • Why do we need modes?
  • How does Electronic Code Book (ECB) encryption work?
    • Is it secure?
    • Why/why not?
  • How does stateful counter mode work?
    • Is it secure?
    • Why/why not?
  • How does randomized counter mode work?
    • Is it secure?
    • Why/why not?
    • How does it compare to stateful counter mode?
  • How does cipher block chaining (CBC) mode work?
    • Is it secure?
    • Why/why not?
  • What are two common attacks on CBC mode?
  • What is a padding oracle?
    • How can it be used?