November 2004
Intermediate to advanced
736 pages
14h 4m
English
The word random means different things to different programmers at different times. For most applications, the pseudo-random numbers provided by the C library are quite sufficient. Because they allow you to reproduce conditions if necessary (perhaps for debugging purposes), they are preferable to truly random numbers.
But certain applications, including cryptography, require truly random numbers for best results. The Linux kernel samples events from the unpredictable outside world to provide cryptographically strong random numbers.
Computers are predictable. Most of the tasks that we want computers to do are tasks in which predictability is the most important thing. Even when bugs appear in your program, you want them ...