Echte Zufallszahlen

Einleitung

Echte Zufallszahlen begegnen uns heute beinahe täglich und sind die Basis verschiedener Prozesse, wie zum Beispiel dem Erstellen kryptographischer Schlüssel, der Ziehung beim Lotto oder beinahe allen Spielen in einem Casino. Im Folgenden soll zunächst eine Übersicht darüber gegeben werden, was Zufall eigentlich bedeutet und ob es ebendiesen überhaupt gibt, bevor der Unterschied zwischen Pseudo- und echten Zufallszahlen erläutert wird. Im Anschluss werden Methoden zum Erstellen echter Zufallszahlen vorgestellt und einige Anwendungen, in denen diese benötigt werden, aufgezeigt. Zum Abschluss soll dargestellt werden, warum überhaupt echte Zufallszahlen benötigt werden und wann diese den Pseudozufallszahlen vorzuziehen sind.

Der Zufall

Einstein hat den Zufall mit folgenden Worten definiert: „Zufall ist nur der Ausdruck unserer Unfähigkeit, den Dingen auf den Grund zu kommen.“ [ZIT06] Er trifft damit den Kern einer Diskussion über den Zufall, die auf einer mathematischen oder physikalischen Ebene beginnt sich über die Philosophie erstreckt und letztlich sogar unseren freien Willen in Frage stellt.

Umgangssprachlich verwenden wir das Wort Zufall, wenn wir ein Ereignis beschreiben, das auf den ersten Blick nicht kausal erklärbar ist und verwenden den Ausdruck oft synonym zu den Begriffen „unvorhersagbar“ oder „unberechenbar“. Nun kann man darüber diskutieren, ob irgendetwas in unserer Welt überhaupt unberechenbar ist. Einstein bringt mit seinem Zitat zum Ausdruck, dass er alle Vorgänge in dieser Welt für berechenbar halt, wenn man nur alle nötigen Parameter kennt. Daraus folgt unweigerlich, dass es echte Zufälle nicht geben kann, da jedes Ereignis berechenbar ist, sei es etwas einfaches wie den Ausgang eines Münzwurfes (für dessen Berechnung man relativ wenige Parameter, wie Luftdruck, Temparatur, Oberfläche der Münze, deren Bewegungsparameter und eventuelle Luftzüge benötigt), etwas komplexes wie das Wetter oder aber auch das menschliche Handeln. Dies würde auch heißen, es gäbe keine echten Zufallszahlen. Ist allerdings unser menschliches Handeln von Grund auf vorhersagbar, so stellt sich die Frage, ob wir überhaupt noch einen freien Willen haben. Nach Einstein fehlt und dieser freie Wille und es kann ihn in einem Universum, in dem es keine Zufälle gibt, auch nicht geben. Unsere Welt und unser Handeln wäre demnach deterministisch, unser Leben vorhersagbar und der Sinn unseres Daseins in Frage gestellt. [WIKI01]

Wuerfel
Abbildung 1 - Würfeln - Zufall oder deterministischer Vorgang?

Dem Widersprechen allerdings Beobachtungen aus der Quantenphysik. Ein radioaktiver Zerfall kann beispielsweise nicht genau vorhergesagt werden. Es kann zwar die durchschnittliche Anzahl der zerfallenen Teilchen nach einer bestimmten Zeit berechnet werden („Halbwertszeit“), allerdings nicht, wann genau welches Teilchen zerfällt. Man könnte nun wie Einstein vermuten, dass dies einfach an der Unfähigkeit des Menschen liegt, diesen Prozess genau zu bestimmen und das es noch verborgene Parameter gibt, die diese Berechnung ermöglichen. Allerdings hat schon 1927 Werner Heisenberg in der Heisenbergschen Unschärferelation festgestellt, dass zwei Messgrößen eines Teilchens (er bezog sich hierbei auf Ort und Impuls) nicht gleichzeitig exakt bestimmt werden könnten. Und dies liege nicht am Unvermögen des Menschen und dessen Messtechniken, sondern sei prinzipieller Natur. Dies würde bedeuten, dass es zumindest auf Elementarer Ebene Zufälle gibt.

