Asymmetrische Verschlsselung das RSAVerfahren Symmetrische Chiffrierung Beispiel CsarVerfahren
Asymmetrische Verschlüsselung das RSA-Verfahren
Symmetrische Chiffrierung Beispiel: Cäsar-Verfahren Klartext: HORST Schlüssel: E H O RST ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH L S VWX Chiffre: LSVWX Nachteil: Angriffsmöglichkeit über Buchstabenhäufigkeit
Polyalphabetische Chiffrierung Beispiel: Vigenère-Verfahren Klartext: K ERREGAL E LL DICKDIC I CK Schlüssel: D Chiffre: NMN VHZTOJIN Nachteil: Kennt man die Länge des Schlüsselwortes, so kann man das Verfahren über Buchstabenhäufigkeiten knacken. Ermittlung der Schlüsselwortlänge durch Kasiski-Test KL E ABCDEFGHIJKLMNOPQRSTUVWXYZA C CDEFGHIJKLMNOPQRSTUVWXYZAB N D DEFGHIJKLMNOPQRSTUVWXYZABC N EFGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEFG IIJKLMNOPQRSTUVWXYZABCDEFGH M JKLMNOPQRSTUVWXYZABCDEFGHI K KLMNOPQRSTUVWXYZABCDEFGHIJ V LMNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGHIJKLMN. . . . ZABCDEFGHIJKLMNOPQRSTUVWXY
Symmetrische Chiffrierung One-Time-Pad-Verfahren Klartext: DIESISTGEHEIM Schlüssel: ZVSKOLERDNMNQ Chiffre: CDWCWDXXHUQVC Vorteil: Wenn Schlüsselwort zufällig ist, dann ist das Verfahren absolut sicher. Nachteil: Schlüssel ist genauso groß wie die Nachricht selbst. Kleiderbügel einer Stasi-Spionin mit verstecktem One-Time-Pad (Aus: Spiegel Spezial 1/1990)
Symmetrische Chiffrierung Grundprinzip
Symmetrische Chiffrierung Grundprinzip Aha!
Asymmetrische Chiffrierung Grundprinzippqqqqq
Asymmetrische Chiffrierung Grundprinzippqqqqq Verdammt. . .
Grundvoraussetzung asymmetrischer Chiffrierung ist eine Einwegfunktion Eine Funktion f: X Y heißt Einwegfunktion, wenn y = f(x) leicht zu berechnen ist, aber x = f -1(y) sehr schwer zu berechnen ist sehr schwer bedeutet in nicht polynomieller Zeit Beispiele: • Zuordnung Name Telefonnr. im Telefonbuch • Fallenlassen eines Programms auf Lochkarten • Multiplizieren zweier großer Primzahlen
Einwegfunktion mit Falltür Eine Funktion f: X Y heißt Einwegfunktion mit Falltür, wenn • y = f(x) mit einem Algorithmus E leicht zu berechnen ist, • x = f -1(y) mit einem Algorithmus D leicht zu berechnen ist, aber • die Bestimmung des Algorithmus D aus E nur sehr schwer möglich ist. RSA nutzt eine Einwegfunktion mit Falltür
Idee der zwei Schlüssel private key – public key private key Wähle zwei Primzahlen p und q Bilde n = p·q Ermittle daraus (d, n) (e, n) public key
Idee der zwei Schlüssel private key – public key private key Wähle zwei Primzahlen p und q Bilde n = p·q Ermittle daraus (d, n) public key (e, n) Algorithmus E: Berechne C=Me mod n Algorithmus D: Berechne Cd mod n = Me d mod n =. . . = M
Das RSA-Verfahren Quelle: http: //www. usc. edu/dept/molecular-science/RSA-2003. htm Nach Ron Rivest, Adi Shamir, Len Adleman
Etwas Mathematik Wie funktioniert RSA Idee: Wähle als Falltürfunktion f(p, q) = p·q, wobei p, q große Primzahlen sind Bilde n = p·q. Rechnen im Restklassenring Zn p = 5, q = 7 n = 35 (n) = (p– 1)·(q– 1) sei die Eulersche - Funktion, dann gilt (n)= 4· 6 = 24 m (n) mod n = 1 (Satz von Euler)
Satz von Euler - anschaulich Wir wählten p = 5, q = 7 Nach Satz von Euler gilt: 424 Damit ergab sich n = 35 und (n) = 24 20 mod 35 = 1 19 17 18 16 15 14 21 13 22 12 23 Es ist also 46 mod 35 = 1 11 24 25 10 Z 35 26 Dann gilt aber auch 424 mod 35 = 1 27 9 44 8 7 28 64 46 / 81 / 116 6 29 5 30 4 31 32 33 34 0 1 36 2 3
Satz von Euler - anschaulich Wir wählten p = 5, q = 7 Anderes Beispiel: 224 Damit ergab sich n = 35 und (n) = 24 20 mod 35 = 1 212 mod 35 = 1 224 mod 35 = 1 16 15 14 13 22 12 23 11 24 25 Z 35 27 9 8 7 28 64 46 10 26 Dann gilt aber auch 17 18 21 58 Es ist also 19 6 29 5 30 4 31 32 33 34 0 1 36 2 3 44
Etwas Mathematik Wie funktioniert RSA Idee: Wähle als Falltürfunktion f(p, q) = p·q, wobei p, q große Primzahlen sind Bilde n = p·q. Rechnen im Restklassenring Zn p = 5, q = 7 n = 35 (n) = (p– 1)·(q– 1) sei die Eulersche - Funktion, dann gilt (n)= 4· 6 = 24 m (n) mod n = 1 (Satz von Euler) Wähle e teilerfremd zu (n), dann gibt es ein d mit e·d mod (n) = 1 e=5 d=5 (Berechnung mit Hilfe des erweiterten euklidischen Algorithmus) Mit diesen Werten n, e, d und (n) = (p– 1)·(q– 1) gilt nun:
Etwas Mathematik Wie funktioniert RSA Mit diesen Werten n, e, d und (n) gilt nun: Algorithmus D (Me mod n)d mod n Algorithmus E = Me·d mod n es ist e·d mod (n) = 1 also gibt es k mit e·d = k· (n) + 1 = Mk· (n) + 1 mod n = Mk· (n) · M mod n = (M (n))k · M mod n = 1 k · M mod n =M Satz von Euler besagt: m (n) mod n = 1, also M<n
Warum ist RSA so schwer zu knacken? ? ? Algorithmus E benötigt Zahlen e und n. Algorithmus D benötigt Zahlen d und n. Berechnung von d mit Hilfe von n und e bedeutet: Zerlege die Zahl n in ihre Primfaktoren. . . und das kann dauern. . . Zerlegung in Primfaktoren ist Problem der Klasse NP Es ist nach wie vor nicht bewiesen, dass P NP ist. Sollte P = NP sein, so wäre RSA nicht mehr sicher.
Der erweiterte euklidische Algorithmus read a, b (b < a) (u 1, u 2, u 3) = (1, 0, a) (v 1, v 2, v 3) = (0, 1, b) while v 3 != 0 do q = u 3 div v 3 (Division ohne Rest) (t 1, t 2, t 3) = (u 1, u 2, u 3) - q (v 1, v 2, v 3) (u 1, u 2, u 3) = (v 1, v 2, v 3) = (t 1, t 2, t 3)
- Slides: 20