Lösung 9

Werbung
ETH Zürich, D-INFK
HS 2016, 18. Januar 2017
Prof. Ueli Maurer
Daniel Tschudi
Diskrete Mathematik
Lösung 9
9.1
Gruppenhomomorphismen
Sei g ∈ G beliebig, wir zeigen direkt:
d
G3
G2
d G1
= ψ(eG ) ◦ ψ(g) ◦ ψ(g)
ψ(eG ) = ψ(eG ) ◦ eH = ψ(eG ) ◦ ψ(g) ◦ ψ(g)
ψ G.H.
9.2
G2
G3
=
d = ψ(g) ◦ ψ(g)
d = eH
ψ(eG ∗ g) ◦ ψ(g)
2
3
3
2
Ordnung und Untergruppen
a) Durch Ausprobieren findet wir:
Element
Ordnung
0
1
1
6
4
3
5
6
b) Wenn H1 ⊆ H2 oder H2 ⊆ H1 , dann ist H1 ∪ H2 = H1 oder H1 ∪ H2 = H2 und somit
eine Untergruppe von G. Zu zeigen bleibt daher die Umkehrung. Nehmen wir an,
dass die Ummkehrung nicht gilt, d.h. es gibt ein a ∈ H1 \H2 und ein b ∈ H2 \H1 . Da
nach Annahme H1 ∪ H2 eine Gruppe bezüglich der Gruppenoperation ? bildet, gilt
wegen Abgeschlossenheit: c = a ? b ∈ H1 ∪ H2 . Das Element c kann aber nicht in H1
liegen, da sonst b = b
a ? c ∈ H1 wäre. Analog dazu ist c 6∈ H2 , da sonst a = c ? bb ∈ H2
wäre. Somit ist c 6∈ H1 ∪ H2 und daher H1 ∪ H2 nicht abgeschlossen.
9.3
Die Gruppe Z∗m
a) Die Ordnung der Gruppe hZ∗36 ; i ist ϕ(36). Mit Lemma 5.12 folgt ϕ(36) = (2 − 1) ·
22−1 · (3 − 1) · 32−1 = 2 · 2 · 3 = 12.
Die Gruppe besteht aus allen Zahlen in Z36 , die teilerfremd zu 36 sind. Somit gilt
Z∗36 = {1, 5, 7, 11, 13, 17, 19, 23, 25, 29, 31, 35}.
b) Aus dem Satz von Lagrange folgt, dass für ein a ∈ Z∗11 gilt ord(a) ∈ {1, 2, 5, 10}.
Falls a ein Generator von Z∗11 ist, hat a die Ordnung 10 = ϕ(11). Dies ist genau
dann der Fall, wenn a2 6= 1 und a5 6= 1 gilt. Durch Ausprobieren finden wir, dass
2 ein Generator ist. Die restlichen Generatoren kann man analog finden. Alternativ
verwendet man folgendes Lemma.
Lemma 1. Sei g ein Generator von Z∗m , dann ist die Menge der Generatoren von Z∗m genau
A = {g i | 1 ≤ i < ϕ(m) ∧ gcd(i, ϕ(m)) = 1}
Beweis: Sei h ein Generator von Z∗m . Da g ein Generator ist, gibt es ein 1 ≤ i < ϕ(m) mit h = g i . Sei
d = ggT(i, ϕ(m)), dann gilt h
ϕ(m)
d
= (g i )
ϕ(m)
d
i
= g ϕ(m) d = 1. Da aber h ein Generator ist, muss d = 1
sein. Somit ist jeder Generator in A. Sei umgekehrt h ∈ A, dann gibt es ein 1 ≤ i < ϕ(m) mit h = g i und
ggT(i, ϕ(m)) = 1. Es gilt 1 = hord(h) = g i·ord(h) . Da g ein Generator ist, muss i · ord(h) ein Vielfaches
von ϕ(m) sein. Da ggT(i, ϕ(m)) = 1, muss also auch ord(h) ein Vielfaches von ϕ(m) sein. Somit ist h
auch ein Generator.
Nach dem Lemma sind daher genau 2, 6, 7, 8 Generatoren von Z∗11 .
c) Das Ziel ist einen Isomorphismus ϕ : Z∗15 → Z∗20 zu konstruieren. Wir beginnen mit
folgendem Lemma.
Lemma 1. Seien n und m teilerfremde Zahlen. Die Abbildung f : Znm → Zn × Zm mit f (x) =
(Rn (x), Rm (x)) ist eine Bijektion.
Beweis: Gemäss Lemma 4.17 gilt für x ∈ Znm , dass x ≡n Rn (x) und x ≡m Rm (x). Aus Theorem 4.20
(Chinesischer Restsatz) folgt, dass es für (a, b) ∈ Zn × Zm genau ein x ∈ Znm gibt mit x ≡n a und
x ≡m b. Also ist f eine Bijektion.
Weiter gilt folgendes Lemma
Lemma 2. Seien n und m ganze Zahlen. Für a ∈ Z gilt
ggT(a, nm) = 1 =⇒ ggT(a, n) = 1 ∧ ggT(a, m) = 1
Beweis: Seien ggT(a, n) = d, ggT(a, m) = e, dann gilt d | n und e | m. Damit aber auch d | nm und
e | nm. In anderen Worten sind e und d gemeinsame Teiler von a und nm. Da aber ggT(a, nm) = 1, gilt
also d = e = 1.
Damit können wir zeigen, dass es für teilerfremde n, m einen Isomorphismus zwischen Z∗nm und Z∗n × Z∗m gibt.
Lemma 3. Seien n und m teilerfremde Zahlen. Die Abbildung f : Z∗nm → Z∗n × Z∗m mit f (x) =
(Rn (x), Rm (x)) ist ein Isomorphismus.
Beweis: Wir zeigen zuerst, dass f wohldefiniert ist, d.h. dass f (x) ∈ Z∗n × Z∗m für alle x ∈ Z∗nm gilt.
Sei x ∈ Z∗nm , dann ist ggT(x, nm) = 1. Mit Lemma 2. folgt ggT(x, n) = 1 und ggT(x, m) = 1. Nach
Lemma 4.2 gilt somit ggT(Rn (x), n) = 1 und ggT(Rm (x), m) = 1. Daraus folgt f (x) ∈ Z∗n × Z∗m .
Nun zeigen wir, dass f bijektiv ist. Nach Lemma Lemma 1., ist f injektiv und damit |f (Z∗nm )| = |Z∗nm |.
Aus der Wohldefiniertheit folgt f (Z∗nm ) ⊆ Z∗n × Z∗m . Da nach Lemma 5.12 |Z∗nm | = |Z∗n × Z∗m |, folgt
f (Z∗nm ) = Z∗n × Z∗m . Also ist f auch surjektiv.
Es verbleibt zu zeigen, dass f ein Homomorphismus ist. Seien a, b ∈ Z∗nm , dann gilt mit Lemma 4.18
Lem 4.18
f (a b) = (Rn (a b), Rm (a b))
=
Rn (Rn (a)Rn (b)), Rm (Rm (a)Rm (b)) = f (a) f (b).
Aus Lemma 3. folgt Z∗15 ' Z∗3 × Z∗5 und Z∗20 ' Z∗4 × Z∗5 . Insbesondere gibt es einen
Isomorphismus α : Z∗15 → Z∗3 × Z∗5 mit α(a) = (R3 (a), R5 (a)) und einen Isomorphismus ist γ : Z∗4 × Z∗5 → Z∗20 mit γ −1 (b) = (R4 (b), R5 (b)). Wir müssen also noch einen
Isomorphismus zwischen Z∗3 × Z∗5 und Z∗4 × Z∗5 finden.
Lemma 4. Die Abbildung g : Z∗3 → Z∗4 mit g(1) = 1 und g(2) = 3 ist ein Isomorphismus.
Beweis: Beide Gruppen haben Ordnung 2. Wir bemerken, dass die Abbildung g daher bijektiv ist. Es
gilt g(1 1) = 1 = g(1) g(1), g(2 1) = 3 = g(2) g(1), g(1 2) = 3 = g(1) g(2) und
g(2 2) = 1 = g(2) g(2). Die Abbildung ist also auch ein Homomorphismus.
Mit Lemma 4. folgt, dass β : Z∗3 × Z∗5 → Z∗4 × Z∗5 mit β (a, b) = g(a), b ein Isomorphismus ist. Es gilt also Z∗15 ' Z∗3 × Z∗5 ' Z∗4 × Z∗5 ' Z∗20 .
Wir können den Isomorphismus ϕ : Z∗15 → Z∗20 als die Komposition der Isomorphismen α, β, γ schreiben, d.h. ϕ = γ ◦ β ◦ α. Es gilt zum Beispiel ϕ(11) = γ(β(α(11))) =
γ(β((2, 1))) = γ((3, 1)) = 11.
Alternativ kann man auch einen Isomorphismus ψ durch Ausprobieren finden. Dann muss man aber
(mühsam) zeigen, dass φ tatsächlich ein Isomorphismus ist.
9.4
Diffie-Hellman Revisited
a) Sei g ∈ hZn ; ⊕i der Erzeuger, den Alice und Bob als Basis verwenden. Für von Alice
beziehungsweise Bob zufällig gewählte xA , xB ∈ {0, . . . , n − 1} werden Rn (g · xA )
beziehungsweise Rn (g ·xB ) gesendet. Der gemeinsame Schlüssel, den beide am Ende
berechnen, ist kAB = Rn (g · xA · xB ).
Nach Beispiel 5.26 gilt dann ggT(g, n) = 1. Daher kann Eve nach Abschnitt 4.5.3 mit
dem erweiterten euklidischen Algorithmus effizient ein a ∈ Zn berechnen, so dass
Rn (a · g) = 1. Damit kann sie dann aus Rn (g · xA ) und Rn (g · xB ) unter Verwendung
von Lemma 4.18 wie folgt auch kAB berechnen:
kAB = Rn (g · xA · xB ) = Rn (g · xA · (ag) · xB ) = Rn (Rn (g · xA ) · Rn (a · g · xB ))
= Rn (Rn (g · xA ) · Rn (Rn (a) · Rn (g · xB )))
b) Nein, Bobs Folgerung ist nicht richtig. Auch wenn zwei Gruppen die gleiche Struktur
haben, lässt sich eine bestimmte Operation in einer Gruppe möglicherweise effizienter berechnen als in der anderen.
Es ist auch nicht unbedingt möglich, zuerst den Isomorphismus anzuwenden, dann
das Problem in der Gruppe hZn ; ⊕i zu lösen und danach das Inverse des Isomomorphismus anzuwenden, um eine Lösung für das ursprüngliche Problem zu erhalten.
Es existiert zwar ein Isomorphismus zwischen diesen Gruppen und das beschriebene Vorgehen liefert eine korrekte Lösung, jedoch ist nicht klar, ob man diesen Isomorphismus und dessen Inverses effizient berechnen kann. Betrachte zum Beispiel
eine Gruppe G = hgi von Ordnung n. Ein Isomorphismus von G nach hZn ; ⊕i ist
φ : G → Zn , g i 7→ i. Die Berechnung von φ entspricht also gerade dem Lösen des
diskreten Logarithmus-Problems.
9.5
RSA-Attacke
Sind n1 , n2 und n3 nicht paarweise teilerfremd, kann der Angreifer durch Berechnen der
grössten gemeinsamen Teiler einen nichttrivialen Faktor eines der ni finden. Dann kann er
also dieses ni faktorisieren und analog zur Schlüsselerzeugung den zugehörigen privaten
Schlüssel berechnen und damit ci entschlüsseln.
Nehmen wir nun an, n1 , n2 und n3 sind paarweise teilerfremd. Mit dem chinesischen Restsatz kann der Angreifer dann folgendes System von Kongruenzen modulo N := n1 · n2 · n3
effizient lösen:
x ≡ c1
(mod n1 )
x ≡ c2
(mod n2 )
x ≡ c3
(mod n3 )
Da ci ≡ m3 (mod ni ) gilt, erfüllt m3 diese Kongruenzen. Weil m < ni für i ∈ {1, 2, 3},
ist m3 < n1 · n2 · n3 = N . Nach dem chinesischen Restsatz gibt es genau eine Lösung x
dieser Kongruenzen mit 0 ≤ x < N . Daher führt die Berechnung gemäss des chinesischen
Restsatzes zu x = m3 . Um m zu erhalten, muss also nur die Kubikwurzel von x in Z
berechnet werden, was effizient möglich ist.
Hinweis: Diese Attacke ist natürlich auch für e > 3 möglich, jedoch ist es für sehr grosse
e unwahrscheinlich, dass ein Angreifer e verschiedene Chiffrate der gleichen Nachricht
erhält.
9.6
Elementare Eigenschaften von Ringen
a) Es gilt
(−a)b + ab
Distrib.
=
(−a + a)b
Def. Inverse
=
0b
Lemma 5.17 (i)
=
0.
(1 Punkt)
Das heisst, (−a)b ist bezüglich + ein Inverses von ab. Per Definition ist −(ab) bezüglich
+ ein Inverses von ab. Nach Lemma 5.2 gilt also (−a)b = −(ab).
(1 Punkt)
b) Per Definition ist ab ein Inverses von −ab, d.h. −(−ab) = ab.
Wir bemerken, dass analog zu a) auch a(−b) = −(ab) gilt, da
a(−b) + ab
Distrib.
=
a(−b + b)
Def. Inverse
=
a0
(1 Punkt)
Lemma 5.17 (i)
=
0.
(1 Punkt)
Damit folgt
a)
(−a)(−b) = −(a(−b))
a) Bem.
=
−(−ab)
Def. Inverse
=
ab.
(1 Punkt)
Man kann die Aussage auch ohne die Bemerkung a(−b) = −(ab) beweisen, da
a)
Distrib.
(−a)(−b) + (−ab) = (−a)(−b) + (−a)b = (−a)(−b + b)
Def. Inverse
=
(−a)0
Lemma 5.17 (i)
=
0.
c) Wir zeigen die Implikation indirekt, d.h. wir zeigen: Gilt 1 = 0, so enthält R nur ein
Element. Wir nehmen also an, es gilt 1 = 0. Sei nun a ∈ R. Dann gilt
a=a·1=a·0
Lemma 5.17 (i)
Es gilt also a = 0 für alle a ∈ R, d.h R = {0}.
=
0.
(2 Punkte)
Herunterladen