Pseudorandomness
Definition
is a set of binary strings of length , then
- is some probability distribution on
- is uniform probability distribution on
Then is called pseudorandom if a string drawn according to is indistinguishable from a string drawn according to to an PPT adversary.
Pseudorandom Generator
Let be a deterministic polynomial-time algorithm such that for any and any input , the result is a string of length . is a pseudorandom generator if:
- The output of looks like a uniform string to any PPT observer
Formal definition:
is a pseudorandom generator, if such that
Where is PPT adversaries, is a negligible function.
EAV-Security from a Pseudorandom Generator
Let be a pseudorandom generator with expansion factor , then define a fixed-length private-key encryption scheme for messages of length as:
- : on input , choose uniform key and output it as the key
- : on input key and a message , output the ciphertext
- : on input key and a ciphertext , output the message
If is a pseudorandom generator, then is an EAV-Secure, fixed-length private-key encryption scheme for messages of length
Pseudorandom Number Generators (PRNGs)
PRNGs often use deterministic algorithmic techniques to create random like numbers.
Linear Feedback Shift Registers (LFSR) as PRNGs
Feed back function is linear over
Period
The maximum period for an -bit register is
Nonlinear Shift Registers (NSFR)
Feed back function is nonlinear (with high degree).