Krenn, S. (2007). Pseudozufallszahlengeneratoren und ihre Anwendung in der Kryptographie [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/181960
Random number generators; Pseudorandom number generators; Randomness; Random numbers; Pseudorandom numbers
en
Abstract:
Datenverschlüsselung, numerische Analysis, Simulationen - dies sind nur einige der Gebiete, in welchen der Zufall eine bedeutende Rolle spielt. Seit nunmehr über einem Jahrhundert befassen sich Mathematiker damit, wie nun der Zufall selbst zu simulieren sei, da das Durchfüuhren echter Zufallsexperimente eine oft viel zu umfangreiche Aufgabe darstellt. Man sucht daher nach deterministischen Verfahren, deren Ergebnisse echtem Zufall so nahe wie nur irgendwie möglich kommen.<br />Kapitel 1 gibt einen kurzen Überblick, wie man echte Zufallszahlen gewinnen könnte. Außerdem werden einige historische Ideen angegeben, wie man Pseudozufallszahlen gewinnen kann. In den Kapiteln 2 und 3 werden konkrete Verfahren besprochen, Zufallszahlen zu generieren. Es wird auf die grundlegenden Vor- und Nachteile der einzelnen Generatoren eingegangen, sowie auf das Problem der Unvorhersagbarkeit - und damit unmittelbar auf das der Einsetzbarkeit für krptographische Zwecke. In Abschnitt 4 werden einige Möglichkeiten angegeben, Folgen auf ihre Qualität hin zu überprüfen. Die letzten beiden Kapitel befassen sich mit einigen ausgewählten Anwendungen von Pseudozufallszahlen. Ersteres ist dem Gebiet der Kryptographie gewidmet, zweiteres allgemeinen Anwendungen. Außerdem wird hier auch erklärt, wie man andere als uniform verteilte Zufallsgrößen gewinnen kann. Im Anhang werden schließlich Implementierungen der Generatoren und Tests in C# angeführt. Außerdem findet man dort eine BigInteger-Klasse, ohne der man nur mit maximal 64 Bit großen Zahlen rechnen könnte.<br />
de
Random numbers are used in lots of different applications, such as cryptography, numerical analysis and simulation.<br />Chapter 1 gives a short introduction into how to create real random numbers, and what pseudorandomness means. Moreover some historical important examples are given there. In chapters 2 and 3 some pseudorandom number generators are presented, whereas chapter 2 handles generators, which produce uniform distributed random numbers in [0,1).<br />Chapter 3 explains how to generate random bits, and explains, which of the generators mentioned are cryptographically secure.<br />In chapter 4 some testing procedures are presented, which explain, how to test the generated sequences.<br />The last two sections give some applications of pseudorandom numbers.<br />The first is dedicated to cryptography, the second to general applications. Furthermore, it's explained how to create non-uniform distributed sequences there.<br />Finally, in the appendix one can find an implementation of some generators and some test procedures. Furthermore, a BigInteger class is presented there. The implementations were made C#.NET 2.0.