Zufallszahlen in der Informationstechnologie

Zufallszahlen

Die Bedeutung der Zufalls

Zufallszahlen finden breite Anwendung in Bereichen wie Kryptographie, statistischer Abtastung, vollständig randomisiertem Design, Computersimulation und anderen Anwendungen. Um zu verstehen, warum nicht alle Zufallszahlen wirklich zufällig generiert sind und welche Bedrohung sogenannte Pseudozufallszahlen darstellen, solltest Du zunächst ein wenig über die Zufallszahlen selbst und ihre Verwendung in sicheren Systemen wissen.

Was versteht man unter Zufallszahlen und einem Zufallszahlengenerator in der Informatik?

Zufallszahlen werden seit vielen tausend Jahren verwendet. Egal, ob eine Münze geworfen oder ein Würfel gewürfelt wird, das Endergebnis muss dem Zufall überlassen werden. Software- oder Hardwarebasierte Zufallszahlengeneratoren sind diesem Prozess im Grudnsatz ähnlich. Auch hier wird versucht, ein zufälliges und unvorhersehbares Ergebnis zu erzeugen.

Eine Zufallszahl ist eine Zahl, die unter Verwendung einer großen Anzahl von Zahlen und eines mathematischen Algorithmus generiert wird, der allen in der angegebenen Verteilung vorkommenden Zahlen die gleiche Wahrscheinlichkeit gibt. Zufallszahlen werden am häufigsten mit Hilfe eines Zufallszahlengenerators erzeugt. Zufallszahlen haben wichtige Anwendungen, insbesondere in der Kryptographie, wo sie als Bestandteile von Verschlüsselungsmechanismen dienen.

Eine der wichtigsten Voraussetzungen für eine Zufallszahl ist ihre absolute Unabhängigkeit von anderen zufällig generierten Zahlen. Dadurch wird sichergestellt, dass keine Korrelation zwischen aufeinanderfolgenden Zahlen hergestellt werden kann. Es ist außerdem von großer Bedeutung, dass die Häufigkeit des Auftretens aller Zufallszahlen in etwa gleich ist. Infolgedessen ist es theoretisch nicht einfach, eine lange Zufallszahl zu erzeugen.

Videos von YouTube werden aus Gründen des Datenschutzes erst angezeigt, wenn die Entsprechenden Cookies akzeptiert wurden. Bitte akzeptiere statistik, Marketing cookies, um das Video zu sehen.

Wie werden Zufallszahlen generiert?

Zufallszahlen können mithilfe von Software und Hardware generiert werden. Du fragst Dich vielleicht, wie ein Computer tatsächlich eine Zufallszahl erzeugen kann. Woher kommt diese Zufälligkeit? Ist es nicht möglich, dass die vom Computer generierten Zahlen vorhersehbar sind, wenn es sich nur um einen Algorithmus handelt, der diese Zufallszahlen generiert? In der Regel werden Zufallszahlen daher in zwei Gruppen eingeteilt. je nachdem, wie sie generiert werden. Dabei wird zwischen echten Zufallszahlen und sogenannten Pseudozufallszahlen unterschieden.

Computergenerierte Zufallszahlen werden manchmal als Pseudozufallszahlen bezeichnet. Bei der Erzeugung von Zufallszahlen gibt es viele Methoden wie zum Beispiel die lineare Kongruenzmethode zur Erzeugung von Pseudozufallszahlen. Zufallszahlen, die durch Hardware oder physikalische Phänomene erzeugt werden, gelten als wirklich zufallsgenerierte Zahlen.
Wahre Zufallszahlen

Um eine echte Zufallszahl zu generieren, misst der Computer eine Art physikalisches Phänomen, das außerhalb des Computers auftritt. Die Entropie ist hierbei ein Maß für die Zufälligkeit in einem System. Eine Entropiequelle ist ein Vorgang, durch den die Zufälligkeit in einem physikalischen System gewonnen wird.

