Blog post

Grundlagen: Random Number Generator – Zufallszahlen generieren

Anna Lena Fehlhaber

Für die Verwendung von Zufallszahlen existieren diverse Einsatzgebiete, und um diese zu erzeugen wurden Random Number Generator (RNG) entwickelt.

Für kryptologische Operationen kommen jedoch die signifkant häufig verwendeten Pseudo Random Number Generator (PRNG) wegen ihrer als kritisch einzuschätzenden Sicherheit nicht in Frage. Trotz der Vielzahl an existenten Generatoren von Zufallszahlen können viele RNG einem kryptanalytischen Angriff nicht widerstehen, weshalb auf spezielle TRNG oder CSPRNG ausgewichen wird. Letztgenannte wurden exklusiv für das Einsatzgebiet Kryptologie entwickelt.

Es können drei Typen von Random Number Generator unterschieden werden:

True Random Number Generator (TRNG):

Echte Zufallszahlen dürfen, um ihrer Definition gerecht zu werden, weder vorhersagbar noch reproduzierbar sein. Das bedeutet, dass mathematische Kausalitäten ausgeschlossen sein müssen. Die Erzeugung echten Zufalls ist schwierig. Selbst die häufig zitierten physikalischen Zufallsgeneratoren sind nicht immer TRNG. Der Wurf einer Münze oder eines Würfels kann unter Idealbedingungen einen TRNG sein, in der Realität erzeugen Abnutzungen der Oberfläche oder die Technik, mit der Münze oder Würfel geworfen werden, Veränderungen der Wahrscheinlichkeit. Eine Ausnahme bilden quantenmechanische Prozesse, die auf echtem Zufall beruhen. Impulsschwankungen elektronischer Schaltungen oder radioaktive Zerfallsprozesse sind weitere Beispiele für die Ableitung echter Zufallszahlen.

Pseudo Random Number Generator (PRNG):

Pseudozufallszahlen wirken wie Zufallszahlen, ohne aber tatsächlich zufällig erzeugt worden zu sein. Die Kongruenzgeneratoren, die eine Klasse verschiedener Algorithmen zur Generierung von Pseudozufallszahlen beschreibt, simulieren lediglich Zufälligkeit. In den meisten Bereichen sind diese durch ihre guten statischen Werte vollkommen ausreichend, um Zufall vorzutäuschen, beispielsweise bei der Auswahl von Stichproben, oder aber der Wiedergabe von Audio-Playlists. Sie besitzen einen sogenannten Seed, der den Anfangswert bildet und von dem aus weitere Werte erzeugt werden. Da sich PRNG rein deterministisch verhalten kann ein potentieller Angreifer mit der Kenntnis des Seeds und der mathematischen Funktion, mit der die folgenden Werte abgeleitet werden, folgende Pseudozufallszahlen vorhersagen. Zur Überprüfung des Verhaltens von PRNG kann beispielsweise der Chi-Quadrat Test oder der Kolmogorow-Smirnow-Test genutzt werden.

Cryptographically Secure Random Number Generator (CSPRNG):

Kryptografisch sichere Pseudozufallszahlen sind nicht mathematisch vorhersagbare PRNG. Demfolgend dürfen weder die zuvor generierten Zahlen und Bits, noch die nachfolgenden in einer Abhängigkeit zu der generierten Pseudozufallszahl stehen.

 

Verwendete Literatur:

  • Johnson und Denis (2017): Kryptografie für Entwickler.
  • Menezes et al. (1996): Handbook of Applied Cryptography.
  • Paar und Pelzl (2016): Kryptografie verständlich.
  • Stallings (2013): Cryptography and Network Security: Principles and Practice, 6. überarb. Aufl..

Comments (1)

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Prev Post Next Post