Der Blum-Micali-Generator ist ein von Manuel Blum und Silvio Micali entwickelter kryptographisch sicherer Zufallszahlengenerator.[1]

Der Generator basiert auf einer generischen Konstruktion von Blum und Micali, die eine Einwegpermutation   und ein Hardcoreprädikat   für   benötigt. Ein Hardcoreprädikat ist eine Funktion   mit der Eigenschaft, dass es praktisch unmöglich ist, aus   das Bit   zu berechnen. Aus einem zufälligen Startwert   wird zuerst durch die Vorschrift   eine Folge abgeleitet. Die Folge der zufälligen Bits ist dann die Folge  .

Konstruktion

Bearbeiten

Bei der konkreten Konstruktion wird als Einwegpermutation die diskrete Exponentiation genutzt. Als Parameter wird zuerst eine Primzahl   gewählt, die eine zyklische Gruppe   festlegt. Aus dieser multiplikativen Gruppe wird ein zufälliges Element   gewählt, das auch gleichzeitig ein Generator ist (da die Wahrscheinlichkeit, dass die 1 gewählt wird, vernachlässigbar klein ist). Die Funktion   ist nun die diskrete Exponentiation  . Sie ist eine Permutation, da sowohl   als auch   in   liegen und   ein Generator ist.

Ausgehend von einem zufälligen   wird nun wie oben beschrieben mittels   eine Folge   definiert. Das benötigte Hardcoreprädikat für   ist die Funktion  , die 1 ausgibt, falls  , und 0 sonst. Die vom Generator erzeugte pseudozufällige Bitfolge ist also  .

Sicherheit

Bearbeiten

Das Verfahren ist beweisbar sicher unter der Annahme, dass es schwierig ist, diskrete Logarithmen zu berechnen. Wenn ein Algorithmus ein Bit   dieser Folge mit Wahrscheinlichkeit besser als   vorhersagen kann, so kann daraus ein Algorithmus konstruiert werden, der in der Gruppe   in probabilistischer Polynomialzeit diskrete Logarithmen berechnen kann.

Einzelnachweise

Bearbeiten
  1. Manuel Blum and Silvio Micali: How to Generate Cryptographically Strong Sequences of Pseudorandom Bits. In: SIAM Journal on Computing. Band 13, Nr. 4, 1984, S. 850–864 (mit.edu [PDF]).
Bearbeiten