Zum Beispiel könnte der radioaktive Zerfall eines Atoms von einem Computer gemessen werden. Nach den Gesetzen der Quantentheorie ist es nicht möglich, genau zu wissen, wann und wie dieser radioaktive Zerfall voranschreiten wird. Dies ist also im Wesentlichen eine reine Zufälligkeit, die in der Natur auftritt. Auch ein Hacker könnte in diesem Fall den Verlauf des radioaktiven Zerfalls eines Atoms nicht vorhersagen. Er kann deshalb einen auf diesem Prozess basierenden Zufallswert nicht ermitteln.

Das Errechnen von Zufallszahlen kann viel Rechenleistung erfordern.

In einem alltäglicheren Beispiel könnte sich der Computer auf Umgebungsgeräusche verlassen oder einfach die genaue Zeit verwenden, zu der Du Tasten auf Deiner Tastatur drückst, um unvorhersehbare Daten oder Entropien zu erhalten. Beispielsweise stellt Dein Computer in diesem Szenario fest, dass Du eine Taste genau um 0.2671982 Sekunden nach 14.00 Uhr gedrückt hast. Hieraus lässt sich in einem längeren Beobachtungszeitraum eine Entropiequelle erstellen, mit der ein wahrer Zufall erzeugt werden kann. Ein menschlicher Nutzer ist keine Maschine, die vorhersehbare Aktionen ausführt. Daher kann ein Hacker niemals genau vorhersehen, wann eine Taste durch einen menschlichen Nutzer gedrückt wird.

Das erzeugen von Zufallszahlen ist eine Wissenschaft für sich, ganze Studiengänge beschäftigen sich zu großen Teilen mit dieser Thematik.

Pseudozufallszahlen

Pseudozufallszahlen sind eine Alternative zu echten Zufallszahlen. Sie werden mithilfe einer Software generiert, der ein Algorithmus zugrunde liegt. Ein Computer kann in diesem Fall also einen Startwert und einen Algorithmus verwenden, um Zahlen zu generieren, die zufällig erscheinen, aber tatsächlich vorhersehbar sind. Der Computer sammelt dabei keine zufälligen Daten aus der Umgebung.

Besonders leistungsfähige Algorithmen werden in der Kryptografie sowie in monetär bedeutsamen Spielen benötigt. Bei letzterem ist beispielweise die Merkur Software für Casino Spieler ein Meilenstein der Verwendung von Zufallszahlen

Die Generierung von Pseudozufallszahlen ist nicht unbedingt in jeder Situation von Nachteil. Wenn Du zum Beispiel ein Videospiel spielst, spielt es keine Rolle, ob das Eintreten von Ereignissen im Spiel auf echten Zufallszahlen oder Pseudozufallszahlen basiert. Wenn Du hingegen eine Verschlüsselung verwendest, sollten hierbei im Idealfall keine Pseudozufallszahlen zur Anwendung kommen, die ein Hacker bei einem Angriff knacken könnte.

Pseudozufallszahlengeneratoren verwenden Algorithmen, um Folgen von Zahlen zu erzeugen, die zufällig aussehen. Wenn ein Hacker jedoch den zugrunde liegenden Algorithmus und den Startwert, den ein Pseudozufallszahlengenerator verwendet, kennt, sind die dadurch erzeugten Zufallszahlen vollständig vorhersehbar.

Ein Verschlüsselungsalgorithmus erhält durch einen Algorithmus eine Pseudozufallszahl und generiert daraus eine Verschlüsselung, ohne dass zusätzliche Zufälligkeiten hinzugefügt werden. Wenn ein Angreifer genug weiß, kann er aus diesen Informationen Rückschlüsse ziehen und die Pseudozufallszahl ermitteln, die der Verschlüsselungsalgorithmus auswählt, um die Verschlüsselung zu unterbrechen.

Videos von YouTube werden aus Gründen des Datenschutzes erst angezeigt, wenn die Entsprechenden Cookies akzeptiert wurden. Bitte akzeptiere statistik, Marketing cookies, um das Video zu sehen.

Wofür werden Zufallszahlen in der Informationstechnologie verwendet?

