Ein physikalischer Zufallszahlengenerator dient zur Erzeugung von Zufallszahlen und benutzt dafür physikalische Prozesse.
Hierbei werden beispielsweise Impulsschwankungen elektronischer Schaltungen (z. B. thermisches Rauschen eines Widerstands oder radioaktive Zerfallsvorgänge) ausgenutzt.
Allerdings gelten physikalische Zufallszahlengeneratoren nicht als schnell, da eine Unabhängigkeit und Gleichverteilung der erzeugten Zufallszahlen nur durch hinreichend große Abstände bei der Beobachtung der physikalischen Prozesse bzw. Abfangverfahren erreicht werden können. Dies ist aber nur eine Frage der verwendeten Technik, denn Zufallsprozesse wie thermisches Rauschen haben Grenzfrequenzen von vielen Terahertz.
Auch ist eine Reproduzierbarkeit der Ergebnisse prinzipiell nicht möglich, da die produzierten Zufallszahlen echt zufällig sind, so wie die Ziehung der Lottozahlen. Dadurch sind die produzierten Zufallszahlen aperiodisch, d. h. die Folge der Zufallszahlen ist unendlich.
In der Praxis verwendet man daher häufig arithmetische Zufallszahlengeneratoren, die eine Mischform sind. Sie berechnen Pseudozufallszahlen, verwenden dafür allerdings – bei Bedarf – einen echt zufälligen Startwert.
In der Praxis findet man solche hybriden Zufallszahlengeneratoren unter Linux/Unix/BSD unter /dev/random
und /dev/urandom
. Diese zeigen praktisch keinerlei statistische Auffälligkeiten.
Aufgrund der großen Verbreitung von USB-Anschlüssen an PCs und Notebooks ist es inzwischen überwiegend üblich, physikalische Zufallszahlengeneratoren über USB mit einem Rechner zu verbinden. Um Störeinflüsse des Rechners oder anderer elektrischer Geräte möglichst weitgehend zu vermeiden, sollten physikalische Zufallszahlengeneratoren vorzugsweise in einem elektromagnetisch abschirmenden Metallgehäuse untergebracht werden.