230 likes | 475 Views
Landesverbandstagung der MNU Nordrhein 2006. Eine Einführung in das RSA-Verfahren an Beispielen. Asymmetrische Verschlüsselung. Referent: Daniel Garmann email: dgarmann@freenet.de. Schlüssel:. E. H. R. S. T. O. V. W. X. Symmetrische Chiffrierung Beispiel: Cäsar -Verfahren.
E N D
Landesverbandstagung der MNU Nordrhein 2006 Eine Einführung in das RSA-Verfahren an Beispielen Asymmetrische Verschlüsselung Referent: Daniel Garmann email: dgarmann@freenet.de
Schlüssel: E H R S T O V W X Symmetrische ChiffrierungBeispiel: Cäsar-Verfahren Klartext: HORST ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFGHIJKLMNOPQRSTUVWXYZ L S Chiffre: LSVWX Nachteil: Angriffsmöglichkeit über Buchstabenhäufigkeit
E L ABCDEFGHIJKLMNOPQRSTUVWXYZ E L L BCDEFGHIJKLMNOPQRSTUVWXYZA Schlüssel: DICK I C K DICK DIC C CDEFGHIJKLMNOPQRSTUVWXYZAB N DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE M N V GHIJKLMNOPQRSTUVWXYZABCDEF HIJKLMNOPQRSTUVWXYZABCDEFG I IJKLMNOPQRSTUVWXYZABCDEFGH M JKLMNOPQRSTUVWXYZABCDEFGHI K KLMNOPQRSTUVWXYZABCDEFGHIJ V LMNOPQRSTUVWXYZABCDEFGHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGHIJKLM OPQRSTUVWXYZABCDEFGHIJKLMN ... ... ... ZABCDEFGHIJKLMNOPQRSTUVWXY Polyalphabetische ChiffrierungBeispiel: Vigenère-Verfahren K Klartext: K KELLERREGAL D D N Chiffre: N HZTOJIN 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
Kleiderbügel einer Stasi-Spioninmit verstecktem One-Time-Pad (Aus: Spiegel Spezial 1/1990) Symmetrische ChiffrierungOne-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.
Aha! Symmetrische ChiffrierungGrundprinzip
Asymmetrische ChiffrierungGrundprinzippqqqqq Verdammt...
Grundvoraussetzung asymmetrischer Chiffrierung Chiffrierung ist eine Einwegfunktion Eine Funktion f: XY 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: XY 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
private key public key (d,n) (e,n) Idee der zwei Schlüsselprivate key – public key Wähle zwei Primzahlen p und q Bilde n = p·q Ermittle daraus
(d,n) (e,n) Idee der zwei Schlüsselprivate key – public key private key public key Wähle zwei Primzahlen p und q Bilde n = p·q Ermittle daraus Algorithmus E: Berechne C=Me mod n Algorithmus D: Berechne Cd mod n = Med mod n = ... = M
Quelle: http://www.usc.edu/dept/molecular-science/RSA-2003.htm Das RSA-Verfahren Nach Ron Rivest, Adi Shamir, Len Adleman
Etwas MathematikWie funktioniert RSA Idee: Wähle als Falltürfunktion f(p,q) = p·q, wobei p, qgroße Primzahlen sind p = 5, q = 7 Bilde n = p·q. Rechnen im Restklassenring Zn n = 35 (n)= 4·6 = 24 (n) = (p–1)·(q–1) sei die Eulersche - Funktion, dann gilt m(n) mod n = 1 (Satz von Euler)
Z 35 17 18 16 19 15 20 14 21 13 22 12 23 11 24 25 10 9 26 8 27 7 28 6 29 5 30 4 31 3 32 2 33 1 34 0 Satz von Euler - anschaulich Damit ergab sich n = 35 und (n) = 24 Wir wählten p = 5, q = 7 Nach Satz von Euler gilt: 424 mod 35 = 1 46 / 81 / 116 Es ist also 46 mod 35 = 1 44 Dann gilt aber auch 424 mod 35 = 1 64 36
Z 35 17 18 16 19 15 20 14 21 13 22 12 23 11 24 58 25 10 Es ist also 46 9 26 212 mod 35 = 1 8 27 44 7 28 Dann gilt aber auch 6 29 224 mod 35 = 1 5 30 4 31 3 32 64 2 33 1 34 0 36 Satz von Euler - anschaulich Damit ergab sich n = 35 und (n) = 24 Wir wählten p = 5, q = 7 Anderes Beispiel: 224 mod 35 = 1
Etwas MathematikWie funktioniert RSA Idee: Wähle als Falltürfunktion f(p,q) = p·q, wobei p, qgroße Primzahlen sind p = 5, q = 7 Bilde n = p·q. Rechnen im Restklassenring Zn n = 35 (n)= 4·6 = 24 (n) = (p–1)·(q–1) sei die Eulersche - Funktion, dann gilt m(n) mod n = 1 (Satz von Euler) e = 5 Wähle e teilerfremd zu (n), dann gibt es ein d mit e·d mod (n) = 1 (Berechnung mit Hilfe des erweiterten euklidischen Algorithmus) d = 5 Mit diesen Werten n, e, d und (n) = (p–1)·(q–1) gilt nun:
Algorithmus D Algorithmus E Etwas MathematikWie funktioniert RSA Mit diesen Werten n, e, d und (n) gilt nun: es ist e·d mod (n) = 1 = Me·d mod n (Me mod n)d mod n also gibt es k mit e·d = k·(n) + 1 = Mk·(n) + 1 mod n = Mk·(n) · M mod n Satz von Euler besagt: m(n)mod n = 1, also = (M(n))k· M mod n = 1k· M mod n M < n = M
Warum ist RSA so schwer zu knacken??? Algorithmus E benötigt Zahlen e und n. Algorithmus Dbenö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.
Wie setze ich RSA im Unterricht ein? • Cryptool • www.Matheprisma.de • Delphi • Netzwerke
Soweit zur Theorie! Weitere Informationen auf www.gymnasium-odenthal.de/download/rsa oder email an... dgarmann@freenet.de
Der erweiterteeuklidische Algorithmus read a, b (b < a) (u1, u2, u3) = (1, 0, a) (v1, v2, v3) = (0, 1, b) while v3 != 0 do q = u3 div v3 (Division ohne Rest) (t1, t2, t3) = (u1, u2, u3) - q (v1, v2, v3) (u1, u2, u3) = (v1, v2, v3) (v1, v2, v3) = (t1, t2, t3)