Zufallszahlengeneratoren sind in der Informationstechnologie für viele verschiedene Zwecke nützlich. Zu den ersten und offensichtlichen Anwendungen gehört die der Erzeugung von Zufallszahlen für Glücksspiele oder der Erzeugung unvorhersehbarer Ergebnisse in einem Computerspiel. Dabei sind die Breite der Anwendungen von Zufallszahlen in der Informationstechnologie weiter als von vielen angenommen. TCP / IP-Sequenznummern, TLS-Nonces, ASLR-Offsets, Kennwortverschlüsselungen und DNS-Quellportnummern basieren alle auf Zufallszahlen. Heute spielt Zufälligkeit vor allem im Bereich der Kryptographie eine entscheidende Rolle. Zufallszahlen sind also für fast alle sicheren Computersysteme von grundlegender Bedeutung.

Für die Kryptografie sind Zahlen erforderlich, die Angreifer nicht durch das Ziehen von Rückschlüssen aus einer Zahlenfolge ermitteln können. Hier können also nicht immer und immer wieder die gleichen Nummern verwendet werden. Die in einer Verschlüsselung verwendeten Zahlen müssen auf sehr unvorhersehbare Weise generiert werden, damit Hacker sie bei einem Angriff nicht ermitteln können. Solche Zufallszahlen sind für eine sichere Verschlüsselung essenziell, egal ob Du damit eigene Daten verschlüsselst oder eine SSL-verschlüsselte Website im Internet aufrufst.

In der Kryptographie bestimmt die Qualität der verwendeten Zufallszahlen direkt die Sicherheitsstärke des Systems. Die Qualität des Zufallszahlengenerators beeinflusst, wie schwierig es ist, unbefugt in das System einzudringen. Moderne Sicherheitsalgorithmen und -protokolle haben ihre kryptografische Stärke in der Anzahl der Bits (Schlüssel) ausgedrückt, die ein Angreifer ermitteln muss, bevor er das System beschädigen kann.

Wohin geht die Entwicklung von Zufallszahlen in der Zukunft? – Ein Ausblick

Die Forschung hat in den letzten Jahren gute Fortschritte bei der Entwicklung von Technologien erzielt, mit denen sich echte Zufallszahlen erzeugen und verteilen lassen. Das bedeutet, dass die Technologie sich endlich einem der größten Rätsel der Kryptografie nähert und auf dem Weg ist, eine absolut sichere Verschlüsselung zu realisieren. Was hierfür benötigt wird, ist eine Quelle echter Zufälligkeit, die schnell genug ist und von jedem Gerät verwendet werden kann. Hier kommt die Quantenmechanik ins Spiel.

Im Gegensatz zur klassischen Physik ist die Quantenphysik grundsätzlich zufällig. Es ist die einzige Theorie in der modernen Physik, die echte Zufälligkeit integriert. Durch die Messung der unvorhersehbaren Eigenschaften subatomarer Teilchen können diese Zufallsgeneratoren die Regeln der Quantenmechanik verwenden, um Nachrichten und Informationen sicher zu verschlüsseln.

Subatomare Partikel wie Elektronen und Photonen verhalten sich naturgemäß so, dass ihr Verhalten nicht vorhergesagt werden kann. Zwei Photonen, die von demselben Atom zu unterschiedlichen Zeiten, aber unter denselben Bedingungen emittiert werden, können unterschiedliche Verhaltensweisen aufweisen und es gibt keine Möglichkeit, diese Verhaltensweisen im Voraus vorherzusagen. Das heißt, dass Ergebis des Verhaltens dieser Photonen kann nicht vorhergesagt werden. Diese Unvorhersehbarkeit ist entscheidend für die Entwicklung eines Zufallszahlengenerators.

Quanten-Zufallszahlengeneratoren verwenden diese Quanten-Zufallseigenschaften, um echte Zufallszahlen zu generieren. Darüber hinaus haben die sogenannten Quantum Random Number Generators (QRNG) den Vorteil, dass sie gegenüber herkömmlichen Zufallsquellen unempfindlich gegenüber Umgebungsstörungen sind und eine Überprüfung des Status in Echtzeit ermöglichen.

Rückmeldungen