Zufallszahlengenerator
(engl. random number generation, RNG) – es ist ein System, das entwickelt wurde, um eine Folge von Zahlen oder Symbolen zu erzeugen
deren Bedeutung nicht vorhersehbar ist. Eine bestimmte Folge von generierten Ergebnissen kann eine bestimmte enthalten
Muster, das nach dem Generierungsprozess nachgezeichnet wird, aber vorher nicht vorhersehbar war.
Physikalischer Zufallszahlengenerator
Um echte Zufallszahlen zu erzeugen, ein Physikalischer Zufallszahlengenerator
(engl. hardware random number generator, HRNG) verwendet oder auch Echte Zufallszahlengeneratoren genannt
(engl. true random number generator, TRNG) —

ist ein Gerät, das Zufallszahlen aus einem physikalischen Prozess erzeugt, der sich ständig in einer Weise ändert, die ist
praktisch nicht modellierbar. Solche Generatoren können auf der Verwendung makroskopischer Zufallsprozesse basieren, das heißt
auf einer Skala, die Messungen und Beobachtungen mit bloßem Auge erlaubt, zum Beispiel Münzwurf, Würfeln oder
Roulette-Räder. Obwohl ein makroskopischer Prozess nach der Newtonschen Mechanik vollständig bestimmt werden kann,
Ein gut konstruierter Mechanismus wie ein Rouletterad erzeugt ein unvorhersehbares Ergebnis, das erklärt werden kann
durch die Chaostheorie und die Instabilität dynamischer Systeme aufgrund der unterschiedlichen Anfangsbedingungen von jedem
neuer Versuch, das Rouletterad zu drehen. Der Hauptnachteil von Generatoren, die makroskopische Prozesse verwenden, hat immer
langsame Geschwindigkeit und als Ergebnis die Unfähigkeit, eine große Anzahl von Werten in kurzer Zeit zu generieren.
Heutzutage neigen Hardware-Zufallszahlengeneratoren dazu, Geräte zu verwenden, die auf mikroskopischen Phänomenen basieren

die niedrige, statistisch zufällige "Rausch"-Signale erzeugen, wie z. B. verschiedene Geräusche (Schuss, thermisch, atmosphärisch),
der photoelektrische Effekt, der einen Strahlteiler beinhaltet, und andere Quantenphänomene. Solche Prozesse sind gute Quellen
der Entropie, weil ihr Ergebnis theoretisch absolut unmöglich vorherzusagen ist, sondern aufgrund der Komplexität von
Implementierung und relativer Langsamkeit der Arbeit ist der Einsatzbereich solcher Generatoren auf Fachgebiete beschränkt
mit bestimmten Anforderungen an die generierten Werte.
Grundsätzlich werden in der Kryptographie elektronische Hardware-Zufallszahlengeneratoren verwendet, um kryptografisch Zufallszahlen zu erzeugen
Schlüssel zur Gewährleistung einer sicheren Datenübertragung, beispielsweise in Internet-Verschlüsselungsprotokollen wie dem Transportschichtsicherheit
(engl. Transport Layer Security, TLS).
Pseudozufallszahlengeneratoren

Eine Alternative zu Physikalischer Zufallszahlengeneratoren sind auf Algorithmen basierende Generatoren – Pseudozufallszahlengeneratoren
(engl. pseudo random number generator, PRNG),
die eine Zahlenfolge erzeugen, die wie zufällig aussieht, es aber tatsächlich nicht ist. Die vom PRNG generierten Zahlen
können nicht als wirklich zufällig angesehen werden, da sie vollständig durch einen Anfangswert bestimmt werden, der als Saat (meist engl. seed) bezeichnet wird. Obwohl
Die von Hardware-Zufallszahlengeneratoren erzeugte Zahlenfolge ist näher an einem echten Zufall, Pseudozufall
Nummerngeneratoren werden aufgrund ihrer Schnelligkeit bei der Nummerngenerierung in vielen Bereichen in der Praxis häufig eingesetzt
Implementierung und relative Billigkeit. Es gibt viele Methoden zum Erstellen einer Pseudozufallsfolge von Zahlen,
darunter auch der Mersenne-Twister, ein Linearer Kongruenzgenerator (engl. linear congruential generator, LCG), Xorshift-Zufallszahlengeneratoren
Genannte Schieberegistergeneratoren, die Well Equidistributed Long-Periode Linear (WELL), die eine Form von ist
Schieberegister mit linearer Rückkopplung, optimiert für die Softwareimplementierung und andere Methoden, die auf Algorithmen basieren.
Mersenne-Twister
Der Mersenne Twister ist einer der beliebtesten Pseudozufallszahlengeneratoren, der 1997 von entwickelt wurde
Makoto Matsumoto (松本眞) und Takuji Nishimura (西村拓士). Sein Name kommt von der Tatsache, dass seine
Periodenlänge als Mersenne-Zahl gewählt wird, ist es eine Primzahl der Form

für eine ganze Zahl n.
Dieses PRNG wurde speziell entwickelt, um die meisten Mängel früherer PRNGs zu beheben. Die Hauptvorteile des Mersenne Twister:
- Ein sehr langer Zeitraum von 219937 — 1
- Besteht viele statistische Zufälligkeitstests, einschließlich Diehard-Tests und die meisten, aber nicht alle TestU01-Tests
- Hat eine freizügige freie Softwarelizenz und ist für alle Varianten außer CryptMT patentfrei
- k-verteilt auf 32-Bit-Genauigkeit für jeden 1 ≤ k ≤ 623
- Implementierungen erzeugen im Allgemeinen Zufallszahlen schneller als echte (Hardware-)Generierungsmethoden
Der Mersenne Twister wird als Standard-PRNG in vielen Programmiersprachen, Software und Online-Ressourcen verwendet.
wie unseren
Online-Zufallszahlengenerator,
Dieses Verfahren ist jedoch nicht kryptographisch stark, was es nicht erlaubt, es in der Kryptographie zu verwenden.
PRNG mit Entropiequelle
Neben der Notwendigkeit, leicht reproduzierbare Folgen von Zufallszahlen schnell zu erzeugen, besteht auch eine Notwendigkeit
um völlig unvorhersehbare oder einfach völlig zufällige Zahlen zu generieren. Um beide Bedingungen zu erfüllen,
Am häufigsten werden Kombinationen aus einem kryptoresistenten PRNG und einer externen Entropiequelle verwendet, und genau diese sind es
Kombinationen von Generatoren, die heute allgemein als Zufallszahlengenerator (RNG) bezeichnet werden. Solche Generatoren sind die meisten
Wird häufig zur Generierung eindeutiger symmetrischer und asymmetrischer Schlüssel für die Verschlüsselung, die Spieleindustrie und andere Bereiche verwendet.
Ein Beispiel für den Betrieb eines kombinierten Generators ist wie folgt: ein physisches Gerät, das eine zuverlässige Quelle verwendet
von Entropie (wie thermisches Rauschen), erzeugt den gleichem Startwert (engl. seed, d. h. Saatkorn) für eine schnellere kryptografische Sicherheit
Pseudozufallszahlengenerator, der dann eine Pseudozufallsfolge mit einer viel höheren Datenrate erzeugt.