Stream Ciphers and Pseudo Random Generators
Stream Cipher
making OTP practical
Idea: replace "random" key by "pseudo random" key.
Definition: Pseudo random generator(PRG) is a function , where .
- is the space of seed
- should be efficient computable by a deterministic algorithm
- Output should seem random
the only random thing is the seed
- Stream Cipher cannot hace perfect secrecy
- Need a different definition of security (Because the length of stream cipher key is usually shorter than plaintext)
- Security will depend on specific PRG
PRGs Must be Unpredictable
It will be a problem if PRGs are predictable: . The formula demostrates that there's a specific algorithm which can predict the value after such as , from the existing set of .