Werbung

Zufallszahlengenerierung: Was sind ihre Funktionen und Einsatzgebiete?

Die digitalen Würfel rollen.

Digitale Zufallszahlen Quelle: Jaonun/Pixabay

Halt.

Nimm eine Münze und wirf sie.

Kopf oder Zahl, egal. Wichtig ist, dass du das Ergebnis nicht vorhersagen kannst. Du kannst höchstens versuchen, es zu erraten. Und das wäre in diesem Fall ziemlich einfach, weil du nur zwei Möglichkeiten hast. Aber was wäre, wenn Sie eine lange Folge von Zahlen und/oder Symbolen erraten müssten? Das wäre fast unmöglich, richtig zu werden, oder?

Zufallszahlengeneratoren RNG sind Hardwaregeräte oder Softwarealgorithmen, die jedes Mal, wenn sie aktiviert werden, eine andere Folge von Zahlen und/oder Symbolen erzeugen – ziemlich ähnlich wie beim Werfen einer Münze, aber in der digitalen Welt.

slobo/iStock

Angesichts der Tatsache, dass diese imaginäre digitale Münze so viele „Seiten“ wie nötig haben kann, um ein hohes Maß an Zufälligkeit aufrechtzuerhalten, werden moderne RNGs im Allgemeinen in Kryptografie, Computersimulationen, Online-Glücksspielen, Videospielen und vielen anderen Anwendungen verwendet.

So geht's.

Die frühe Geschichte von RNGs

Menschen haben seit der Antike Gebrauch vom Zufall gemacht. Würfel aus dem Jahr 2400 v. Chr. wurden in archäologischen Stätten in Ägypten gefunden, und pyramidenförmige Würfel mit vier Seiten stammen aus dem 3. Jahrtausend der Sumerer.

Seitdem ist viel Zeit vergangen. In der modernen Welt sind Würfeln und Münzwerfen für bestimmte Anwendungen unzureichend geworden.

Im Jahr 1947 entwickelte die RAND Corporation ein elektronisches Gerät, das mithilfe eines Zufallsimpulsgenerators Zahlen erzeugte. Anschließend veröffentlichten sie die Ergebnisse in einem Buch, das Wissenschaftlern und Forschern, die Zufallsstichproben benötigen, nützlich sein sollte.

Das britische ElektrotechnikunternehmenFerranti GmbH dem Ferranti Mark 1, dem weltweit ersten, einen Zufallszahlengenerator hinzugefügt kommerziell erhältlicher Allzweck-Digitalcomputer, der im Februar 1951 verfügbar wurde einen Monat vor dem UNIVAC I. Der eingebaute RNG verwendete elektrisches Rauschen, um bis zu 20 zufällige Ziffern gleichzeitig zu erzeugen.

Werbung

In einer Abhandlung von 1946, ungarisch-amerikanischer Mathematiker und InformatikerJohn von Neumann offenbarte seine Middle-Square-Methode zum Erhalten von Zufallszahlen basierend auf einem anfänglichen zufälligen Seed-Wert. Durch Quadrieren dieses anfänglichen Seed-Werts und mehrmaliges Ausschneiden seiner mittleren Ziffern konnten Wissenschaftler eine pseudozufällige Folge von Zahlen erreichen. Dies ist das erste algorithmische RNGDer Ansatz von Von Neumann war jedoch kein echter Zufallszahlengenerator, da die Sequenz schließlich in einen kurzen, sich wiederholenden Zahlenzyklus fallen würde, unabhängig davon, mit welchem ​​​​Startwert begonnen wurde.

1957, die ehemaligen Codeknacker von Bletchley Park Tommy-Blumen und Harry Fensom erfand ERNIE Electronic Random Number Indicator Equipment, um es für die Premium Bond Lotterie im Vereinigten Königreich zu verwenden. ERNIE produzierte 50 Zufallsziffern pro Sekunde, die verwendet wurden, um die Gewinnzahlen der British Saving Bonds Lottery zu bestimmen. ObwohlEs hat seitdem viele Upgrades erfahren, ERNIE wird noch heute für die gleichen Zwecke verwendet.

Werbung

Um Zyklen wie in Von Neumanns System zu vermeiden, entwickelte der Mathematiker DH a linearer Kongruenzgenerator LCG im Jahr 1949, das einen sehr, sehr großen Zeitraum für den Zyklus und die Zeit als Startwert verwendete. Genannt Der Central Randomizer, er wurde in JavaScript 1.0 verwendet.

Danach wurde eine Vielzahl echter RNGs entwickelt, darunter einer, der auf den Bewegungen einer Lavalampe basiert.

Wie funktioniert ein Zufallszahlengenerator?

Wie oben erwähnt, werden heute sowohl Hardwaregeräte als auch Softwarealgorithmen verwendet, um Zufallszahlen zu erzeugen. Um zu verstehen, wie RNGs funktionieren, müssen wir diese beiden unterschiedlichen Methoden der Zufallszahlengenerierung untersuchen.

Hardware-Zufallszahlengeneratoren HRNG werden auch echte Zufallszahlengeneratoren TRNG genannt. Dies liegt daran, dass sie verlassen sich auf körperliche Veränderungen mit zufälligen Eigenschaften, um eine bestimmte Anzahl zufälliger Bits pro Sekunde zu erzeugen.

Werbung
Hardware-Zufallszahlengenerator. Quelle: Gareth Halfacree/Wikimedia Commons

