Public Key Kryptographie mit dem RSA Schema

Slides:



Advertisements
Ähnliche Präsentationen
Eine Einführung in das RSA-Verfahren an Beispielen
Advertisements

Mündliche Fachprüfung
Beispiel zum RSA-Algorithmus
Fachhochschule Südwestfalen
Präsentation Der Gruppe: Boll, Barbosa, Blädel Klasse: WG 05 a.
1 ecash : das Geld auf der Festplatte Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
Kryptographie - ein Exkurs Kodieren/Dekodieren, Verschlüsseln/Entschlüsseln, Chiffrieren/Dechiffrieren zum Zweck der Geheimhaltung, zur Authentifizierung,
Hauptseminar Asymmetrische Verschlüsselung & Zertifikate
Asymmetrische Kryptographie
Asymmetrische Kryptographie
SS 2007 FG Datenbanken – Interaktive Systeme, Fachbereich 17 Praktische Informatik Prof. Dr. Lutz Wegner Elektronische Signatur Waldemar Wiegel Sommer.
HANDYGMA - kein Geheimnis -
GIN1b – Exkurs: Primzahlen
Verschlüsselungsverfahren Gruppe 3/ Judith Neu / Stephanie Czichon
Grundlagen der Kryptologie
Kryptographische Hash-Funktionen
Zahlentheorie Algebra und Kryptografie
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Symmetrische und Asymmetrische Verschlüsselung Habilitationsvortrag
Ein Public Key Kryptosystem mit perfekten Codes in Graphen.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Kryptologie.
Hashverfahren und digitale Signaturen
© by S.Strudthoff 2005 SET Sichere Kreditkartenzahlung im Internet.
Kryptologie Entwicklung und Bewertung von Verschlüsselungsverfahren
Effiziente Faktorisierung
Elektronische Signatur
SSL - Verfahren Secure Socket Layer.
Überblick über die Kryptographie
Einwegfunktionen mit und ohne „Falltür“
KRYPTOGRAFIE.
Asymmetrische Verfahren
Kryptographie Wie funktioniert Electronic Banking?
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
präsentiert von Ulli, Nina& Kerstin
Kryptologie Klaus Becker (2002).
Sicherheit in Computernetzen
Kryptograhie Wie funktioniert Electronic Banking?
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Was ist Kryptographie? Alice Bob Maloy (Spion)
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Polynome und schnelle Fourier-Transformation
Institut für Theoretische Informatik
Kurzvortrag für die Lehrerfortbildung
Der kleine Satz des Fermat
(C) 2003, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz 1 RSA-Algorithmus 1978 von Ronald Rivest, Adi Shamir und Leonard Adleman erfunden.
ENDLICHE KÖRPER RSA – VERFAHREN.
Verschlüsselung Von Daniel Dohr.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Systeme II Christian Schindelhauer Sommersemester 2006.
IT-Sicherheit Kapitel 3 - Public Key Kryptographie
Pretty Good Privacy Public Encryption for the Masses
Michal Olejniczak Pawel Kiedrowski
Projekt Crypt Einfache kryptografische Verfahren
Asymmetrische Kryptographie
RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt.
Folie Nr. Stand Jänner 2008 RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt RSA ist ein asymmetrisches Kryptosystem 
© 2013 TravelTainment Kryptographie in der IT Kryptographische Verfahren und ihre Anwendung in der IT.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2.
Systems Architecture RSA & DSA Signaturen Elliptische-Kurven-Kryptographie Mechmet Chiousemoglou Christian Krause 29.Mai.
Kryptographie ● Motivation ● Theoretisches ● Symmetrische Verschlüsselung: RC4 ● Asymmetrische Verschlüsselung: RSA.
Verschlüsselung nach dem RSA-Verfahren
RSA public key encryption
Kryptographie.
Aufgabenteil (mit Hilfsmittel)
Multivariate Kryptosysteme
 Präsentation transkript:

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

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

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: 100.000 FF bei 1 scan-chain 100.000 Takte 2 Pins und 2 Kanäle, bei 100 scan-chain nur noch 1000 Takte aber 200 Pins und 200 Kanäle

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

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

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.

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: 100.000 FF bei 1 scan-chain 100.000 Takte 2 Pins und 2 Kanäle, bei 100 scan-chain nur noch 1000 Takte aber 200 Pins und 200 Kanäle

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: 100.000 FF bei 1 scan-chain 100.000 Takte 2 Pins und 2 Kanäle, bei 100 scan-chain nur noch 1000 Takte aber 200 Pins und 200 Kanäle

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

„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)

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.

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?

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

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

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

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

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 ∙ 11 - 51 ∙ -3 = 1 (14 ∙ 11) mod 51 ≡ 1 a ∙ x - b ∙ y = 1 (a ∙ x) mod b ≡ 1

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)

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

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.

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

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

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:

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

Beispiel Verschlüsselung öffentliche Schlüssel: N = 216221 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 = 206690

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

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

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.

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

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

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

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

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

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 http://de.wikipedia.org/wiki/RSA-Kryptosystem http://www.heise.de/newsticker/meldung/42719