Was ist ein Zufallszahlengenerator?

  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)Echte Zufallszahlengeneratoren 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 Physikalischer Zufallszahlengenerator 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

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 Mersenne-Twister 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.