Als
Zufallszahlengenerator, gelegentlich auch zu
Zufallsgenerator verkürzt, bezeichnet man ein Verfahren, das eine
Folge von
Zufallszahlen erzeugt. Der Bereich, aus dem die Zufallszahlen erzeugt werden, hängt dabei vom speziellen Zufallszahlengenerator ab. Man unterscheidet grundsätzlich zwischen
nicht-deterministischen und
deterministischen Zufallszahlengeneratoren. Nicht-deterministisch ist ein Zufallszahlengenerator dann, wenn er auch bei gleichen Ausgangsbedingungen unterschiedliche Werte liefert. Da die Implementierung einer Software-Prozedur immer deterministisch arbeitet, muss zur Realisierung eines nicht-deterministischen Zufallszahlengenerators ein externer, beispielsweise ein physikalischer, Vorgang einbezogen werden. Ein deterministischer Zufallszahlengenerator liefert bei gleichen Ausgangsbedingungen dagegen immer die gleiche Folge von Zahlen. Oft werden beide Formen zu einem hybriden Generator kombiniert.