Angewandte Kryptographie 3. Asymmetrische Verfahren Netzwerksicherheit WS 2001/2002 Jean-Marc Piveteau
1. Die Public Key -Revolution Angewandte Kryptographie Kapitel 2 2
Symmetrische Kryptographie: Die Bilanz Aber: Key-Management nicht optimal gelöst Vertraulichkeit Daten-Integrität Daten-Authentisierung Benutzer-Authentisierung Verbindlichkeit des Senders Angewandte Kryptographie Kapitel 2 3
The Big Bang W. Diffie, M. Hellman: New Directions in cryptography, IEEE Transaction on Information Theory, 22 (1976), 644-654 Angewandte Kryptographie Kapitel 2 4
Asymmetrische-Verschlüsselung Chiffretext Unsicherer Kanal Chiffretext Verschlüsselungs- Schlüssel kryptogr. Algorithmus kryptogr. Algorithmus Entschlüsselungs- Schlüssel Klartext Gegner Klartext Verschlüsselungsschlüssel? Entschlüsselungsschlüssel Angewandte Kryptographie Kapitel 2 5
Public Key-Verschlüsselung: Illustrative Analogie Phase 1: Schlüsselvereinbarung Private Key von Alice Kryptographischer Algorithmus Public Key von Alice Phase 2: Verschlüsselung Angewandte Kryptographie Kapitel 2 6
Prinzip der Public-Key-Verschlüsselung (1/2) Schritt 1: Schlüsselvereinbarung Private Key Nur von Alice bekannt Entschlüsselungsschüssel 1 Schlüssel- Generator Public Key Wird allen bekanntgegeben Verschlüsselungsschüssel 2 Verschlüsselungsschüssel Angewandte Kryptographie Kapitel 2 7
Prinzip der Public-Key-Verschlüsselung (2/2) Schritt 2: Verschlüsselung Chiffretext Chiffretext Entsschüsselungs -Schlüssel = Private Key von Alice kryptogr. Algorithmus kryptogr. Algorithmus Verschüsselungs- Schlüssel = Public Key von Alice Klartext Klartext Private Key von Alice Nur von Alice bekannt Public Key von Alice Ist öffentlich Angewandte Kryptographie Kapitel 2 8
Sicherheit von Public Key-Verfahren Die Sicherheit basiert auf die Annahme: Es gibt (mathematische) Methoden, welche erlauben zwei Schlüssel, den Private Key (den privaten Schlüssel) und den Public Key (den öffentlichen Schlüssel) mit folgender Eigenschaft zu generieren: Der Public Key ist der Verschlüsselungsschlüssel, d.h. wer den Public Key kennt, kann verschüsseln Der Private Key ist der Entschlüsselungsschlüssel, d.h. wer den Private Key kennt, kann entschlüsseln Jemand der nur der Public Key kennt, kann die verschlüsselten Nachrichten nicht entschlüsseln. Insbesondere ist es praktisch nicht möglich, den Private Key zu berechnen, wenn nur der Public Key bekannt ist Angewandte Kryptographie Kapitel 2 9
Key-Management Benutzer 1 Public Key 1 Benutzer 2 Public Key 2 Benutzer 3 Public Key 3...... Angewandte Kryptographie Kapitel 2 10
2. RSA Angewandte Kryptographie Kapitel 2 11
RSA (Rivest-Shamir-Adleman) 1978: Von R. Rivest, A. Shamir und L. Adleman erfunden Die Sicherheit von RSA basiert auf eine mathematische Annahme Im Gegensatz zu einem symmetrischen Schlüssel ist ein RSA-Schlüssel keine Zufallsfolge von Bits Sicherheit von RSA: Faust-Regel für die Schlüssel- Länge: 64 Bit symmetrisch ~ 512 Bit RSA 128 Bit symmetrisch ~ 1024 Bit RSA 256 Bit symmetrisch ~ 2048 Bit RSA Angewandte Kryptographie Kapitel 2 12
RSA (1/2) Phase 1: Schlüsselvereinbarung 1. Wähle zwei grosse Primzahlen p und q 2. Berechne n = p.q 3. Wähle eine kleine Zahl e mit ggt(e,? (n)) = 1, wobei? (n) = (p-1)(q-1) 4. Berechne d mit d. e=1 mod? (n) mit Hilfe des erweiterten Euklidischen Algorithmus 5. Halte d als geheimen Schlüssel und gib (e,n) als öffentlichen Schlüssel bekannt (e,n) Angewandte Kryptographie Kapitel 2 13
RSA (2/2) Phase 2: Verschlüsselung c 1. Nachricht: m? {0,1,..., n-1} 2. Verschlüsselte Nachricht: c = m e mod N 3. Entschlüsselung: m = c d mod N Angewandte Kryptographie Kapitel 2 14
RSA-Sicherheit RSA-Problem Gegeben: - n: Produkt von zwei grossen Primzahlen - e: ganze Zahl mit ggt(e,? (n)) =1 - c? {0,1,..., n-1} Berechne: m mit c = m e mod N zu berechnen RSA-Sicherheitsannahme Es gibt keinen effizienten Algorithmus, um das RSA- Problem zu lösen RSA und Faktorisierung Wenn die Faktorisierung von n bekannt ist, kann m mit c = m e mod N sehr effizient berechnet werden Angewandte Kryptographie Kapitel 2 15
Faktorisierungsproblem Faktorisierungsproblem für RSA Berechne die Primfaktorzerlegung einer gegebenen ganzen Zahl N, welche das Produkt von zwei grossen Primzahlen ist Algorithmus Trial Division Anzahl von Operationen für eine Zahl von n Bit < C (2 n-1 + n) für eine Konstante C Zahlkörpersieb < C e 1/3 2/3 1.7 n (log n + 0.366) Angewandte Kryptographie Kapitel 2 16
RSA-Sicherheit Anzahl Bit des Modulus Erfolgreichen Angriff gegen RSA 1024 514 428 1994 1999 (*) 2037 (*) 292 PCs und Workstations, Taktfrequenz 400 MHz, vier Monate Rechenzeit Angewandte Kryptographie Kapitel 2 17