Zum Beispiel können HRNGs atmosphärisches Rauschen durch einen Funkempfänger, thermisches Rauschen von einem Widerstand, Lawinenrauschen oder Zener-Durchbruchrauschen von Dioden usw. messen. Oder sie können quantenmechanische physikalische Zufälligkeiten in einem radioaktiven Zerfallsprozess mit einem Geigerzähler erkennen,Schwankungen der Vakuumenergie durch Homodyndetektion, Poisson-Rauschen in elektronischen Schaltungen, Photonen in halbdurchlässigen Spiegeln und verstärkte Signale von in Sperrrichtung vorgespannten Transistoren über Quantentunneln durch Energielücken und andere Quellen.

Alle diese Naturereignissewerden als chaotisch angesehen. HRNGS wurden entwickelt, um diese Entropie zu messen und für die Generierung von Zufallszahlen zu nutzen.

Im Gegensatz dazu greifen softwarebasierte RNGs auf Algorithmen zurück, um den Randomisierungsprozess auszuführen. Ein Algorithmus ist ein begrenzter Satz von Anweisungen. Ein Algorithmus in RNG impliziert eine Reihe mathematischer Operationen, die an einem zufälligen Startwert oder anfänglichen,Da dies die endgültigen zufälligen Bitsequenzen beeinflussen kann, wie beim Von-Neumann-Algorithmus, wird angenommen, dass softwarebasierte RNGs nicht wirklich zufällig sind, sondern nur den Zufall emulieren. Daher werden sie als Pseudozufallszahlengeneratoren PRNG bezeichnet.

Werbung

Tatsächlich schrieb John von Neumann das „jeder, der arithmetische Methoden zur Erzeugung von Zufallsziffern in Betracht zieht, ist natürlich in einem Zustand der Sünde“. Pseudozufallszahlengeneratoren sind deterministisch. Da sie eine endliche Anzahl von Zuständen haben definiert durch den Algorithmus und die Seed-Nummer, können sie am Ende eine Folge von Bits wiederholen und/oder das mögliche Ergebnis des Randomisierungsprozesseswerden mit der Zeit vorhersehbar.

PRNGs sind jedoch viel schneller als HRNGs, und das Maß an Zufälligkeit, das sie bieten können, ist für bestimmte Anwendungen immer noch nützlich.

Kryptografisch sichere Pseudozufallszahlengeneratoren

Kryptographie ist die Praxis und das Studium von Techniken zur Chiffrierung und Kodierung von Daten und Kommunikation, um sie privat zu halten.

Da es sich um einen Bereich handelt, der darauf abzielt, Informationen für unbefugte Benutzer unzugänglich zu machen, stützt sich die Kryptographie häufig auf die Generierung von Zufallszahlen, um beispielsweise die Schlüssel zu erzeugen, die zum Verschlüsseln von Daten verwendet werden, Nonces nicht wiederverwendbare, willkürliche Zahlen.B. für Anfangswerte oder Authentifizierungsprotokolle für kryptografisch geschützte Kommunikation, One-Time-Pads usw.

Werbung

Wie Sie sich vorstellen können, erfordert diese Anwendung eine hochsichere, unvorhersehbare Generierung von Zufallszahlen. Gängige Pseudozufallszahlengeneratoren sind nicht ausreichend sicher, und Hardware-Zahlengeneratoren sind nicht ausreichend schnell oder werden durch die verfügbare Entropie begrenzt.Daher sind sie im Allgemeinen nicht für die Kryptografie geeignet.

Aufgrund dieser Nachteile verwenden Kryptographen einen hybriden Ansatz, der sowohl mit natürlicher Entropie als auch mit Computeralgorithmen kombiniert arbeitet. Diese Art der Zufallszahlengenerierung wird als kryptografisch sichere Pseudozufallszahlengenerierung CSPRNG bezeichnet.

CSPRNGs extrahieren zufällige Bits aus physikalischen Ereignissen, die in einer Maschine stattfinden z. B. von einem On-Chip-Thermal-Noise-Generator und codieren sie mit einer Hash-Funktion, die für die Kryptografie geeignet ist. Dann verhalten sich CPRNGs wie normale PRNGs und wenden einen Algorithmus anzu diesem chaotischen Anfangssamen, um zusätzliche und noch unvorhersehbarere Zufallszahlen zu generieren.

Werbung

Linux CPRNG ist beispielsweise in Secure Shell-Protokollen, Webservern und VPN-Servern im Einsatz.

RNG beim Spielen

Zufälligkeit belebt viele Spiele. Denken Sie an Brettspiele oder Casinospiele die Würfel oder Karten verwenden. Die digitale Version dieser Spiele simuliert das Rollen der Würfel oder das Mischen der Karten durch PRNG.

In Videospielen werden PRNGs verwendet, um ein hohes Maß an Unvorhersehbarkeit aufrechtzuerhalten und den Wiederspielwert des Spiels zu erhöhen, während sie gleichzeitig Zeit und Mühe für die Entwickler sparen, da es für sie viel einfacher ist, die Beute zufällig zu verteilen, anstatt jeden einzelnen Feind zu programmierendes Spiels wird zum Beispiel fallen gelassen, wenn er getötet wird.

RNG in Videospielen kann auch angewendet werden, um zu bestimmen, welchen Gegenstand der Spieler aus einer Truhe erhält, auf welche zufälligen Ereignisse er in einem Open-World-Spiel stoßen wird einschließlich Wetteränderungen und wann und ob der Spieler einen kritischen Treffer landen wirdwährend eines Kampfes und andere Verwendungen.

Folgen Sie uns auf

ERHALTEN SIE IHRE TÄGLICHEN NACHRICHTEN DIREKT IN IHREM INBOX

Bleiben Sie kostenlos mit den neuesten Nachrichten aus Wissenschaft, Technologie und Innovation auf dem Laufenden :

Durch das Abonnieren stimmen Sie unseren zuNutzungsbedingungen und Datenschutzerklärung. Sie können sich jederzeit abmelden.