Zufallszahlengenerator

Wähle einen Bereich und wie viele Zahlen du brauchst: Sie werden mit dem kryptografischen Generator deines Browsers gezogen, ideal für Verlosungen, Spiele, Gewinnspiele und Bingoabende.

Die Ziehung findet in deinem Browser statt: Nichts wird gesendet oder gespeichert.

Warum wir crypto.getRandomValues statt Math.random verwenden

Dieser Generator basiert auf crypto.getRandomValues, der kryptografisch sicheren Zufallsquelle deines Browsers, kombiniert mit der Verwerfungsmethode (Rejection Sampling), um Verzerrungen zu vermeiden: Jede Zahl im Bereich hat genau die gleiche Chance, gezogen zu werden. Das bekannte Math.random, gedacht für Animationen und Spiele, bietet nicht dieselbe Garantie der Unvorhersehbarkeit: Für Preisverlosungen, die Wahl eines Gewinners unter Freunden oder jede „blinde“ Auswahl ist die kryptografische Variante deshalb die bessere Wahl.

Ziehen mit oder ohne Wiederholung

Mit „Nur verschiedene Zahlen“ bekommst du eine Ziehung wie beim Lotto oder bei der Bingotrommel: Jede Zahl kann nur einmal gezogen werden, deshalb darf die gewünschte Anzahl nicht größer sein als der Bereich (von 1 bis 100 kannst du höchstens 100 Zahlen ziehen). Entfernst du das Häkchen, funktioniert es wie wiederholtes Würfeln: Wiederholungen sind möglich und völlig normal, praktisch, um Würfelwürfe zu simulieren, Testziffern zu erzeugen oder zufällige Beispieldaten zu erstellen.

Was „zufällig“ für einen Computer bedeutet

Ein Computer ist eine deterministische Maschine: Von sich aus kann er nichts wirklich Zufälliges erzeugen. Gewöhnliche Generatoren gehen von einem Startwert aus und wenden eine Formel an, die Folge ist also berechenbar: Wer genug der erzeugten Zahlen kennt, kann die nächsten vorhersagen.

Kryptografische Generatoren sammeln dagegen echte Unordnung aus dem System: die Mikrosekunden zwischen Tastenanschlägen, die Antwortzeiten der Festplatte, das Rauschen der Hardware. Das ist der Unterschied zwischen einer Zahl, die für ein Spiel genügt, und einer, die auch einer anfechtbaren Verlosung standhält.

Der Modulo-Fehler

Der naive Weg, aus einem Generator eine Zahl zwischen 1 und 10 zu bekommen, ist, den Rest einer Division durch 10 zu nehmen. Das funktioniert fast: Ist der Ausgangsbereich kein genaues Vielfaches der Anzahl möglicher Ergebnisse, kommen die ersten Werte ein klein wenig häufiger vor als die letzten.

Bei einem sechsseitigen Würfel ist die Verzerrung unsichtbar, bei einer Verlosung mit vielen Teilnehmern wird sie messbar. Die richtige Abhilfe ist, die Zahl zu verwerfen und es erneut zu versuchen, wenn sie in den überzähligen Bereich fällt, der das Gleichgewicht stört: Das kostet ab und zu einen zusätzlichen Versuch und liefert eine wirklich gleichmäßige Verteilung.

Zufällige Folgen sehen nicht zufällig aus

In einer Folge von hundert Zahlen zwischen 1 und 10 ist es normal und passiert oft, zweimal hintereinander dieselbe Zahl zu bekommen; verdächtig ist vielmehr, wenn es gar keine Wiederholungen gibt. Das Gefühl „dieser Generator wiederholt sich zu oft“ ist fast immer ein Fehler der Intuition, nicht des Programms.

Aus demselben Grund mussten manche Musik-Apps die Zufallswiedergabe weniger zufällig machen, als echter Zufall wäre: Die Leute beschwerten sich über wiederholte Titel. Ehrlicher Zufall bildet Häufungen, und Zufall, der „zufällig aussieht“, wurde in Wahrheit gezähmt.

Siehe auch

Um Namen statt Zahlen zu ziehen, gibt es das Tool Namen auslosen, und für eine klare Wahl zwischen zwei Optionen Ja oder Nein?. Wenn du ein unvorhersehbares Passwort brauchst, führt der Weg über den Passwort-Generator.

Ähnliche Tools