Kryptographie ¨Ubung 7

Werbung
TU Ilmenau, Fakultät für Informatik und Automatisierung
FG Komplexitätstheorie und Effiziente Algorithmen
Univ.-Prof. Dr. M. Dietzfelbinger, M. Sc Stefan Walzer
https://www.tu-ilmenau.de/iti/lehre/lehre-ws-20162017/kg/
Kryptographie Übung 7
Besprechung am 30. Januar 2016
Aufgabe 1 (Wiederverwendung von Primzahlen bei RSA)
Es seien (n, e1 ) und (n, e2 ) zwei öffentliche Schlüssel des RSA-Kryptosystems mit ggT(e1 , e2 ) = 1. Weiter sei
x ∈ Zn ein beliebiger Klartext. Zeigen Sie, wie man aus den Chiffretexten
y1 := xe1 mod n
y2 := xe2 mod n
und
von x und nur unter Kenntnis von (n, e1 ) und (n, e2 ) den Klartext x effizient berechnen kann.
Bemerkung. Folgendes ist also keine gute Idee: Eine Firma hat einen geheimen Modulus n = p · q und wählt
für die verschiedenen Mitarbeiter m1 , . . . , mk verschiedene Paare (e1 , d1 ), . . . , (ek , dk ) von öffentlichen und
privaten Exponenten mit ei · di ≡ 1 mod ϕ(n) für alle 1 ≤ i ≤ k.
Falls ei und ej teilerfremd sind und eine Nachricht x verschlüsselt an zwei Mitarbeiter mi und mj geschickt
wird, könnte ein Angreifer, der xei und xej abgehört hat, nämlich den Klartext x effizient berechnen.
Aufgabe 2 (Wiederverwendung von Exponenten bei ElGamal)
Alice und Bob verschlüsseln ihre Kommunikation mit dem ElGamal Kryptosystem mit zugrundeliegender Gruppe
(G, ◦). Der öffentliche Schlüssel von Bob sei (G, g, B). Alice schickt Bob zwei Nachrichten x1 , x2 ∈ G und
verwendet (aus Faulheit) bei der Verschlüsselung beide Male dieselbe zufällig gewählte Zahl a ∈ {2, . . . , |G|−2}.
Sie fangen die beiden Geheimtexte yi = (g a , B a ◦ xi ) für i = 1, 2 ab. Nehmen Sie an, dass Sie aus irgendeinem
Grund den Klartext x1 kennen.
Zeigen Sie, dass Sie den Klartext x2 effizient bestimmen können.
Aufgabe 3 (Pohlig-Hellmann-Verfahren)
Sei n ∈ N mit Primfaktorzerlegung n = p1 · p2 · . . . · pr gegeben. Sei ferner Qi :=
i
Q
pj für 0 ≤ j < r.
j=1
(a) Jede Zahl 0 ≤ a < n lässt sich eindeutig darstellen als a =
0 ≤ ai < pi für alle 1 ≤ i ≤ r gilt. Warum?
Pr
i=1
ai · Qi−1 mit Zahlen a1 , . . . , ar wobei
(b) Sei (G, ◦) eine zyklische Gruppe mit Erzeuger g ∈ G und Gruppenordnung |G| = n. Sei y ∈ G beliebig; Ziel
ist es logg (y) zu berechnen, also dasjenige a ∈ {0, . . . , n − 1} mit g a = y. Nach (a) gibt es eine Darstellung
von a mittels a1 , . . . , ar . Wir werden diese Zahlen ai der Reihe nach bestimmen. Zeigen Sie zunächst:
a·
n
Q1
Schlussfolgern Sie, dass die Gleichung:
≡ a1 pn1
n
(mod n)
n
y Q1 = (g p1 )b
genau die Lösung b = a1 hat für 0 ≤ b < p1 .
2
Kryptographie Übung 7
(c) In der Situation von (b) seien nun schon a1 , . . . , ak bekannt für k < r. Zeigen Sie:
(a −
k
X
ai Qi−1 ) ·
n
Qk+1
n
≡ ak+1 pk+1
(mod n).
i=1
Schlussfolgern Sie, dass die Gleichung:
y·g
−
k
P
ai Qi−1
Qn
k+1
i=1
n
= (g pk+1 )b
genau die Lösung b = ak+1 hat für 0 ≤ b < pk+1 .
(d) Beschreiben Sie den Algorithmus zur Berechnung des diskreten Logarithmus einer beliebigen Zahl y ∈ G,
der sich aus den vorherigen beiden Teilaufgaben ergibt. Die Laufzeit soll dabei O(p1 + p2 + . . . + pr )
betragen. Begründen Sie, dass die Gruppenordnung der Gruppe G im ElGamal Verfahren einen möglichst
großen Primteiler besitzen sollte.
(e) Benutzen Sie Ihr Verfahren um log3 (2) in der Gruppe Z∗101 zu berechnen, also dasjenige a ∈ {0, . . . , 99}
mit 3a ≡ 2 (mod 101).
Verallgemeinerter Chinesischer Restsatz (Nicht beweisen!)
Seien n1 , . . . , nr ∈ N \ {0} paarweise teilerfremd. Ihr Produkt sei n = n1 · . . . · nr . Die Abbildung
Φ : Zn → Zn1 × . . . × Znr , x 7→ Φ(x) := (x mod n1 , . . . , x mod nr )
ist bijektiv. Weiterhin: Wenn Φ(x) = (x1 , . . . , xr ) und Φ(y) = (y1 , . . . , yr ), dann gilt
(a) Φ(x +n y) = (x1 +n1 y1 , . . . , xr +nr yr ),
(b) Φ(x ·n y) = (x1 ·n1 y1 , . . . , xr ·nr yr ),
(c) Φ(1) = (1, . . . , 1).
Mit anderen Worten: Die Gruppe (Zn , +) ist isomorph zu dem direkten Produkt der Gruppen (Zn1 , +), . . . , (Znr , +).
Φ ist der (einzige) Isomorphismus der (c) erfüllt.
Bemerkung:
Für folgende Aufgabe wird in der Übung vermutlich keine Zeit sein.
Aufgabe 4 (Quadratwurzeln der 1)
Seien n1 , . . . , nr ∈ N \ {0} paarweise teilerfremd und n = n1 · . . . · nr .
(a) Finden Sie ein Verfahren, um aus einem gegebenen Tupel (x1 , . . . , xr ) ∈ Zn1 × · · · × Znr ein x ∈ Zn mit
Φ(x) = (x1 , . . . , xr ) zu bestimmen.
Hinweis: Bestimmen Sie zunächst ei ∈ Zn mit Φ(ei ) = (0, 0, . . . , 0, 1, 0, . . . , 0).
↑
Stelle i
(b) Eine Zahl x ∈ Zn heißt Quadratwurzel der 1, wenn x2 ≡ 1 (mod n).
Zeigen Sie: In Zn gibt es (mindestens) 2r Quadratwurzeln der 1.
(c) Bestimmen Sie alle 8 Quadratwurzeln der 1 Modulo 231.
Herunterladen