Übungsblatt

Werbung
ATK4 - Computer- und Mediensicherheit
FHS Hagenberg
11. Übungsblatt für den 13. Juni 2002
(2 Seiten)
In den ersten beiden Beispielen geht es um Wurzelziehen, damit ist in
diesem Fall immer das Ziehen von Quadratwurzeln gemeint.
1. (Wurzelziehen modulo pn )
Das Wurzelziehen modulo p haben wir bereits gelernt. Als zweiter
Schritt stellt sich nun die Frage, wie man die Wurzel modulo pn ziehen
kann. Die Antwort ist, man beginnt, indem man die Wurzel modulo
p berechnet und daraus eine Wurzel modulo p2 , daraus eine Wurzel
modulo p3 , us.w. Ich beschreibe hier eine Methode aus einer Wurzel
modulo pα−1 eine Wurzel modulo pα zu konstruieren, falls p > 2.
Angenommen, x wäre eine Wurzel von a modulo pα−1 , also x2 ≡
a mod pα−1 . Wir suchen eine Zahl y, die Wurzel von a modulo pα
ist, also y 2 ≡ a mod pα und die modulo pα−1 gleich x ist. Es lässt
sich also schreiben als y ≡ x + kpα−1 mod pα , wobei 0 ≤ k < p
ist. x2 lässt sich modulo pα schreiben als x2 ≡ a + bpα−1 mod pα ,
wobei 0 ≤ a < pα−1 und 0 ≤ b < p. Nun ist y 2 = (x + kpα−1 )2 ≡
x2 + 2xkpα−1 + p2α−2 ≡ x2 + 2xkpα−1 = a + bpα−1 + 2xkpα−1 ≡
a + pα−1 (b + 2xk) mod pα . Damit dieser Ausdruck gleich a wird (wir
wünschen uns y 2 ≡ a mod pα ), muss also b + 2xk ≡ 0 mod p sein,
oder umgeformt k ≡ −b · (2x)−1 mod p.
Aus dieser Erkenntnis ergibt sich die folgende Methode um die Wurzel von a modulo pα zu bestimmen, wenn eine Wurzel modulo pα−1
bekannt ist:
Gegeben sei x mit 0 ≤ x < pα−1 mit x2 ≡ a mod pα−1 .
(a) Berechne x2 mod pα und schreibe das Ergebnis in der Form a +
bpα−1 , wobei 0 ≤ a < pα−1 und 0 ≤ b < p.
(b) Berechne das inverse Element zu 2x modulo p und damit k =
−(2x)−1 b mod p.
(c) Nun ist y = x + kpα−1 eine Wurzel von a modulo pα .
Bestimmen Sie auf diese Art eine Wurzel aus 129 modulo 625 und
machen Sie die Probe.
2. (Wurzelziehen modulo n)
Angenommen n = pe11 pe22 . . . perr ist die Primfaktorzerlegung von n. Wie
lässt sich eine Wurzel von a modulo n bestimmen, wenn man eine
Wurzel modulo pei i für jedes 1 ≤ i ≤ s kennt?
Bestimmen Sie eine Wurzel von 1701 modulo 12150 auf diese Art
und machen Sie die Probe.
1
2
3. Faktorisieren Sie die Zahl n = 1042387 mit dem quadratischen Sieb.
Berechnen Sie dazu eine Tabelle der Werte von f (x) wie in der Vorlesung für 0 ≤ x ≤ 15 und berechnen Sie gleich jeweils die Primfaktorenzerlegung (den Aufwand mit der Faktorbasis können Sie sich hier
sparen, es sind ohnedies nur 16 kleine Zahlen zu faktorisieren. Stellen Sie nun ein homogenes lineares Gleichungssystem über Z2 auf und
lösen Sie es, um herauszufinden, welche Gleichungen Sie multiplizieren
müssen, um erfolgreich n faktorisieren zu können. Finden Sie schließlich einen Faktor von n.
4. Wie würde im Beispiel 3 eine Faktorbasis von 50 aussehen? Wählen
Sie als Siebbereich S = {−20, . . . , 20} und verwenden Sie die Methode
aus der Vorlesung um alle Werte x ∈ S zu finden, für die f (x) durch 3
teilbar ist. Kontrollieren Sie, ob Sie anhand der im Beispiel 3 erstellten
Tabelle mit den Primfaktorzerlegungen, ob Sie alle x im Bereich 0 ≤
x ≤ 15 tatsächlich auf diese Art finden.
Herunterladen