Random Number Generator
Ein PRNG (pseudorandom number generator) ist ein Algorithmus, der Zahlen in einem komplexen, scheinbar unvorhersehbaren Muster ausgibt. Wirklich zufällige Zahlen (zum Beispiel von einer radioaktiven Quelle) sind absolut unvorhersehbar, während alle Algorithmen vorhersagbar sind und ein PRNG die gleichen Zahlen zurückgibt, wenn es mit den gleichen Startparameter oder Seed ausgeführt wird.
PRNGs können für eine Vielzahl von Anwendungen genutzt werden, wie zum Beispiel Spiele.
Ein kryptographisch sicherer PRNG ist ein PRNG mit bestimmten zusätzlichen Eigenschaften, die ihn für den Einsatz in der Kryptographie geeignet machen. Dazu gehören:
- dass es rechnerisch nicht machbar ist, dass ein Angreifer (ohne Kenntnis des Seeds) seine Ausgabe vorhersagt
- dass, wenn ein Angreifer seinen aktuellen Zustand ermitteln kann, dies dem Angreifer nicht ermöglichen sollte, zuvor ausgegebene Zahlen zu ermitteln.
Die meisten PRNGs sind nicht kryptographisch sicher.
Siehe auch
- Pseudorandom number generator auf Wikipedia
Math.random()
, eine eingebaute JavaScript-PRNG-Funktion. Beachten Sie, dass dies kein kryptographisch sicherer PRNG ist.Crypto.getRandomValues()
: Dies ist darauf ausgelegt, kryptographisch sichere Zahlen bereitzustellen.