Index-Calculus-Algorithmus

Aus testwiki
Zur Navigation springen Zur Suche springen

Der Index-Calculus-Algorithmus ist ein Algorithmus zur Berechnung des diskreten Logarithmus. x=logαβ

Vorgehensweise

Es sei G eine endliche zyklische Gruppe der Ordnung n, die durch α erzeugt wird.
Es sei S={p1,p2,...,pt} (die Faktorbasis) eine Untermenge von G mit der Eigenschaft, dass ein bedeutender Teil der Gruppenelemente sich als Produkt der Elemente in S schreiben lässt.

1. Schritt

Es wird eine Zufallszahl a gewählt und versucht αa als Produkt der Elemente aus der Faktorbasis S zu schreiben:
αa=i=1tpiλi

Wenn eine entsprechende Darstellung gefunden wurde, kann eine lineare Kongruenz gebildet werden.
ai=1tλilogαpimodn

Wenn eine genügend große Anzahl (t) an Relationen gefunden wurde, kann erwartet werden, dass das zugehörige lineare Gleichungssystem eine eindeutige Lösung für die Unbekannten logαpi mit 1it besitzt.

2. Schritt

In diesem Schritt werden die individuellen Logarithmen in G berechnet. βG ist gegeben. Es werden solange Zufallszahlen s gewählt, bis αsβ sich als Produkt von Elementen aus S schreiben lässt:
αsβ=i=1ntpibi
Es gilt:
logαβ=i=1tbilogαpismodn