Zufallszahl von 0 bis 100
Jede der 101 Zahlen hat exakt dieselbe Chance. Gemischt aus allem Zufall, den dein Gerät und das Internet hergeben.
Im Hintergrund: Ziffern aus dem aktuellen Zufallspool (512 Bit). Jede Mischung ändert sie komplett.
Noch keine Zahl gezogen.
Bisher gezogen
Zufallsquellen
Alles, was grün leuchtet, fließt in den Pool. Schon eine einzige gute Quelle macht das Ergebnis unvorhersagbar.
Auf deinem Gerät
Aus dem Internet
Die Ansicht auf claude.ai lässt keine Verbindungen zu fremden Servern zu. Speichere die App als Datei und öffne sie im Browser – dann laufen auch die Internetquellen.
Gleichverteilung prüfen
Zieht viele Zahlen auf einmal und vergleicht, wie oft jede vorkommt, mit dem, was bei Gleichverteilung zu erwarten ist.
Noch kein Test gelaufen.
| Kennzahl | Erwartet | Dieser Generator | Math.random() |
|---|---|---|---|
| Anzahl Zahlen | – | – | – |
| χ²-Wert (100 Freiheitsgrade) | 100, meist 74 bis 130 | – | – |
| p-Wert | irgendwo zwischen 0 und 1, jeder Wert gleich wahrscheinlich | – | – |
| Mittelwert | 50 | – | – |
| Varianz | 850 | – | – |
| Korrelation benachbarter Zahlen | 0 | – | – |
| Rechenzeit | – | – | – |
z = Abweichung vom Erwartungswert in Standardfehlern. Werte zwischen −2 und +2 sind normal, ab etwa ±3 wird es auffällig.
Ein bestandener Test zeigt nur, dass die Häufigkeiten stimmen. Ob Zahlen vorhersagbar sind, kann kein Statistiktest zeigen: Auch Math.random() besteht ihn, obwohl man es nachrechnen kann, wenn man genug seiner Ausgaben kennt.
So entsteht die Zahl
- Sammeln. Jede aktive Quelle liefert laufend Rohdaten: Messwerte, Zeitpunkte, Bytes aus dem Internet.
- Mischen. Alles wird zusammen mit dem bisherigen Pool durch SHA-512 geschickt, eine kryptografische Hashfunktion. Heraus kommt ein neuer Pool aus 512 Bit. Ist auch nur eine Zutat unvorhersagbar, ist es der Pool auch.
- Ziehen. Aus dem Pool wird eine 32-Bit-Zahl abgeleitet, also eine von 4.294.967.296 möglichen. Das Ergebnis ist ihr Rest bei Teilung durch 101.
- Gerecht machen. 4.294.967.296 geht nicht glatt durch 101 auf, es bleiben 68 Werte übrig. Ohne Korrektur kämen 0 bis 67 einen Hauch häufiger vor als 68 bis 100 (relativ um etwa 1 zu 42 Millionen). Darum wird ein Rohwert ab 4.294.967.228 verworfen und ein neuer genommen. Danach hat jede Zahl exakt die Chance 1/101.
- Weiterdrehen. Nach jedem Zug wird der Pool unumkehrbar verändert. Wer ihn später ausliest, kann frühere Ergebnisse nicht zurückrechnen.
Ehrliche Einordnung
- Schon eine Quelle reicht. Der Zufallsgenerator des Betriebssystems ist für sich allein kryptografisch sicher. Die übrigen Quellen machen das Ergebnis nicht „zufälliger“, sondern robuster: Fällt eine aus oder ist manipuliert, tragen die anderen.
- Öffentlich heißt nicht geheim. Die Werte von drand und NIST kann jeder abrufen. Sie machen dein Ergebnis unabhängig von deinem Gerät, aber nicht geheimer. ANU und random.org kennen die Bytes, die sie liefern – dein Ergebnis kennen sie trotzdem nicht, weil es mit deinen lokalen Quellen gemischt wird.
- Temperatur. Browser geben keine Temperaturwerte heraus. Ein solcher Wert wäre auch schwacher Zufall: Er ändert sich langsam und lässt sich schätzen. Wertvoll ist das Rauschen, das Wärme erzeugt. Das fangen Kamera, Mikrofon und die Takt-Messung ein.
- Echter Zufall. Den gibt es nach heutiger Physik durchaus: Quantenvorgänge sind grundsätzlich unvorhersagbar. Solche Vorgänge misst die ANU, und auch ein Teil des Kamerarauschens hat diese Ursache.
- Annahmen. Wie viel Zufall genau in Kamera-, Mikrofon- oder Zeitmessungen steckt, lässt sich nur grob schätzen. Die App verlässt sich darauf nicht, sie mischt diese Quellen nur bei. Die Sicherheit beruht auf zwei Annahmen: Mindestens eine Quelle liefert echten Zufall (der Generator des Betriebssystems tut das, wenn er korrekt arbeitet), und SHA-512 ist so robust, wie die Fachwelt annimmt.