Einen Zufallsgenerator soll zufällige (also nicht vorhersagbare) Zahlen liefern. Man kann ihn sich vorstellen wie ein Roulette-Rad: Wirft man ihn an, liefert er zufällige Zahlen in irgendeinem bestimmten Bereich, üblicherweise zwischen 0 und 1, oder zwischen 0 und 36 (Roulette), oder zwischen 1 und 49 (Lotto). - Wo ist das Problem?
Hier ist es: Eigentlich gibt es echte Zufallszahlengeneratoren nur in der Quantenmechanik, sonst aber nicht! Denn: Den Lauf der Roulettekugel beispielsweise könnte man theoretisch vorherbestimmen, wenn man diverse Größen genau kennen würde: die Geschwindigkeit beim Einwerfen der Kugel, die Richtung, die Masse, die Drehgeschwindigkeit des Rades, den Luftdruck usw... Dass das nicht gemacht wird, liegt lediglich daran, dass diese Berechnungen zu kompliziert sind! Zumindest theoretisch wäre es durchaus möglich...
Das Roulette erscheint uns "chaotisch", und wir sehen den Zufall am Werk. Was aber, wenn wir echten Zufall erzeugen wollen? Begeben wir uns also an den Computer.
Hier brauchen wir öfter, als man meint, Zufallszahlen - vor allem dann, wenn wir verschlüsselt kommunizieren wollen, egal ob mit PGP, TLS oder sonstwie; die Schlüssel nämlich müssen mit irgendwie zufällig ausgewählten Werten belegt werden. Wie aber kann ein Computer Zufall erzeugen - und zwar so, dass ein Angreifer nicht vorhersagen kann, welche Zahl unser Rechner gleich auswählen wird?
Das Problem ist nicht einfach zu lösen, da ein Rechner grundsätzlich nicht in der Lage ist, unvorhergesehen zu handeln (auch wenn Ihnen das vielleicht nicht so scheint). Er folgt ganz klaren Anweisungen, die keinerlei Raum für Zufall lassen! Welche Strategie könnte man denn nun anwenden?
Man sieht: Zufall zu erzeugen ist nicht leicht; und ganz echten Zufall gibt es eigentlich gar nicht (zumindest in Computern). Daher spricht man im Falle von Computern oft auch vom Pseudozufallszahlengenerator (was für ein schönes Wort!).