Diskreter Logarithmus

gx=a in Fpg^x=a \text { in } \mathbb{F}_p

xx heißt diskreter Logarithmus von aa zur Basis gg modulo pp.

xx ist natürlich nur modulo der Ordnung von gg bestimmt, deswegen können wir xx auch direkt auf 0xordp(g)10\leq x\leq \operatorname{ord}_p(g)-1 beschränken.

Wenn pp eine Primzahl ist, dann ist die Gleichung genau dann lösbar, wenn

ordp(a)ordp(g).\operatorname{ord}_p(a)\mid \operatorname{ord}_p(g).

gxg^x können wir sehr schnell mit der Square-And-Multiply-Methode berechnen. Wie kommen wir aber auf das richtige xx ?

Naive Berechnung