- Blum-Micali-Generator
-
Der Blum-Micali-Generator ist ein von Manuel Blum und Silvio Micali entwickelter kryptographisch sicherer Zufallszahlengenerator.[1]
Inhaltsverzeichnis
Prinzip
Der Generator basiert auf einer generischen Konstruktion von Blum und Micali, die eine Einwegpermutation
und ein Hardcoreprädikat B für f benötigt. Ein Hardcoreprädikat ist eine Funktion
mit der Eigenschaft, dass es praktisch unmöglich ist, aus f(x) das Bit B(x) zu berechnen. Aus einem zufälligen Startwert
wird zuerst durch die Vorschrift xi + 1 = f(xi) eine Folge abgeleitet. Die Folge der zufälligen Bits ist dann die Folge B(xi).Konstruktion
Bei der konkreten Konstruktion wird als Einwegpermutation die diskrete Exponentiation genutzt. Als Parameter wird zuerst eine Primzahl p gewählt, die eine zyklische Gruppe
festlegt. Aus dieser multiplikativen Gruppe wird ein zufälliges Element g gewählt, das auch gleichzeitig ein Generator ist (da die Wahrscheinlichkeit, dass die 1 gewählt wird, vernachlässigbar klein ist). Die Funktion f ist nun die diskrete Exponentiation
. Sie ist eine Permutation, da sowohl x als auch gx in
liegen und g ein Generator ist.Ausgehend von einem zufälligen x0 wird nun wie oben beschrieben mittels f eine Folge
definiert. Das benötigte Hardcoreprädikat für f ist die Funktion B(x), die 1 ausgibt, falls
, und 0 sonst. Die vom Generator erzeugte pseudozufällige Bitfolge ist also B(xi).Sicherheit
Das Verfahren ist beweisbar sicher unter der Annahme, dass es schwierig ist, diskrete Logarithmen zu berechnen. Wenn ein Algorithmus ein Bit B(xi) dieser Folge mit Wahrscheinlichkeit besser als 1 / 2 vorhersagen kann, so kann daraus ein Algorithmus konstruiert werden, der in der Gruppe
in probabilistischer Polynomialzeit diskrete Logarithmen berechnen kann.Einzelnachweise
- ↑ Manuel Blum and Silvio Micali: How to Generate Cryptographically Strong Sequences of Pseudorandom Bits. In: SIAM Journal on Computing. 13, Nr. 4, 1984, S. 850–864 (http://www.csee.wvu.edu/~xinl/library/papers/comp/Blum_FOCS1982.pdf).
Weblinks
Kategorien:- Kryptologisches Verfahren
- Pseudozufallszahlengenerator
Wikimedia Foundation.