Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Public Key Kryptographie mit dem RSA Schema

Ähnliche Präsentationen


Präsentation zum Thema: "Public Key Kryptographie mit dem RSA Schema"—  Präsentation transkript:

1 Public Key Kryptographie mit dem RSA Schema
Karsten Fischer, Sven Kauer

2 Gliederung Historischer Hintergrund Public Key Kryptographie
Beispielszenario Einweg-Funktion RSA Verfahren Algorithmus Beispiel Signieren von Nachrichten Schwächen des RSA Angriffe auf den RSA Einsatzgebiete Zusammenfassung Quellen

3 Historischer Hintergrund
Bis in die 70er symmetrische Verfahren → Problem der Schlüsselverteilung 1976 Theorie über asymmetrische Verschlüsselung 1977 RSA am MIT (Rivest, Shamir, Adleman) 1980 durch RSA Data Security Inc. patentiert 1991 implemetiert in PGP durch Phil Zimmermann 2000 US-Patent läuft aus → RSA weltweit einsetzbar Beispiel: FF bei 1 scan-chain Takte 2 Pins und 2 Kanäle, bei 100 scan-chain nur noch 1000 Takte aber 200 Pins und 200 Kanäle

4 Public Key Kryptographie
Theorie von W. Diffie und M. Hellman, 1976 Asymmetrisches Verfahren: zwei verschiedene Schlüssel: Kodierung einer Nachricht Dekodierung einer Nachricht Kodierungsschlüssel soll keine Schlüsse auf den Dekodierungsschlüssel zulassen

5 Public Key Kryptographie
Public Key-Prinzip: (wichtige) asymmetrischen Variante Kodierungsschlüssel öffentlich (public key) Dekodierungsschlüssel geheim (private key)

6 Public Key Kryptographie
Public Key-Prinzip: jeder Teilnehmer T hat folgende Schlüssel: Public Key E = ET (Encryption) Private Key D = DT (Decryption) Eigenschaften der Schlüssel: für jede Nachricht m gilt: D(E(m)) = m und E(D(m)) = m privater Schlüssel D (praktisch) nicht aus Schlüssel E zu erschließen.

7 Beispielszenario Vorbereitungen: Kommunikationsgruppe
Jeder Teilnehmer T bekommt Schlüsselpaar (ET, DT) Schlüsselpaare der Teilnehmer sind verschieden Schlüssel E wird verteilt (Publikationsorgan/Zertifizierungsstelle) Schlüssel D bleibt geheim Beispiel: FF bei 1 scan-chain Takte 2 Pins und 2 Kanäle, bei 100 scan-chain nur noch 1000 Takte aber 200 Pins und 200 Kanäle

8 Beispielszenario Senden und Empfang: A will B die Nachricht m Schicken
A sucht Schlüssel EB von B heraus A verschlüsselt m mittels EB A verschickt EB(m) an B B entschlüsselt mit DB(m): DB(EB(m)) = m Beispiel: FF bei 1 scan-chain Takte 2 Pins und 2 Kanäle, bei 100 scan-chain nur noch 1000 Takte aber 200 Pins und 200 Kanäle

9 Beispielszenario Sicherheit:
Kein anderer Teilnehmer kann EB(m) entschlüsseln, weil ihm DB von B fehlt Analogie: Briefkasten: jeder kann Post in den Briefkasten einwerfen nur Briefkastenbesitzer kann sie herausholen Public Key E → Namensschild Private Key D → Briefkastenschlüssel

10 „Einweg-Funktionen“ (Trapdoor-functions)
Kodierungsschlüssel soll keine Schlüsse auf den Dekodierungsschlüssel zulassen Suche eine bijektive Funktion f(x) = y, die folgende Anforderungen erfüllt: einfache Berechnung von y bei bekanntem x schwere Berechnung von x bei bekanntem y „Einweg-Funktionen“ (Trapdoor-functions)

11 Einweg-Funktionen Def: Eine umkehrbar eindeutige ("bijektive") Funktion f : A → B mit x → y = f (x) heißt Einweg-Funktion, wenn der Funktionswert y relativ leicht aus dem Argument x berechnet werden kann, wenn es aber andererseits bei Kenntnis von y nur mit sehr großem Aufwand möglich ist, das Argument x zu ermitteln, das zum Funktionswert y gehört.