Ein Computer als deterministische Maschine hingegen, kann grundsätzlich nicht zufällig arbeiten. Ein Computer erzeugt Pseudo-Zufallszahlen über einen bestimmten Algorithmus, der meistens mit einem sogenannten „Seed“ (deutsch: „Saat“) initialisiert wird und liefert dann Zahlen, die zufällig erscheinen, es aber in Wirklichkeit nicht sind. Diese Methode ist schnell und effizient, bietet den Vorteil, dass man bei gleicher Eingabe gleiche Zahlen geliefert bekommt (Ergebnisse also im Nachhinein wiederholbar sind) und heutige Algorithmen sind so konstruiert, dass die erzeugten Zahlen für viele Anwendungsbeispiele, beispielsweise bei Simulations- oder Modellierungsanwendungen, völlig ausreichend sind.

In der Kryptographie oder im Glücksspiel benötigt man allerdings echte Zufallszahlen, um beispielsweise bestimmte Ergebnisse mit 100%tiger Wahrscheinlichkeit nicht vorausberechnen zu können. Hierfür werden meistens physikalische Phänomene verwendet, wie atmosphärisches/thermisches Rauschen oder eben der bereits angesprochene radioaktive Zerfall. Diese Prozesse sind entweder wirklich zufällig, oder, wenn man Einstein glauben will, so chaotisch, dass es nach heutigem Stand der Technik nicht möglich ist, sie zu berechnen.

Erstellen echter Zufallszahlen

thermisches Rauschen

Thermisches Rauschen oder auch „Wärmerauschen“ ist ein physikalisches Phänomen, das in allen elektrischen Leitern auftritt. Wie alle Teilchen, bewegen sich auch Elektronen bei einer Temperatur von mehr als 0° Kelvin. Tritt diese Bewegung in einem Leiter auf, so entsteht temporär eine messbare Störung in Form von Spannungen oder Stromimpulsen. Diese Störungen treten zufällig und statistisch unabhängig voneinander auf und zeigen eine konstante Varianz (sog. „weißes Rauschen“), so dass sich dieser Prozess zum erzeugen von Zufallszahlen eignet.

Der Onlinepokeranbieter Ultimate Bet verwendet diese Technologie beispielsweise um zufällig Karten an die Spieler zu verteilen. [ULT01]

atmosphärisches Rauschen

Die Webseite „random.org“ verwendet dieses Prinzip um Zufallszahlen zu erstellen. Atmosphärisches Rauschen entsteht hauptsächlich durch elektrische Entladungen in Form von Blitzen. Weltweit gibt es ca. 100 dieser Entladungen pro Sekunde, die alle Einfluss auf die Leistung und Frequenz des Rauschens haben. Da dieser Prozess auch kaum beeinflussbar und, wenn nicht zufällig, auch nur schwer vorhersagbar ist, eignet er sich ebenfalls zum erstellen von zufälligen Zahlen.

radioaktiver Zerfall

Instabile Atomkerne „zerfallen“ nach und nach. Je nach Zerfallsart werden dabei unterschiedliche umgewandelt, die freiwerdende Energie wird in Form von Strahlung freigegeben, die sich leicht messen lässt.
Dabei schwankt die tatsächliche Anzahl der zerfallenen Teilchen in einem bestimmten Zeitraum zufällig um einen Erwartungswert. Ideale Voraussetzungen also, um zufällig Zahlen zu erstellen.
Weitere Methoden sind beispielsweise das Messen der Bewegungen in Lavalampen oder der sog. Java Entropy Pool, der zufällige Bits von verschiedenen Webseiten auswertet, darunter auch Webseiten, die die Java Entropy Pool-Seite aufrufen.

Anwendungen echter Zufallszahlen

