Various changes by Philipp G├╝hring
[ach-master.git] / src / RNGs.tex
1 \section{Random Number Generators}
2 \label{section:RNGs}
3
4 There are currently 2 practical ways to verify whether a random number generator is broken or good enough for security applications:
5
6 Dieharder from Robert G. Brown is a tool that runs a large number of statistical tests on your PC against a single file which contains random numbers.
7 CAcert operates a random number testing service website which also runs a number of statistical tests against sumitted files, and makes the results publically comparable.
8 But please keep in mind, that such statistical tests cannot detect deliberately rigged random number generators like DRBG, they only detect broken generators like the old Debian OpenSSL.
9
10
11 Embedded systems like routers often have the problem that they do not have a good random number generator, and most generators take some time to collect enough entropy, so there were recent cases of such routers where they automatically generated (bad) keys directly after bootup. In case of doubt, we suggest that you manually generate good keys on a normal Laptop/PC, and copy them over to the handicapped system.
12
13 Regarding servers and virtualized and cloudified environments, be careful with cloned images and paused/cloned VM's, to make sure that they do not clone the random number pool, so that all cloned machines are generating the same key after continueing/booting them.
14
15 In case you measured that your random number generator is really too slow, we suggest to take a look at HAVEGE.
16
17 (All Links can be found in the Tools section)