8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von...

33
Eik List, Jakob Wenzel Kryptographie (WS 16/17) 8: Naiver Einsatz von RSA –275– 8:

Transcript of 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von...

Page 1: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8: Naiver Einsatz von RSA

–275– 8:

Page 2: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8: Naiver Einsatz von RSA

• Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke.

• Angriffskategorien3

◦ Elementare Angriffe auf naive Public-Key-Kryptographie◦ Kleiner öffentlicher Exponent e

◦ Kleiner geheimer Exponent d

◦ Implementierungsangriffe◦ Paddingangriffe

–276– 8: Naiver Einsatz von RSA

Page 3: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.1: Naive Public-Key-Kryptographie

–277– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 4: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.1: Naive Public-Key-Kryptographie

• PK: Öffentlicher Schlüssel ((n, e) für RSA)• M : Klartext• EPK: Verschlüsselungsfunktion (für RSA: Me mod n)• C: Chiffretext

Rate-Verifikationsangriff: Gegeben C, gesucht M .

1: for all plausible Klartexte M∗ do

2: Berechne C∗ ← EPK(M∗)3: if C∗ = C then

4: Return M∗

5: end if

6: end for

Effizient wenn die Entropie des Klartexts klein ist.(Frage: Ist dieser Angriff auch relevant fürsymmetrische Verschlüsselungsverfahren?)

–278– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 5: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Rate-VerifikationsangriffRelevanz

• In der Praxis sehr ernstes Problem:◦ Nachrichten mit geringer Entropie in der Praxis häufig◦ Oft schwierig, abzuschätzen, was Angreifer über mögliche Klartexte

wirklich wissen

• Ein Angreifer kann eine begrenzte Anzahl (leicht einige Milliarden)plausibler Klartexte generieren und überprüfen, ob einer davonder gesuchte Klartext ist.

=⇒ Gute Public-Key-Verschlüsselung muss die Nachrichten

deshalb randomisieren.

–279– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 6: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Randomisierte Public-Key-Verschlüsselung

Beispiel:

• Gegeben: Klartext M

• Alice wählt zufälliges R fester Länge (r Bits) und schicktEPKB

(R ||M) an Bob• (R ||M) hat mindestens r Bits Entropie• Bob entschlüsselt (R ||M) und entfernt die ersten r Bits

BobAlice

C ← EPKB(R ||M)

R$← {0, 1}r (PKB , SKB)

–280– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 7: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Naive RSA-Verschlüsselung

• Gegeben: C = M e mod n für geheimes M

• Für beliebiges r ∈ Zn können den Chiffretext C′ zu M ′ = (r ·M) mod n

selbst berechnen:

C′ = (r ·M)e mod n

= (re ·M e) mod n

= (re · C) mod n

• =⇒ Naive RSA-Verschlüsselung ist unsicher

–281– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 8: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Naive RSA-Signaturen(ohne Hashen der Nachricht)

• Gegeben: (M, S) mit Klartext M und Signatur S

• Für beliebiges r ∈ Zn können wir die Signatur S′ fürM ′ = (M · re) mod n auch ohne d fälschen:

S′ = (M · re)d mod n

= (Md · red mod ϕ(n)) mod n

= (Md · r1) mod n

= (S · r) mod n

• =⇒ Naive RSA-Signaturen sind nicht fälschungssicher

• =⇒ Nachricht vorher hashen

• Kann auch positiv genutzt werden:

◦ Blinde Signaturen (der Faktor re verschleiert die eigentlicheNachricht M ) für anonyme Bezahlvorgänge

–282– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 9: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Elementare Fehler und Angriffe auf RSA

• Wiederverwendung eines Primfaktors (z. B. p):◦ Berechnung von p = ggT(n1, n2)

• Zu geringe Entropie bei der Wahl von p oder q

◦ Möglichkeiten testen

• . . .

–283– 8: Naiver Einsatz von RSA 8.1: Naive PK-Krypto

