Blatt1 mit Lösungen - Arbeitsgruppe Kryptographie und Sicherheit

Werbung
Universität Karlsruhe (TH)
Lösungen zu Übungsblatt 1
Institut für Kryptographie und Sicherheit
Willi Geiselmann (Vorlesung)
Matthias Gabel (Übung)
Public Key Kryptographie für Informationswirte
Wintersemester 2009/2010
Übung vom 30. 10. 2009, SR 236, Geb. 50.34
Aufgabe 1: Gruppen
Diese Aufgabe dient als Wiederholung einiger Mathematikkenntnisse aus dem Grundstudium.
(a) Definiere den Begriff Gruppe.
(b) Handelt es sich hier um Gruppen?
· (R, ·)
· (R+ , ·)
· (R \ 0, ·)
· (Z∗4 , ·) = ({1, 2, 3}, ·)
· (Z∗5 , ·) = ({1, 2, 3, 4}, ·)
(c) Eine Gruppe (G, ·) heißt kommutativ (oder abelsch), falls gilt ∀g, h ∈ G : g · h = h · g.
Welche der obigen Gruppen sind kommutativ?
(d) Eine Gruppe (G, ·) heißt zyklisch, wenn es ein primitives Element g ∈ G gibt, d.h. hgi := {g 0 , g ±1 , g ±2 , . . .} = G.
Welche der obigen Gruppen sind zyklisch?
(e) Zeige: Jede zyklische Gruppe ist kommutativ.
Lösung zu Aufgabe 1:
(a) Es Sei G eine Menge und · eine Funktion, die zwei Elementen aus G etwas zuordnet.
(G, ·) heißt Gruppe :⇔
1. Abgeschlossenheit: ∀g, h ∈ G : g · h ∈ G
∧
2. Assoziativität: ∀g, h, i ∈ G : (g · h) · i = g · (h · i)
∧
3. Neutrales Element: ∃e ∈ G : ∀g ∈ G : e · g = g · e = g
∧
4. Inverses Element: ∀g ∈ G : ∃h ∈ G : h · g = g · h = e
(b)
· (R, ·) ist keine Gruppe, da 4. nicht erfüllt ist (0 ist nicht invertierbar).
· (R+ , ·) ist eine Gruppe.
· (R \ {0}, ·) ist eine Gruppe.
· (Z∗4 , ·) ist keine Gruppe, da 2 nicht invertierbar ist (somit ist wiederrum 4. verletzt).
· (Z∗5 , ·) ist eine Gruppe.
(c) Alle der drei obigen Gruppen sind kommutativ.
(d) Nur (Z∗5 , ·) ist zyklisch und wird von 2 oder 3 erzeugt.
(e) Seien g ein Erzeuger von G und g1 , g2 zwei beliebige Elemente aus G. Dann existieren ganze Zahlen e1 , e2 , sodass
g1 = g e1 und g2 = g e2 . Somit folgt mit Hilfe des Assoziativgesetzes g1 · g2 = g e1 · g e2 = g e1 +e2 = g e2 +e1 =
g e2 · g e1 = g2 · g1 . Also ist G kommutativ.
Aufgabe 2: Diskrete Logarithmen
Es sei p eine Primzahl und Zp = Z/pZ = {0, 1, . . . , p − 1} der Körper der ganzen Zahlen modulo p. Es werden also
alle Kongruenzen modulo p ausgewertet. Zum Beispiel ist 42 ≡ 25 ≡ 8 mod 17.
(a) Finde in der multiplikativen Gruppe Z∗17 des Körpers Z17 ein primitives Element g,
d.h. g i 6≡ 1 für i = 1, . . . , 15 und g 16 ≡ 1.
(b) Betrachte nun 3 als primitives Element von Z∗17 . Berechne in Z∗17 den diskreten Logarithmus log3 14 von 14 zur
Basis 3, d.h. ein x ∈ {1, . . . , 16} mit 3x ≡ 14 mod 17.
Lösung zu Aufgabe 2:
Alle Berechnungen werden modulo 17 ausgeführt:
(a) Teste, ob 2 primitives Element ist:
i
2i
1
2
2
4
3
8
4
16
5
15
6
13
7
9
8
1
(9)
(2)
(10)
(4)
(11)
(8)
(12)
(16)
(13)
(15)
(14)
(13)
(15)
(9)
(16)
(1)
2 ist also nicht primitiv (29 ≡ 21 ≡ 2), die von 2 erzeugte Untergruppe hat nur die Ordnung 8|16. Diskrete
Logarithmen sind in dieser Untergruppe entweder nicht eindeutig (36 ≡ 314 ≡ 13) oder nicht bestimmt (log2 7).
Teste, ob 3 primitives Element ist:
i
3i
1
3
2
9
3
10
4
13
5
5
6
15
7
11
8
16
9
14
10
8
11
7
12
4
13
12
14
2
15
6
16
1
3 ist also primitives Element, da die von 3 erzeugte Untergruppe ganz Z17 ist.
(b) In obiger Tabelle läßt sich log3 14 ≡ 9 mod 17 ablesen. Es gilt 39 ≡ 14 mod 17.
Aufgabe 3: Erweiterter Euklidischer Algorithmus
Der nachstehend angegebene erweiterte Euklidische Algorithmus erlaubt es, zu gegebenen ganzen Zahlen a, b ∈ Z
nicht nur deren größten gemeinsamen Teiler g zu berechnen, sondern auch ganze Zahlen u, v ∈ Z mit u · a + v · b = g
anzugeben:
Eingabe: (a, b) ∈ Z2
Ausgabe:(u, v, g) ∈ Z3 mit u · a + v · b = g = ggT(a, b)
(g, u, v, g 0 , u0 , v 0 ) ← (a, 1, 0, b, 0, 1)
while g 0 6= 0:
q ← g div g 0
(g, u, v, g 0 , u0 , v 0 ) ← (g 0 , u0 , v 0 , g − q · g 0 , u − q · u0 , v − q · v 0 )
return(u, v, g)
(a) Schreibe 5 als Linearkombination von 35 und 45.
(b) Berechne das multiplikative Inverse 41−1 von 41 im Körper Z101 = Z/101Z.
Lösung zu Aufgabe 3:
(a) Wende zuerste
45 = 1 ·
35 = 3 ·
10 = 2 ·
den
35
10
5
Euklidischen Algorithmus zur Berechnung des ggTs an:
+ 10
+ 5
+ 0
Setze dann den ggT 5 schrittweise zusammen:
5 = 1 · 35 − 3 · 10 = 1 · 35 − 3 · (45 − 1 · 35) = −3 · 45 + 4 · 35
(b) Berechne
101 =
41 =
19 =
3 =
zunächst ggT(41,101):
2 · 41 + 19
2 · 19 + 3
6 · 3 + 1
3 · 1 + 0
Setze dann wie in (a) den ggT 1 schrittweise zusammen:
1 = 1 · 19 − 6 · 3 = 1 · 19 − 6 · (41 − 2 · 19) = 13 · 19 − 6 · 41 = 13 · (101 − 2 · 41) − 6 · 41 = 13 · 101 − 32 · 41
Reduziere nun die Gleichung 1 = 13 · 101 − 32 · 41 modulo 101:
1 ≡ 0 − 32 · 41 ≡ 69 · 41 mod 101 ⇒ 69 ≡ 41−1 mod 101
Damit ist 69 das multiplikative Inverse von 41 in Z101 .
Herunterladen