Stream Cipher
- •
Definition
- •
a practical cipher built by replacing the One-Time Pad's truly random key with a Pseudorandom Generator (PRG) 's output: ,
- •
- •
Why it's not perfectly secure
- •
the key kk k (the PRG seed) is much shorter than the message, and Shannon's Theorem says perfect security requires a key at least as long as the message — so a stream cipher can never be perfectly secure by construction
- •
- •
Security theorem
- •
if is a secure PRG, the resulting stream cipher is semantically secure
- •
- •
Proof idea (a "swap to random" reduction)
- •
modify the semantic-security challenger to also sample a truly random string , but ignore it and still encrypt with — this doesn't change the adversary's view at all
- •
now actually switch the challenger to encrypt with instead of — since is a secure PRG, no efficient adversary can tell apart from , so this swap changes the adversary's winning probability by at most a negligible amount
- •
but encrypting with a truly random is exactly a one-time-pad game, where every adversary (even unbounded ones) has advantage 0
- •
chaining these two negligible-difference steps together: the original stream-cipher adversary's advantage must also be negligible
- •
- •