Ein Random Number Generator liefert Werte für einen bestimmten Zweck. Kryptografische Nutzung verlangt, dass ein Angreifer sie unter den angegebenen Annahmen praktisch nicht vorhersagen kann. Physische Entropiequelle, deterministischer Generator und Betriebssystemschnittstelle sind verschiedene Schichten; die Bezeichnung RNG legt ihre Eigenschaften nicht fest.
Eine Entropiequelle liefert Unsicherheit, die Aufbereitung bereitet die Eingabe vor, und ein deterministischer Generator erzeugt Ausgaben aus internem Zustand. NIST SP 800-90C verbindet Mechanismen aus 90A mit Quellen nach 90B. Deshalb entspricht nicht jedes ausgegebene Bit einer neuen physischen Messung. [NIST SP 800-90C — RBG constructions]
Eine Folge kann statistische Tests bestehen und einem Angreifer trotzdem bekannt sein. RFC 4086 warnt vor Uhren, Seriennummern und vorhersehbaren Anfangswerten. Ein Simulationsgenerator ist daher nicht allein aufgrund seines Namens oder seiner Ausgabeverteilung für Kryptografie geeignet. [RFC 4086 — Unpredictability and weak inputs]
NIST SP 800-90B bewertet Rauschquelle, Aufbereitung und Zustandstests beim Start und im Betrieb. Diese erkennen Quellenfehler, beweisen aber nicht die Sicherheit einer ganzen Wallet. Fehlerbehandlung gehört zum Entwurf: Ausgaben eines fehlerhaften Pfads dürfen nicht stillschweigend als geprüfter Zufall gelten. [NIST SP 800-90B — Source health and failure handling]
Linux getrandom() wartet normalerweise auf die Initialisierung der urandom-Quelle. Mit GRND_NONBLOCK kann es stattdessen EAGAIN zurückgeben. Danach sind urandom-Anforderungen bis 256 Byte garantiert vollständig und ohne Signalunterbrechung lesbar; für größere gilt das nicht. Die Anwendung muss den Rückgabestatus beachten. [Linux getrandom(2) — Initialization and return behavior]
Web Crypto getRandomValues() füllt unterstützte Ganzzahl-Arrays mit kryptografisch starken Werten; mehr als 65536 Byte lösen QuotaExceededError aus. Zur Schlüsselerzeugung empfiehlt die Spezifikation generateKey(). Die vorhandene Schnittstelle belegt weder die Vertrauenswürdigkeit der Seite noch schützt sie Geheimnisse vor zugriffsberechtigtem Code. [W3C Web Crypto — getRandomValues and key generation]
BIP39 kodiert zunächst 128 bis 256 Bit Anfangsentropie mit einer abgeleiteten Prüfsumme. Erst danach wird aus den Wörtern und einer optionalen Passphrase per PBKDF2 ein 512-Bit-Seed abgeleitet. Weder Prüfsumme noch längere Ausgabe beheben vorhersagbare Eingaben; selbst gewählte Wörter ersetzen keine Zufallserzeugung. [BIP39 — Initial entropy and mnemonic-to-seed derivation]
Ein deterministischer Generator braucht geschützten Zustand und korrekte Initialisierung. NIST SP 800-90A unterscheidet Instanziierung, Erzeugung, erneutes Seeden und Auflösung der Instanz. Erholung nach Offenlegung des Zustands verlangt einen geeigneten Mechanismus und frische, dem Angreifer unbekannte Entropie; ein weiterer Aufruf garantiert sie nicht allgemein. [NIST SP 800-90A Rev. 1 — DRBG lifecycle and reseeding]
Die Prüfung sollte Quelle, Algorithmus, Initialisierung, Schnittstelle und Fehlerverhalten der untersuchten Version benennen. Bezeichnungen wie Hardware oder offline belegen diese Kette nicht. Die zitierten Standards erklären Anforderungen an die Erzeugung; sie zertifizieren keine konkrete Wallet und verhindern kein späteres Auslesen ihrer Sicherung. [NIST SP 800-90C — RBG constructions] [RFC 4086 — Unpredictability and weak inputs]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Cryptographic Entropy, CSPRNG, Seed Generation, Brute Force Search Space. Auf diesen Eintrag verweisen außerdem CSPRNG, Deterministic RNG, True Random Number Generator, Seed Generation.