Page 10: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.2: RSA mit kleinem öffentlichen Exponenten e

–284– 8: Naiver Einsatz von RSA 8.2: RSA mit kleinem e

Page 11: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.2: RSA mit kleinem öffentlichen Exponenten e

• Szenario: Gleiches M an e

verschiedene Empfänger

• Eve hört ChiffretexteC1, . . . , Ce mit

• Eve kann M mittels desChinesischen Restsatzes

rekonstruieren

Alice

Bob

Charlie

David

C1 ←Me mod n1

C2 ←Me mod n2

Ce ←Me mod n3

=⇒ Wahl größerer Exponenten e (üblich: e = 216 + 1).

–285– 8: Naiver Einsatz von RSA 8.2: RSA mit kleinem e

Page 12: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.3: RSA mit kleinem geheimen Exponenten d

–286– 8: Naiver Einsatz von RSA 8.3: RSA mit kleinem d

Page 13: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.3: RSA mit kleinem geheimen Exponenten d

• Kleines d beschleunigt die Entschlüsselung (d ≈ 2128)

• Wiener’87: Für d < n0.25 kann d effizient berechnet werden

• Vermutung: d < n0.50 (d ≈ 2512 für 1024-bit n) ist unsicher

–287– 8: Naiver Einsatz von RSA 8.3: RSA mit kleinem d

Page 14: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.4: Implementierungsangriffe

–288– 8: Naiver Einsatz von RSA 8.4: Implementierungsangriffe

Page 15: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.4: Implementierungsangriffe

• Timing-Angriff (Kocher et al.’97)Die Zeit, die zur Entschlüsselung (d. h. zur Berechnung vonM = Cd mod n) benötigt wird, kann d verraten

• Prozessorleistungs-Angriff (Kocher et al.’99)Die Leistung, die eine Smartcard während der Entschlüsselung benötigt,kann d verraten

• Glitch-Angriff (Boneh et al.’97)Ein Speicherfehler (glitch) der während der Entschlüsselung auftritt,kann d verraten

• Timing-Angriff (Kocher’96): Die Zeit, die zur Verifikation verschiedenerSchritte vergeht, kann den Klartext verraten

• Akustischer Angriff (Genkin et al.’13): Die Laufintensität desProzessorlüfters während der Entschlüsselung kann d verraten

Gegenmaßnahmen: Gewissenhafte Implementierung,Verifizierung des Outputs

–289– 8: Naiver Einsatz von RSA 8.4: Implementierungsangriffe

Page 16: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.5: Textbook-RSA

–290– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 17: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

8.5: Textbook-RSA

• Gegeben ein (kurzer) b-bit String K1, . . . , Kb als Nachricht(typischerweise ein Schlüssel für ein symmetrischesKryptosystem). Man kann K als Zahl < 2

b interpretieren.

• Padding hier: “Auffüllen” der höheren Bits mit Nullen

0 . . . 0 K

• Berechne Chiffretext C ← Ke mod n.

–291– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 18: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Meet-in-the-Middle-Angriff auf Textbook-RSA(Praktikabel für “kleine” Werte von b)

• Gesucht: K. Gegeben: C ← Ke mod n.

• Wähle S, T mit S · T > 2b.

Mit signifikanter Wahrscheinlichkeit existieren s ≤ S und t ≤ T mit

K = s · t.

–292– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 19: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Meet-in-the-Middle-Angriff auf Textbook-RSA

·te ·(se)−1C = Ke1 Ct Cs (s, Cs) L

?=

1: L ← ∅2: for all s ∈ {1, . . . , S} do

3: Berechne Cs ← C · (se)−1

mod n

4: Speichere (s, Cs) in Liste L5: end for

6: for all t ∈ {1, . . . , T} do

7: Berechne Ct = te mod n

8: Wenn Ct ∈ L, so ist te · se mod n = Ke mod n

9: end for

• Speicheraufwand: O(S), Zeitaufwand: O(S + T ).

