# Real-World Computing: Random numbers

Believe it or not, generating truly random numbers is a difficult job for a computer.
The problem is that computers are deterministic - they only do exactly what they're told.
Computers can generate pseudo-random numbers very efficiently, but for some applications such as cryptography, less predictable random numbers are required.

Every method of generating true random numbers on a computer involves some kind of external input.
This can be as simple as keyboard typing speed or mouse movements, or non-interactive input such as network activity.
More esoteric sources of input include radioactive decay, radio antenna, and digital image capture.

## Related Links

- HotBits - randomness from radioactive decay
- random.org - randomness from atmospheric noise
- LavaRnd - randomness from "lava lamps"
- ENT - statistical tests for randomness

Greg Hewgill <greg@hewgill.com>