E. D¨uck (11. Juli 2017) Diskrete Logarithmen
1 Das DL-Problem
Sei Geine endliche zyklische Gruppe der Ordnung n, wobei nbekannt ist. Dabei sei γ ein Erzeuger der Gruppe G undαsei ein Gruppenelement. Wir suchen die kleinste nicht negative Zahlxf¨ur die Gleichung
α=γx. (1)
Die Zahlxwird alsdiskreter Logarithmus vonαzur Basisγbezeichnet, wir schreiben daher auch:x=logγα.
2 Enumeration
Beim Enumerationsverfahren, dem einfachsten Verfahren, den diskreten Algorithmus zu berechnen, pr¨uft man f¨ur x= 0,1,2,3, ..., ob die Gleichungα=γx erf¨ullt ist, denn dann ist das DL-Problem gel¨ost.
3 Shanks Babystep-Giantstep-Algorithmus
Bei diesem Verfahren setzt manm=d√
neundx=qm+r, 0≤r < m. Dabei stellt qden Quotienten von mx undr den Rest dieser Division dar. Durch Einsetzen erh¨alt man:
αγ−r= (γm)q (2)
Um nun die Babysteps zu berechnen, m¨ussen wir zun¨achst das multiplikative Inverse von γ mithilfe deserweiterten euklidischen Algorithmus berechnen. Die Menge der Babysteps ergibt sich durch
B={(αγ−r, r) : 0≤r < m} (3)
und wird in eine Hashtabelle aufgenommen, wobei die erste Komponente eines jeden Elementes als Schl¨ussel dient.
Dabei werden die Restklassen durch ihre kleinsten nicht negativen Vertreter dargestellt.
Wenn sich an dieser Stelle schon ein Paar bestehend aus (1, r) findet, so kann man x=rsetzen und hat somit das DL-Problem gel¨ost. Falls sich ein solches Paar nicht findet, setzt man δ = γm. Nun muss man ¨uberpr¨ufen, ob das Gruppenelementδq f¨ur q= 1,2,3, ... als erste Komponente eines Elementes in der errechneten MengeB vorkommt, das heißt, dass man die Existenz eines Paares (δq, r) in B untersucht. Die Berechnung vonδq nennt manGiantsteps.
Wenn ein solches Paar gefunden wurde, setzt manαγ−r=δq =γqm, wobei man sofort den diskreten Logarithmus erh¨alt:x=qm+r.
4 Pollard-ρ-Algorithmus
Um das DL-Problem zu l¨osen, ben¨otigt man beim Pollord-ρ-Algorithmus drei paarweise disjunkte TeilmengenG1, G2, G3 von G, dabei gelteG1∪G2∪G3=G. Fernerhin sei die Folge (βi) mitβi Gdefiniert durch
βi+1=
γβi fallsβi G1, βi2 fallsβi G2, αβi fallsβi G3,
(4)
dabei istβ0=γx0 mit zuf¨alligem Startwertx0 {1, ..., n}. Da man die Glieder der Folgeβi als
βi=γxiαyi, i≥0 (5)
darstellen kann, l¨asst sichβiauch durch die beiden Folgen (xi) und (yi) darstellen mit den Startwertenx0undy0= 0:
xi+1=
(xi+ 1) modn fallsβi G1, (2xi) modn fallsβi G2,
xi fallsβi G3
(6)
Seminar
”Kryptographie“, SS 2017,Universit¨at Koblenz-Landau
1
und
yi+1=
yi falls βi G1, (2yi) modn falls βi G2, (yi+ 1) modn falls βi G3.
(7)
DaG eine endliche Gruppe ist, muss die Folge (βi) einMatch enthalten. Ein Match tritt dann auf, wenn die Folge (βi) zwei gleiche Gruppenelementeβi=βi+k enth¨alt, miti≥0 undk≥1.
Aufgrund dessen, dass die Folge (βi)i≥0periodisch ist, wird immer ein Match gefunden. Sei (s, s+k) das erste Match;
daraus folgt, dassk >0 undβs=βs+k. Aufgrund der Konstruktion von (βi)i≥0gilt auchβs+l=βs+k+l f¨ur allel≥0.
Die Folge (βi)i≥0 hat also die Vorperiodes(β0, β1, ..., βs−1) und die Periodek(βs, βs+1, ..., βs+k−1).
F¨ur ein Matchβi=βi+k erh¨alt man durch Umformung: (xi−xi+k)≡(yi+k−yi)xmodn. Um nun das DL-Problem zu l¨osen, muss die Kongruenz gel¨ost werden, die nur dann eine eindeutige L¨osung hergibt, wennggT((yi+k−yi), n) = 1 gilt.. Falls dies nicht ganz eindeutig modnist, muss entweder ausprobiert werden oder das Verfahren mit einem neuen Startwertx0 wiederholt werden.
5 Pohlig-Hellmann-Algorithmus
BeimPohlig-Hellmann-Algorithmus wird das Problem der Berechnung des diskreten Algorithmus auf dasselbe Problem in Gruppen von Primzahlordnung reduziert, vorausgesetzt die Faktorisierung der Gruppenordnung |G| ist bekannt.
Dabei istn=|G|=Q
p|npe(p) die Primfaktorzerlegung vonn=|G|.
5.1 Reduktion auf Primzahlpotenzordnung
F¨ur jeden Primfaktorpvon ngelte:
np= n
pe(p), γp=γnp, αp=αnp. (8) Daraus folgt, dass die Ordnung von γp genau pe(p) ist; daher gilt γpx = αp. Dabei ist γp Erzeuger einer zyklischen Untergruppe vonGundαp ist ein Element dieser Untergruppe. Daraus folgt die Existenz des diskreten Logarithmus vonαpzur Basisγp.
Theorem 5.1: F¨ur alle Primfaktorenpvonnseix(p) der diskrete Logarithmus vonαp zur Basisγp. Fernerhin seix {0,1, ..., n−1}L¨osung der simultanen Kongruenzx≡x(p) modpe(p)f¨ur alle Primteilerpvonn. Daraus folgt dann, dassxder diskrete Logarithmus vonαzur Basisγ ist.
Beweis.
αp=γx(p)p (9)
⇒αnp= (γnp)x(p) (10)
⇒αnp=γnpx (11)
⇒(γ−xα)np= 1 (12)
Da (12) f¨ur alle Primfaktorenpvonngilt, ist die Ordnung des Elementesγ−xαein Teiler vonnpf¨ur jeden Primteiler pvon n. Da aber der ggT allernp gleich 1 ist, ist die Ordnung auch 1 und somit gilt auchα=γx.
F¨ur die weitere Berechnung und L¨osen der Kongruenz kann nun der Pollard-ρ-Algorithmus angewendet werden.
5.2 Reduktion auf Primzahlordnung
Das DL-Problem kann noch weiter vereinfacht werden, n¨amlich auf eine Gruppe von Primzahlordnung.
Sei |G| = n = pe f¨ur eine Primzahl p. In dieser Gruppe m¨ochten wir die Gleichung α = γx (1) l¨osen. Nach Theorem 2.3.3 ( Buchmann. 2016. S. 5f) ist x = x0+x1p+...+xe−1pe−1, 0 ≤ xi < p, 0 ≤ i ≤ e−1. Nach Potenzierung der Gleichung γx = α mit pe−1 l¨asst sich xi, 0 ≤ i ≤ e−1 als L¨osung eines DL-Problems in einer Gruppe der Ordnung p bestimmen: αpe−1 = (γpe−1)x0. Als DL-Problem in einer Gruppe der Ordnung p l¨asst sich demnachx0 bestimmen, die anderen Elemente ermittelt man rekursiv. Wenn x0, x1, ..., xi−1 schon bestimmt sind, so gilt:γxipi+...+xe−1pe−1=αγ−(x0+x1p+...+xi−1pi−1).
Wir setzen nun das rechte Gruppenelement gleichβiund potenzieren diese Gleichung mitpe−1−i, dabei vereinfachen wir, indem wirv = (x0+x1p+...+xi−1pi−1) und y=Pe−1
i=1xipi setzen. Wir erhalten: βipe−(i+1) = (γpe−1)xi. Um x zu bestimmen, m¨ussen nuneDL-Probleme in Gruppen der Ordnungpzur Berechnung von xi gel¨ost werden.
2