12 Einweg-Funktionen Analogie: Telefonbuch (einer großen Stadt)
Funktion f ermittelt Telefonnummer x aus Namen y → Nachschlagen (TB ist alphabetisch sortiert) Umkehrfunktion f -1 nur sehr aufwendig („ermittele Name y zur Telefonnummer x“) → nach Nummern sortiertes TB?

13 Einweg-Funktionen Einige Einwegfunktionen: Faktorisierung: y = x1 ∙ x2
Diskreter Logarithmus: y = bx mod n Diskrete Wurzel: y = xa mod n (n nicht prim)

14 RSA-Verfahren 1977 entdeckt von Rivest, Shamir und Adleman
Verfahren zum Erzeugen von Einweg-Funktionen basiert insbesondere auf: Euklidischer Algorithmus (kleinen) Satz von Fermat kein Algorithmus zur schnellen Primfaktorzerlegung bekannt

15 RSA-Verfahren Euklidischer Algorithmus: While (a>0) And (b>0)
If a > b Then a = a Mod b Else b = b Mod a End If Wend ggT = a + b

16 x ist das Inverse zu a mod b
RSA-Verfahren Erweiterter Euklidischer Algorithmus: Satz: Zu je zwei natürlichen Zahlen a und b (b ≠ 0) gibt es ganze Zahlen x und y mit der Eigenschaft GGT(a, b)= a ∙ x + b ∙ y. D.h. für teilerfremde a,b (GGT(a,b)=1): a ∙ x = 1 - b ∙ y bzw. a ∙ x ≡ 1 (mod b) x ist das Inverse zu a mod b

17 RSA-Verfahren Beispiel: Erweiterter Euklidischer Algorithmus ↓
Zwei teilerfremde Zahlen: a = 14, b = 51 (GGT(14, 51)=1) mögliche Werte: x = 11, y = -3 11 ist das Inverse zu 14 mod 51 14 ∙ ∙ -3 = 1 (14 ∙ 11) mod 51 ≡ 1 a ∙ x - b ∙ y = 1 (a ∙ x) mod b ≡ 1

18 RSA-Verfahren Satz von Fermat:
Satz: Ist p eine Primzahl und a eine zu p teilerfremde natürliche Zahl, so ist ap-1 ≡ 1 (mod p). Findet man auch als: ap ≡ a (mod p)

19 RSA-Verfahren Satz von Fermat: 2 2mod7 3 3mod7 5 5mod7 1 4 9 25 8 27 6
1 4 9 25 8 27 6 125 81 625 243 3125 729 15625 7 2187 78125

20 1 ∙ 2 ∙ … ∙ (p-1) = (1 ∙ a) ∙ (2 ∙ a) ∙ … ∙ ((p-1) ∙ a) (mod p)
RSA-Verfahren Beweis: Satz von Fermat Sind a, b inkongruent modulo einer festen Zahl n , dann sind auch x ∙ a und x ∙ b inkongruent (mod n) f.a. x > 0 mit GGT(x,n )=1 1 ∙ 2 ∙ … ∙ (p-1) = (1 ∙ a) ∙ (2 ∙ a) ∙ … ∙ ((p-1) ∙ a) (mod p) W = W ∙ ap-1 (mod p) 1 = ap-1 (mod p) qed.

21 RSA-Verfahren Anwendungen des Satzes Primzahlerzeugung?
Wenn p Primzahl, dann gilt ap ≡ a (mod p) Gilt auch: „Wenn ap ≡ a (mod p), dann ist p Primzahl“? Nein → Fermatsche Pseudoprimzahlen

22 RSA-Verfahren Anwendungen des Satzes Primzahltest?
Fermatscher Primzahltest: Berechne b = an-1 (mod n) Prüfe b = 1, bei erfolg: b Primzahlkandidat Langsam und Aufwendig

23 Algorithmus Kodierung
Wähle Zufällig zwei Primzahlen p und q, welche „nahe“ beieinander liegen. Bestimmt deren Produkt N. Ermittle . Bestimme ein e , s. d. e > 1 und teilerfremd zu Berechne aus den geheimen Schlüssel d. Somit ist der öffentliche Schlüssel: N, e und der geheime Schlüssel: d Die Kodierung erfolgt mit:

24 Beispiel Schlüsselerstellung
Primzahlen: p = 463 und q = 467 ermitteln: ermitteln: bestimmen: , teilerfremd zu , ermitteln: mögliche Lösung: , öffentliche Schlüssel: N = und e = 277 geheimer Schlüssel: d = 17099

25 Beispiel Verschlüsselung
öffentliche Schlüssel: N = und e = 277 Klartext K = 174 C ermitteln: gerechnet mit modularer Exponentiation Quad := b, Halb := e, Erg := 1 while Halb > 0 if Halb mod 2 > 0 then Erg := (Erg * Quad) mod m Quad = (Quad * Quad) mod m Halb = Halb div 2 end while return Erg Geheimtext C =

26 Beispiel Dekodierung Dekodierung mit .
öffentliche Schlüssel: N = geheimer Schlüssel: d = 17099 Geheimtext C = K ermitteln: gerechnet mit modularer Exponentiation Klartext K = 174

27 Signieren von Nachrichten
Idee: Dokumente mit einer digitalen „Unterschrift“ versehen. 1. Vorteil: Integrität, d. h. es wird die Unversehrtheit der übermittelten Nachricht sichergestellt 2. Vorteil: Authentizität, d. h. die Nachricht wurde vom richtigen Absender versandt

28 Signieren von Nachrichten
Absender besitzt eigenen Schlüsselsatz. Absender kodiert seine Nachricht mit d, sprich: Absender versendet signierte und unsignierte Nachricht an Empfänger. Empfänger dekodiert die Nachricht mit e, Empfänger vergleicht unsignierte und dekodierte Nachricht miteinander und prüft auf Gleichheit.

29 Schwächen des RSA asymmetrisches Verfahren, welches für das Ver- und Entschlüsseln große K viel Zeit benötigt Wahl der Primzahlen kann nicht einfach zufällig erfolgen „Sicherheit“ beruht auf der Annahme das die Zerlegung von N in seine Primfaktoren in polynomieller Zeit nicht gelingen kann. Beweis steht aus Shor-Algorithmus löst das Problem auf Quantencomputern in P

30 Angriffe auf den RSA Verfahren substituiert Klartext zu Geheimtext, weshalb Angriffe mit der Known-Plaintext-Angriffe und Wahrscheinlichkeitsanalyse möglich sind. Bei schlecht gewählten Primzahlen, kann aus N auf wenige mögliche Paare geschlossen werden. Zerlegung in Primfaktoren ist bedingt schon gelungen: RSA-567 mit 174 Ziffern Mersenne-Zahl mit 228 Ziffern Timing Attacks

31 Timing Attacks auf den RSA
Idee: Geheimtexte mit dem öffentlichen Schlüssel so erstellen, das die Dechiffrierung lange benötigt, um fehl zu schlagen. Vorgehen Festlegen eines großen Startwertes Schleife Messen der Laufzeit der einzelnen Anfragen wird gemessen. Aus auffälligen Messwerten wird auf Werte geschlossen, welche ausprobiert werden. Ausgabe des geheimen Schlüssels

32 Einsatzgebiet Internet- u. Telefonie-Infrastruktur: X.509-Zertifikate
Übertragungs-Protokolle: IPSec SSL TLS SSH WASTE -Verschlüsselung: PGP S/MIME Authentifizierung französischer Telefonkarten

33 Zusammenfassung RSA asymmetrisches Verschlüsselungsverfahren
benutzt öffentliche und geheime Schlüssel Nachrichten können nur von einem Empfänger gelesen, aber vielen Absendern versandt werden Algorithmus beruht auf der scheinbaren Unmöglichkeit der Zerlegung von großen Produkten in Primfaktoren Verschlüsselung und Entschlüsselung erfolgt nach einfachen Formeln

34 Quellen „Handbook of Applied Cryptography“
A. Menezes, P. C. van Oorschot, S. A. Vanstone „Remote Timing Attacks are Practical“ D. Brumley, D. Boneh „Pulic Key Cryptographie“ J. Ziegenbalg


Herunterladen ppt "Public Key Kryptographie mit dem RSA Schema"

Ähnliche Präsentationen


Google-Anzeigen