Vorlesung am 28.04.2014

Werbung
Vorlesung am 28.04.2014
Das unmodifizierte RSA-Verfahren hat mehrere Schwächen
Einsatz probabilistischer Verfahren notwendig (siehe Ende der Vorlesung)
Beispiel (Erste Schwäche). Das RSA-Verfahren ist deterministisch.
• Angreifer kann Klartext raten
• mit ö↵entlichem Schlüssel verschlüsseln und vergleichen
Angri↵ funktioniert für symmetrische Verfahren nicht
Definition 4.3 (Indistinguishability under chosen plaintext attack, IND-CPA).
Gegeben asymmetrisches Verschlüsselungsverfahren und Schlüsselpaar
• Angreifer wählt zwei Klartexte m1 , m2
• Einer der Klartexte wird ausgewählt und verschlüsselt
• Angreifer muss raten, welcher Text verschlüsselt wurde
Verfahren ist IND-CPA sicher, wenn Erfolg für Angreifer nahe bei 1/2.
Einige Bemerkungen:
• RSA ist nicht IND-CPA sicher (siehe erstes Beispiel)
• Hier nur informelle Definition (siehe Vorlesung Kryptologie)
– Angreifer: randomisierter polynomieller Algorithmus
– Nahe 1/2: Wkeit in [1/2 ✏, 1/2 + ✏] für sehr kleines ✏
(✏ < 1/p(n) für jedes Polynom p und n Sicherheitsniveau)
20
Beispiel (Zweite Schwäche).
RSA-Entschlüsselung Zn ! Zn ; m 7! md ist multiplikativ. Angri↵:
Nachricht m wurde zu c = me mod n verschlüsselt
Angreifer möchte m ermittlen
• Wähle Wert r 2 Zn und berechne re mod n (e ist ö↵entlich)
• Bilde c0 = c · re = me · re , überrede Inhaber c0 zu entschlüsseln
(z.B. für Probeverschlüsselung)
• Angreifer erhält also c0d = (c · re )d = (me · re )d = m · r mod n
• Multiplikation mit r
1
liefert m
Beispiel (Dritte Schwäche).
Kleine Verschlüsselungsexponenten: Sei e = 3.
• Angreifer kennt Ciphertexte c1 = m3 mod n und c2 = (m + 1)3 mod n.
• Berechnung von m ohne Nutzung von d:
c2 + 2c1 1
(m + 1)3 + 2m3 1
(m3 + 3m + 3m2 + 1) + 2m3 1
=
=
c2 c1 + 2
(m + 1)3 m3 + 2
(m3 + 3m + 3m2 + 1) m3 + 2
3m3 + 3m + 3m2
=
=m
3m + 3m2 + 3
Verallgemeinerung Für m2 = ↵ · m1 + und beliebige Exponenten e:
Laufzeit O(e2 ) : also nur für kleine e praktikabel.
Lösung: Setze probabilistische Verfahren ein.
Klartext
Zufallswert
#
RSA
#
Chi↵retext
• Klartextraum wird vergrößert.
• Annäherung an Gleichverteilung
(erschwert statistische Angri↵e).
• Obiger Angri↵ nicht mehr möglich.
21
Beispiel (OAEP, Optimal asymmetric encryption padding).
k−k0−k1 Bits
k1 Bits
m
k0 Bits
0000
r
• Au↵üllen von m mit k1 Nullen
• r: Zufallswert der Länge k0
• Funktion G erweitert r auf k
G
• x := (m||0 · 0)
H
100 Bit
k1 Bits.
G(r))
• Funktion H reduziert x auf k0 Bits.
x
k−k0 Bits
y
k0 Bits
• y := H(x)
r.
• mr := x||y wird zu c verschlüsselt.
Empfänger entschlüsselt c zu x||y und erhält m aus x||y wie folgt:
• Berechne r = y
• m||0 · · · 0 = x
H(x) und
G(r).
Übung: Zeigen Sie, dass das RSA-Verfahren mit OAEP IND-CPA sicher ist,
wenn H und G Einwegfunktionen sind.
Elgamal Entwickelt von Taher Elgamal 1984.
Sicherheit: Vermutete Schwierigkeit des Diskreten Logarithmusproblems.
Problem DL:
Eingabe: Zwei Zahlen g, h 2 G.
Ausgabe: logg h, d.h. x 2 N mit g x = h.
G heißt kr. stark, wenn das DL-Problem in G praktisch nicht lösbar ist.
Bsp.: Z⇤p = {1, 2, . . . , p 1}, p sehr große Primzahl.
Eigenschaften:
• Diese Gruppen sind zyklisch, d.h.
Es gibt g 2 Z⇤p mit {g n ; n 2 N} = {1, 2, . . . , p 1}
g ist dann Erzeuger der Gruppe. Insb. Z⇤p = {g n ; 1  n  p
22
1}.
• Ist g 2 Z⇤p Erzeuger, dann ex. f.a. h 2 Z⇤p ein x 2 N mit g x = h.
D.h. logg h = x existiert.
Schlüsselgenerierung:
• Wähle eine endl. zykl. Gruppe G und Erzeuger g 2 G.
• Wähle j  |G|
1 und setze h = g j .
• Geheimer Schlüssel: j, ö↵entlicher Schlüssel: (h, g, G).
Verschlüsselung einer Nachricht m 2 G:
• Wähle k  |G|
1, setze f = g k .
• Verschlüsselung: (f, c = hk · m).
Entschlüsselung:
• Berechne f
j
·c=g
kj k
h m=g
kj kj
g m = m.
Übung: Zeigen Sie, dass Elgamal ist IND-CPA sicher ist.
Hybride Verschlüsselung
• Alice will Bob eine vertrauliche Nachricht m 2 {0, 1}⇤ schicken
• Bob hat RSA-Schlüsselpaar (pk = (e, n), sk = d), Alice kennt pk
• Alice wählt symm. Schlüssel k 2 {0, 1}128 , berechnet c1 = k e mod n,
c2 = AES(m, k) und sendet c1 , c2 an Bob
• Bob berechnet cd1 mod n = k und kann c2 entschlüsseln
23
Herunterladen