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.
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