–293– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 20: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Hybride Verschlüsselung mit Textbook-RSA

Symmetrisches Verschlüsselungsverfahren E mit b-bit Schlüsseln(typischerweise b ∈ {80, . . . , 256}, RSA-Modulus n > 21000)

• Verschlüsselung: Gegeben: Klartext M , RSA-Schlüssel (e, n)

1 Ziehe zufälligen Sitzungsschlüssel K$← {0, 1}b

2 Berechne Y ← Ke mod n

3 Berechne C ← EK(M)4 Chiffretext: (Y, C)

• Entschlüsselung: Chiffretext: (Y, C), RSA-Schlüssel (d, n)

1 Berechne K← Y d mod n

2 Berechne M ← E−1K

(C)

–294– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 21: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Sicherheit von Hybrid Textbook-RSA

Beobachtung

Hybrid Textbook-RSA ist nicht einmal Known-Ciphertext-sicher.

• Grund: MitM-Angriff mit Aufwand O(2b/2+1).

• Für b = 128 ist Aufwand von O(265) praktikabel!

• Für b = 256 ist Aufwand von O(2129) aber noch nicht praktikabel.

–295– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 22: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Chosen-Ciphertext-Angriff auf Textbook-RSA

Beobachtung

Es kann ungültige (manipulierte) Chiffretexte Y geben. Wir sagen, Y ist (mitan Sicherheit grenzender Wahrscheinlichkeit) ungültig, wenn

K = Y d mod n ≥ 2b,

d. h. wenn K (die Padding-Regel) nicht erfüllt.

• Angenommen, Eve fängt (Y, C) ab, berechnet ein neues Y ′ undschickt (Y ′, C).

• Wie sollte man auf ein ungültiges Y reagieren?4

–296– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 23: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Angriff auf Hybrid Textbook-RSAMögliche Reaktionen auf ungültige Chiffretexte

1. Stategie: Fehlermeldung

• Wenn K ≥ 2b, dann gib eine Fehlermeldung aus.

• Was passiert, wenn wir den Chiffretext mit 2e multiplizieren?

Y ′ = Y · 2e mod n

= (K · 2)e mod n

1010111001000000000000000000000000000000 0

K

• Äquivalent zu Shift um 1 Stelle nach links

• Wenn “ungültig” =⇒ MSB von K ist 1

–297– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 24: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Angriff auf Hybrid Textbook-RSAMögliche Reaktionen auf ungültigen Chiffretext

2. Stategie: Ignorieren

• Einfach K mod 2b als Nachricht verwenden.

• Was passiert, wenn wir ein z so wählen, dass das höchste Bitüberläuft, wenn wir den Chiffretext mit (2z + 1)e multiplizieren?

Y ′ = Y · (2z + 1)e mod n

= (K · (2z + 1))e mod n

010111001 10101110010000000000000000000000

2z ·K K+

• Wenn “ungültig” =⇒ MSB von K ist 1

• Wir passen z für jedes weitere Bit entprechend an und erhalten K

Stück für Stück

–298– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 25: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Mögliche Reaktionen auf ungültigen Chiffretext

•✭✭✭✭✭✭✭✭

Fehlermeldung?

•✘✘✘✘✘✘

Ignorieren?

=⇒ Beides schlechte Ideen!

Was sollte man tun?

• Wenn möglich, zufälliges “Padding” einsetzen!

• Falls das nicht geht, im Fall dass K ungültig ist, ein zufälliges

K′ ∈ {0, . . . , 2

b − 1} verwenden.

–299– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 26: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Gibt es so etwas in der Praxis?

• Hybride Verschlüsselung?◦ In der Tat! Siehe PGP, TLS, . . .

◦ In der Praxis ist reine Public-Key-Verschlüsselung selten.

• Derart schwache hybride Verschlüsselung?◦ Eher nicht.

◦ Normalerweise gibt es noch Authentifikationskomponenten, dievorab “ungültige” Klartexte erkennen.

