• Keine Ergebnisse gefunden

ar ≡ba−qn mod p, (1) wobei x =q·n+r mit 0≤q, r &lt

N/A
N/A
Protected

Academic year: 2021

Aktie "ar ≡ba−qn mod p, (1) wobei x =q·n+r mit 0≤q, r &lt"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof.Dr. W.Koepf

Dr. T.Sprenger Ubungen zur Vorlesung¨

Ubungsblatt 08¨ COMPUTERALGEBRA I 09.06.2011

Aufgabe 1: (Modulare Logarithmen) Programmieren Sie aus den nachfolgenden Beschreibun- gen drei Prozeduren (zwei naive Prozeduren und eine Prozedur nach dem Babystep-Giantstep- Verfahren), die zu drei gegebenen Zahlenp ∈P unda, b∈Zp den minimalen modularen Logarith- mus loga(b) mod p bestimmt.

(A) Man betrachte sukzessive Potenzen der Formar mod p f¨ur r = 0, . . . , p−1, stoppe wenn manb erh¨alt und gebe dann den entsprechenden Exponenten aus.

(B) Man multipliziere b sukzessive mit dem modularen Inversen von a bis eine 1 auftritt und merke sich dabei die Anzahl der Multiplikationen (¨ahnlich wie Algorithmus aus Sitzung 4.20 zur Bestimmung des diskreten Logarithmus in Z).

(C) Sei n=b√

pc. Dann gilt

x ≡logab mod p ⇐⇒ ar ≡ba−qn mod p, (1)

wobei x =q·n+r mit 0≤q, r < n.

(i) Beweisen Sie zun¨achst die ¨Aquivalenz (1).

(ii) Die ¨Aquivalenz (1) rechtfertigt die folgende Vorgehensweise

I. Man bilde eine MengeM mit den Elementenar modp f¨ur r = 0, . . . , n−1.

II. Man vergleiche, ob ba−qn mod p in M enthalten ist (q = 0, . . . , n −1). Gilt ar ≡ ba−qn mod p f¨ur ein Paar (q, r), so gebe man den minimalen modularen Logarithmusx =q·n+r aus.

Hinweis:ba−qn≡b a−nq

mod p l¨asst sich ausb a−nq−1

a−n mod p, also aus der vorherigen Iteration, bestimmen.

Testen Sie Ihre Prozeduren an den Beispielen (a) log2(5) mod 7

(c) log16643(3376) mod 104729

(b) log5(8) mod 13

(d) log46508(82344) mod 6416953.

Geben Sie jeweils die Anzahl der Operationen an, die im schlechtesten Fall notwendig sind, den minimalen modularen Logarithmus mit den obigen Methoden zu bestimmen.

(16 Punkte)

(Bitte wenden)

(2)

Aufgabe 2: (RSA - Schlechte Wahl der Primzahlen) F¨ur das RSA-Verfahren berechnet man zun¨achst zwei Primzahlenp und q, und bildet dann das Produkt n =p·q. Die Zahl n ist sp¨ater global bekannt, p und q werden geheim gehalten. Sind p, q dicht beieinander, so k¨onnen sie mit Fermats Faktorisierungs-Methode berechnet werden:

Ist n=p·q mit p > q, so ist

n=

p+q

2 2

p−q

2 2

. Folglich erh¨alt man f¨urp =d√

ne+ ˆp undq =d√

ne+ ˆq die Gleichung

d√

ne+pˆ+ ˆq 2

2

−n=

pˆ−qˆ 2

2

.

1. Erkl¨aren Sie, wie man mit Hilfe der letzten Gleichung die Faktoren vonnberechnen kann und implementieren Sie Ihren Algorithmus.

2. Benutzen Sie das Verfahren, um die folgende Zahl zu faktorisieren:

4143977748966434243307454492626122211734875100576213552709682305695820526691442409 (6 Zusatzpunkte)

Abgabetermin:bis sp¨atestens Donnerstag, 23.06.2011, 08.15 Uhr anerik.slawski@gmx.de.

Referenzen

ÄHNLICHE DOKUMENTE

Berechnen  Sie  die  Reihen  ein  zweites  Mal,  indem  Sie  mit  den  konkreten  Zahlen  die   Schritte  der  Formelherleitung  nachvollziehen.. Bestimmen  Sie

Fachbereich Mathematik und Statistik Repetitorium Analysis

[r]

[r]

[r]

Dieser Aufgabenzettel ist freiwillig, die Aufgaben sind aber wie bei jedem Aufgabenzettel hilfreich bei der Vorbereitung auf die Klausur. Wenn Sie ihn bearbeiten, so werden

Benutzen Sie die erweiterte GCD-Funktion von Mathematica, um eine Funktion ModInv[a,r] zu implementieren, die das Inverse von a in Z r zuruckgibt, falls ein Inverses existiert

[r]