Echte Zufallszahlen werden in verschiedenen Zusammenhängen in der Kryptographie verwendet. Beispielsweise um zufällige und damit sichere Schlüssel zu erzeugen, bei Bedarf auch in einer Länge, die gleich dem Klartext ist. Durch solch lange Schlüssel, die zudem echt zufällig sind, ist das sogenannte One-Time-Pad Verschlüsselungsverfahren möglich, das zur Nachrichtenübertragung dient und nicht knackbar ist. Bei diesem Verfahren wird jedes Zeichen des Klartextes mit einem Zeichen des Schlüssels kombiniert. Da dieser echt zufällig ist, kann der Text anschließend ohne Kenntnis des Schüssels unmöglich entschlüsselt werden.
Ein weiteres großes Anwendungsgebiet von echten Zufallszahlen ist das Glücksspiel. Wie bereits oben erwähnt benutzt der Pokeranbieter Ultimate Bet thermisches Rauschen für das zufällige Teilen der Karten, der Anbieter PokerStars verwendet, genau wie die Seite random.org, Geräte zum Messen des atmosphärischen Rauschens. Ultimate Bet erklärt den Einsatz echter Zufallszahlen unter anderem damit, dass ein herkömmlicher Pseudozufallgenerator, der mit einem 32bit langem Seed arbeitet, lediglich 4,294,967,296 verschiedene Kombinationen eines Pokerkartendecks repräsentieren könne, was nur 5*10-57% der echten Kombinationen entspräche. [ULT01]

Ein etwas vertrauterer Prozess ist beispielsweise das Ziehen der Lottozahlen. An dieser Stelle könnte man wieder argumentieren, dass, wenn man den genauen Aufbau der Ziehungstrommel, die Anordnung der Kugeln und die Geschwindigkeit, mit der die Trommel gedreht wird, berechnen könnte, welche Zahl gezogen wird, allerdings spielen hier soviele unbekannte Parameter eine Rolle, dass die Ziehung als „zufällig“ angesehen werden kann.

Um zu beweisen, dass bestimmte Methoden zufällige Ergebnisse liefern, gibt es verschieden Testverfahren, z.B. den DieHard-Test und sogar Institutionen, die die Güte von Zufallszahlen zertifizieren.

Fazit und Ausblick

Echte Zufallszahlen werden in einigen Anwendungen, wie oben beschrieben, unbedingt benötigt, um beispielsweise die Sicherheit bestimmter Verfahren zu garantieren. Für viele andere Anwendungsgebiete reichen allerdings Pseudo-Zufallszahlen aus. Diese lassen sich mit geringerem Aufwand und daher schneller und günstiger erstellen. Die heutigen Verfahren erreichen dabei Ergebnisse, die mit denen echter Zufallszahlen vergleichbar sind.

Eine sinnvolle Alternative ist auch die Kombination von Pseudo-Zufallszahlengenaratoren und vermutlich echt zufälligen Ereignissen. Dazu kann bei einer deterministischen Maschine wie dem Computer beispielsweise die aktuelle Systemzeit zum Start der Berechnungen oder verschieden Benutzereingaben, wie Tastenanschläge oder Mausbewegungen hinzugezogen werden.

Eigenschaft Pseudo-Zufallsgenerator echter Zufallsgenerator
Effizienz Hervorragend Schlecht
Determinismus Deterministisch Nicht-Deterministisch
Periodizität Periodisch Aperiodisch

Quelle: http://www.random.org/randomness

Literatur

[ZIT06] private Seite von Oliver Faulhaber, verschieden Zitate von Einstein.
http://www.oliver-faulhaber.de/einstein/zitate.htm, Stand 19.10.09
[WIKI01] Wikipedia Online-Enzyklopädie, Zufall
http://de.wikipedia.org/wiki/Zufall, Stand 19.10.09
[ULT01] Seite des Onlinepoker-Anbieters Ultimate Bet, RNG.
http://www.ultimatebet.com/support/random-number-generator, Stand19.10.09

Autor des Beitrags

Daniel Schüler