Random Numbers
Uses
- Gambling
- Simulation (especially digital hardware to generate stimuli)
- Encryption (uses random numbers for temporary private keys for communication)
- Ethernet (multiple devices trying to talk on same wire)
Definition
Value of each random number has no statistical correlation to any previous random variable
Two Types#
- True Random
- Flip coin infinite number of times and you can get an uncorrelated sequence
- Ex: Thermal noise, solar radiation
- Pseudorandom
- Seedable list of random numbers or generation of numbers in a procedural way
- Provides numbers that when taken together have no correlation
- Ex: Can generate using a linear shift feedback register that is multiplexed into itself
True Random Numbers#
- Generated as needed from random natural phenomena
- Atmospheric noise
- Timing of radioactive decay
- Timing of cosmic radiation event
- Other stochastic process
- Hard to get right in hardware
Pseudorandom#
Easy to generate on demand
- Fixed list of true random numbers
- Algorithmically generated numbers with apparent local randomness
Not truly random
- Lists
- Eventually run out
- Stored somewhere
- Generated values
- Eventually repeat
- Subject to modelling attacks
- Lists
Use of Random Numbers#
- Highest security, low refresh need: True Random
- Cryptographic key generation
- Lottery numbers
- Less security, high refresh or repeatability need: Pseudorandom
- System modeling/simulation
- Hybrid Solution: moderate security: True random "seed"
- Use random numbers to index into/initialize pseudorandom sequence