Stream Cipher Attacks and Case Studies

Stub. Beyond the basic PRG/stream-cipher definitions already covered: concrete attacks on one-time-pad reuse and malleability, composing PRGs (parallel and Blum-Micali sequential constructions), the next-bit test, case studies of real stream ciphers (Salsa/ChaCha, linear/LCG and subset-sum generators, the broken DVD CSS and RC4 systems), generating random bits in practice, computational vs. statistical indistinguishability, and bit commitment via coin flipping.

· 2 min read · 246 words

Corresponds to Boneh-Shoup, A Graduate Course in Applied Cryptography, Chapter 3 (sections beyond what’s already covered: PRG definitions and PRF/PRG constructions are in private-key-encryption-and-pseudorandomness and block-cipher-constructions). Covers the concrete failure modes of naive stream-cipher use — reusing a one-time pad (the “two-time pad” attack, XOR-ing two ciphertexts to cancel the keystream) and the OTP’s inherent malleability (flipping a ciphertext bit flips the corresponding plaintext bit, undetected) — then two ways to build a longer PRG from a short one (a parallel construction, and the sequential Blum-Micali method) and the next-bit test, a formally weaker-looking but provably equivalent characterization of pseudorandomness. The bulk of the chapter is concrete case studies: the Salsa/ChaCha family, linear-congruential and subset-sum generators and their cryptanalysis, and the historical breaks of DVD content-scrambling (CSS) and RC4. Closes with practical random-bit generation, the computational-vs-statistical-indistinguishability distinction, and coin flipping/bit commitment as a fun application.

Outline (TODO — flesh out each)

  • Stream cipher limitations — the two-time pad, malleability of the OTP
  • Composing PRGs — a parallel construction; the Blum-Micali method
  • The next-bit test
  • Case study: Salsa and ChaCha
  • Case study: linear generators (LCG cryptanalysis, subset-sum generator)
  • Case study: cryptanalysis of DVD CSS encryption
  • Case study: cryptanalysis of RC4
  • Generating random bits in practice
  • Computational vs. statistical indistinguishability
  • Fun application: coin flipping and bit commitment

← All notes