–300– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 27: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Die Praxis: Ein trauriges Beispiel

• HBCI (Home Banking Computing Interface) deutscher Standardfür Online-Banking, inzwischen in FinTS (Financial TransactionServices) umbenannt.

• Eine (formal Standard-konforme) Implementation kann den FallK ≥ 2

b ignorieren oder Fehlermeldungen liefern.

• Es gibt (bzw. gab) Implementationen, die das tatsächlich machten.

Problem

Der Standard ist nicht präzise genug. Er hält Informatiker ohne guteKryptographie-Kenntnisse von derartigen Implementationsfehlern nicht ab.

Ein Glück, dass Sie an dieser Vorlesung teilnehmen!

–301– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 28: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Bleichenbachers Angriff auf RSA PKCS#1

0000 02 Random PS M

1 Zwei konstante Bytes 00 und 02.

2 Ein “Padding-String” PS aus mindestens 8 Bytes ungleich 0.

3 Ein 00-Byte.

4 Eine Nachricht M aus maximal |n| − 88 Bits.

5 Y ←Me mod n

• Ähnlich zu Kühns Orakelangriffen (aber komplizierter zubeschreiben) =⇒ wir vereinfachen den Angriff

–302– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 29: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Vereinfachter Bleichenbacher-Angriff auf RSA

1010111001010101010100111110111111000010 0

2 ·M

• Angenommen:◦ n = 2b (ein invalider RSA-Modulus)◦ Padding prüft ob MSB(M) = 0 nach der Entschlüsselung

• Senden wir Y an Bob, erhalten wir das höchste Bit von M

◦ Wenn Fehlermeldung: MSB(M) = 1◦ Wenn keine Fehlermeldung: MSB(M) = 0

• Senden wir Y · 2e an Bob, erhalten wir das zweithöchste Bit von M

• Senden wir Y · 4e an Bob, erhalten wir das dritthöchste Bit von M

• . . .

–303– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 30: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Industrieller Hintergrund

• “Public Key Cryptography Standards” (PKCS): großer Satz vonSpezifikationen im Umfeld der Public-Key-Kryptographie;

• Entwickelt von RSA Laboratories, Apple, Microsoft, MIT, NorthernTelecom, Novell und Sun

• Weit verbreitet und in viele andere Standards eingegangen

• auch (als Teil von SSL/TLS) im WWW weit verbreitet(“https://...”).

–304– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 31: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Was lernen wir daraus?

1 Chosen-Ciphertext-Angriffe können für den praktischen Einsatzder Kryptographie gefährlich sein!

2 Der kompetente Einsatz der Public-Key-Kryptographie istschwieriger als man erwarten würde (oder als in vielen ehertheoretischen Kryptographie-Vorlesungen vermittelt wird).

–305– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 32: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Optimal Asymmetric Encryption Padding (OAEP)(Bellare, Rogaway’94)

Seien G : {0, 1}∗ → {0, 1}v und H : {0, 1}∗ → {0, 1}w zwei kryptographischeHashfunktionen und EPK eine Public-Key-Verschlüsselungsfunktion (z. B.RSA). Dann wird eine Nachricht M mit |M | ≤ v wie verschlüsselt als:

M 0..0 R

G

H

A B

Y

EPK(A||B)

–306– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA

Page 33: 8: Naiver Einsatz von RSA · Eik List, Jakob Wenzel Kryptographie(WS 16/17) 8: Naiver Einsatz von RSA •Dieses Kapitel behandelt die wichtigsten RSA-Fallstricke. •Angriffskategorien3

Eik List, Jakob Wenzel Kryptographie (WS 16/17)

Schlussbemerkungen

Sie sollten verstanden haben

• weshalb der naive Einsatz von RSA keine gute Idee ist,

• auf was man bei dem Einsatz von RSA achten sollte, und

• wie man mit ungültigen Chiffretexten verfährt.

–307– 8: Naiver Einsatz von RSA 8.5: Textbook-RSA