6: Public-Key Kryptographie (Grundidee)

Ähnliche Dokumente
Public Key Kryptographie

7: Grundlagen der Public-Key-Kryptographie

3: Zahlentheorie / Primzahlen

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

Kryptographie und Komplexität

Algorithmische Kryptographie

3 Public-Key-Kryptosysteme

Proseminar Schlüsselaustausch (Diffie - Hellman)

Aufgabe der Kryptografie

Vorlesung Sicherheit

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

Kryptographische Protokolle

Public-Key-Verschlüsselung und Diskrete Logarithmen

Hybride Verschlüsselungsverfahren

Vorlesung Sicherheit

Literatur. ISM SS 2017 Teil 8/Asymmetrische Verschlüsselung

Literatur. [8-9] ISM WS 2018/19 Teil 8/Asymmetrische Verschlüsselung

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Kryptographie und Komplexität

RSA-Verfahren Schnelle Ver- / Entschlüsselung Zusammenhang mit dem Faktorisierungsproblem. RSA-Verfahren. Herwig Stütz

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Übung GSS Blatt 6. SVS Sicherheit in Verteilten Systemen

IT-Sicherheitsmanagement. Teil 8: Asymmetrische Verschlüsselung

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren

IT-Sicherheit Kapitel 4 Public Key Algorithmen

Kryptographie und Komplexität

Das RSA Kryptosystem

Proseminar Datensicherheit & Versicherungsmathematik RSA-Verfahren

Asymmetrische Algorithmen

Kryptographie - eine mathematische Einführung

Zahlentheorieseminar: Einführung in die Public-Key-Kryptographie

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA

Verschlüsselung durch Exponentiation (Pohlig, Hellman, 1976)

Mathematische Methoden für Informatiker

WS 2009/10. Diskrete Strukturen

Übungen zur Vorlesung Systemsicherheit

Das RSA-Verfahren. Proseminar Kryptographische Protokolle SS Armin Litzel

6.2 Asymmetrische Verschlüsselung

Kryptograhie Wie funktioniert Electronic Banking? Kurt Mehlhorn Adrian Neumann Max-Planck-Institut für Informatik

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

WS 2013/14. Diskrete Strukturen

Betriebssysteme und Sicherheit

Attacken auf RSA und Das Rabin Kryptosystem

4 Der diskrete Logarithmus mit Anwendungen

RSA Verfahren. Kapitel 7 p. 103

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (RSA-Verfahren)

ADS: Algorithmen und Datenstrukturen 2

RSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)

Rabin Verschlüsselung 1979

Regine Schreier

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

Klausurtermin. Klausur Diskrete Mathematik I Do stündig

Public Key Kryptographie

Kryptografie Die Mathematik hinter den Geheimcodes

Vorlesung Sicherheit

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

3. Vortrag: Das RSA-Verschlüsselungsverfahren

Digitale Unterschriften mit ElGamal

7 Asymmetrische Kryptosysteme

4 Kryptologie. Übersicht

Kapitel 3 Elementare Zahletheorie

11. Das RSA Verfahren

El Gamal Verschlüsselung und seine Anwendungen

Kryptographie und Komplexität

Kryptographie. Nachricht

Kryptographie und Komplexität

Ideen und Konzepte der Informatik Kryptographie

Kryptographie und Komplexität

4 Der diskrete Logarithmus mit Anwendungen

Kryptographie mit elliptischen Kurven

4: Algebraische Strukturen / Gruppen

Kryptographische Algorithmen

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

INFORMATIONSSICHERHEIT

RSA Äquivalenz der Parameter

11. Das RSA Verfahren und andere Verfahren

Kryptographische Grundlagen

VIII. Digitale Signaturen

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Elliptische Kurven in der Kryptographie. Prusoth Vijayakumar / 16

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

VI. Public-Key Kryptographie

Mathematisches Kaleidoskop 2014 Materialien Teil 2. Dr. Hermann Dürkop

Einführung in die asymmetrische Kryptographie

Asymmetrische Kryptographie u

IT-Security. Teil 9: Asymmetrische Verschlüsselung

Anwendungen der Linearen Algebra: Kryptologie

Digitale Unterschriften Grundlagen der digitalen Unterschriften Hash-Then-Sign Unterschriften Public-Key Infrastrukturen (PKI) Digitale Signaturen

Kryptographie und elliptische Kurven - oder: Wie macht man Mathematikern das Leben schwer?

10. Public-Key Kryptographie

Diskreter Logarithmus und Primkörper

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

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

4 Diskrete Logarithmen und Anwendungen

INFORMATIONSSICHERHEIT

Transkript:

6: Public-Key Kryptographie (Grundidee) Ein Teil des Schlüssels ist nur dem Empfänger bekannt. Der auch dem Sender bekannte Teil kann sogar veröffentlicht werden. Man spricht dann von einem Schlüsselpaar. Schlüsselpaar: öffentlicher (P K) und geheimer Schlüssel (SK) Kein sicherer Kanal benötigt Jeder kann mit P K verschlüsseln, Nur mit SK kann entschlüsselt werden I. A. ineffizienter als symmetrische Kryptographie Alice Bob C = E P KB (M) (P K A, SK A ) (P K B, SK B ) 187 6: Public-Key Krypto

6: Public-Key Kryptographie (Beispiel: RSA) ( Diskrete Strukturen) 1 Wähle große Primzahlen p und q; berechne n := pq 2 wähle e Zϕ(n) ; berechne d: ed 1 (modϕ(n)). 3 Schlüssel: Tripel (e, d, n); öffentlich: (e, n) geheim: d 4 Verschlüsselungsfunktion E: E (e,n) (x) = x e mod n 5 Entschlüsselungsfunktion D: D (e,d,n) (y) = y d mod n 188 6: Public-Key Krypto

Vorstellbare Angriffe auf RSA 1 Faktorisieren von n. (Gilt als extrem schwierig!) 2 Berechnen von ϕ(n). (Dann kann man n faktorisieren Tafel!) 3 Ermitteln eines d mit x ed x ed x (modn); nicht notwendigerweise d = d. (Wg. ed = kϕ(n) + 1 erhält man Information über ϕ(n).) 4 Berechnen der e-ten Wurzel modulo n ( RSA-Wurzel ). (Vermutlich ebenso schwierig wie die Faktorisierung.) 5 Iteriertes Verschlüsseln des Kryptogramms. (Erfordert mit überwältigender Wahrscheinlichkeit astronomisch viele Iterationen nächste Folie.) 189 6: Public-Key Krypto

Iteriertes Verschlüsseln Geg. y Z n, wende den folgenden Algorithmus an: x := y. Solange x e y mod n: x := x e mod n. Gib x aus. (Offenbar: y x e (mod n).) It. Verschl. terminiert nach endlicher Zeit. (Warum?) In der Praxis: endliche Zeit fast immer überwältigend groß. Geg.: e = 17, n = 2773, y = 2209; ges: x mit E(x) = y? E(2209) = 2209 17 = 1504 E(1504) = 1504 17 = 2444 E(2444) = 244 17 = 470 E( 470) = 470 17 = 2209 Heureka! Es ist x = 470. 190 6: Public-Key Krypto

6.1: Das Rabin-Kryptosystem Wie RSA, aber e = 2. Algorithmische Grundlage: Für zusammengesetztes n ist es extrem schwierig, die Gleichung x 2 y (mod n) zu lösen. Wenn man die Primteiler p und q von n kennt, kann man die Quadratwurzeln x p und x q (mod p bzw. mod q) effizient berechnen: x p 2 y (mod p) und x q 2 y (mod q). Mit dem Chinesischen Restsatz kann man x effizient berechnen, wenn man x p und x q kennt. 191 6: Public-Key Krypto 6.1: Rabin

Quadratwurzeln modulo einer Primzahl Sei p > 2 prim. Entweder, p 3 (mod 4) oder p 1 (mod 4). In beiden Fällen kann man Quadratwurzeln mod p effizient berechnen. Wir betrachten nur den (mathemtisch einfacheren) Fall p 3 (mod 4). Sei a Z p. Gesucht: x mit x 2 a mod p. Da p prim ist, gilt ϕ(p) = p 1. Sei ggt(p, x) = 1. Nach dem kleinen Satz v. Fermat gilt Daraus folgt: x p 1 1 a (p 1)/2 (mod p). x 2 a 1 a a (p 1)/2 a a (p+1)/2 a 2(p+1)/4 (a 2 ) (p+1)/4 (mod p). Also gilt x = a (p+1)/4 (mod p) oder x = a (p+1)/4 (mod p). 192 6: Public-Key Krypto 6.1: Rabin

Ein Spezialfall des Chinesischen Restsatzes Satz 16 Seien m = m 1 m 2 mit ggt(m 1, m 2 ) = 1; y 1 = m 1 2 (mod m 1 ), und y 2 = m1 1 (mod m 2 ). Für a 1, a 2 Z und x = a 1 y 1 m 2 + a 2 y 2 m 1 gilt: x a 1 (mod m 1 ) und x a 2 (mod m 2 ). Beweis Es ist 1 mod m 1 0 mod m 1 {}}{{}}{ x = a 1 y 1 m 2 + a 2 y 2 m 1, also x a 1 1 + 0 a 1 mod m 1. Analog x a 2 mod m 2. Nutzen für Rabin: m 1 = p, m 2 = q, x p y 1 m 2 + x q y 2 m 1 = x. 193 6: Public-Key Krypto 6.1: Rabin

Rabin (Grundlagen) Für ungerade Primzahlen p q und n = pq gilt: Sei y Z p. Die Gleichung y = x 2 (modp) hat entweder gar keine oder genau zwei Lösungen, denn wenn y x 2 (mod p), dann y ( x) 2 (mod p). Sei y Z n. Die Gleichung y x 2 (mod n) hat entweder keine oder genau vier Lösungen x in Z n: 1 Eine Gleichung der Form y x 2 mod p ( ) bzw. y x 2 mod q ( ) hat entweder keine oder genau zwei Lösungen. 2 Hat (mindestens) eine der Gleichungen ( ) und ( ) keine Lösung, dann hat die Gleichung y = x 2 mod n auch keine. 3 Sonst ergibt jede Kombination je einer Lösung mod p und mod q (mit Hilfe des Chin. Restsatzes) eine Lösung mod n. 194 6: Public-Key Krypto 6.1: Rabin

Rabin (Definition) 1 Wie RSA: p, q und n = pq. 2 Verschlüsselungsfunktion E: E[x] = x 2 mod n. 3 Entschlüsselungsoperation D??? 195 6: Public-Key Krypto 6.1: Rabin

Rabin Entschlüsselung Gegeben ein Chiffretext y. Berechne die beiden Lösungen der Gleichung y x 2 (mod p). Berechne die beiden Lösungen der Gleichung y x 2 (mod q). Berechne daraus die vier Lösungen der Gleichung y x 2 (mod n). Welche Lösung nehmen wir denn nun? Entscheide, welche der vier Lösungen richtig ist. (Z.B. mit Hilfe einer Prüfsumme.) Strenggenommen ist D gar keine Funktion! 196 6: Public-Key Krypto 6.1: Rabin

Rabin (Sicherheitsbeweis) Satz 17 Seien n = pq ein Rabin-Modulus und A ein Algorithmus zur Berechnung von Quadratwurzeln modulo n. Der folgende Algorithmus liefert mit mindestens der Wahrscheinlichkeit 0.5 einen Primfaktor von n: 1 Wähle zufällig r Z n. 2 Berechne y = r 2 mod n. 3 Berechne t = ggt(y, n). Wenn t > 1, gib t aus. stop 4 Rufe A auf zur Berechnung von x mit x 2 y mod n. 5 Ist x ±r, gib 1 aus. Sonst gib ggt(x + r, n) aus. stop Beweis-Skizze: ( Tafel) 197 6: Public-Key Krypto 6.1: Rabin

6.2: Elektronischer Münzwurf Aufgabenstellung für ein kryptographisches Protokoll: Ein Disput zwischen Alice und Bob soll durch einen Münzwurf entschieden werden ( Kopf Alice gewinnt, Zahl Bob gewinnt). Kann man so etwas auch über Telefon oder Internet machen? (Das ist natürlich leicht, wenn beide Beteiligte sich auf die Ehrlichkeit des Gegenübers verlassen... ) 198 6: Public-Key Krypto 6.2: Elektr. Münzwurf

Münzwurf-Protokoll 1 Alice wählt Primzahlen p und q. Alice Bob: n = pq. (Intention: Bob gewinnt Bob findet Teiler t n, 1 < t < n.) 2 Bob wählt zufällig x Z n. Ist ggt(x, n) > 1 hat Bob bereits gewonnen. Sonst: Bob Alice: y = x 2 mod n. 3 Alice berechnet r 1,..., r 4 mit ( ) r i 2 y (mod n). Alice Bob: r {r i } (zufällig gewählt). 4 Bob rechnet nach, ob ( ) gilt. 5 Ist r ±x mod n, gewinnt Bob: ggt(r + x, n) {p, q}. 6 Kann Bob keinen Faktor p bzw. q angeben, muss Alice dies tun. Sie gewinnt nur, wenn n = pq gilt und p und q teilerfremd sind. Andernfalls verliert sie. 199 6: Public-Key Krypto 6.2: Elektr. Münzwurf

Kann Alice (unentdeckt) betrügen? Es gilt x {r i }. Sonst hat Alice keine Informationen über x. Ist n eine Primzahl(potenz), kann Alice im letzten Schritt selbst keine passenden Faktoren p und q angeben. Wählt Alice n als das Produkt mehrerer (verschiedener) Primzahlen, steigen Bobs Chancen, einen geeigneten Teiler t zu finden. Der Wert r ist tatsächlich eine Quadratwurzel von y (mod n). (Andernfalls würde Bob das beim Nachrechnen entdecken.) 200 6: Public-Key Krypto 6.2: Elektr. Münzwurf

Kann Bob betrügen? Bob kann versuchen, mehr als zwei Quadratwurzeln von y (modn) zu finden. Ebensogut kann er n faktorisieren. Ansonsten hat er keinen Einfluss darauf, welche Quadratwurzel r {r i } Alice ihm schickt. 201 6: Public-Key Krypto 6.2: Elektr. Münzwurf

6.3: Digitale Unterschriften Unterschrift von Hand : Physikalische Verbindung mit dem unterschriebenen Dokument (beides steht auf dem gleichen Blatt). Fälschen erfordert einiges Geschick (wenn die Fälschung bei einer gründlichen Prüfung nicht auffallen soll... ). Kopieren einer Unterschrift ist nicht möglich (Fotokopien und Faxe haben einen geringeren Beweiswert als Originale). 202 6: Public-Key Krypto 6.3: Digitale Unterschriften

Beispiel RSA-Modulus n = pq, öffentl. Exponent e, Verschlüsselungsoperation E geheimer Exponent d, Entschlüsselungsoperation D m Z n gilt ( Satz??): Für alle E(D(m)) = m, d.h. (m d ) e m (mod n). D.h., wenn man zuerst die geheime ( Signier -)Operation anwendet, und dann die öffentliche Operation (die Verifikation ), dann erhält man die ursprüngliche Nachricht. RSA-Modulus n = pq, öffentl. Exponent e, Verifikation E = V geheimer Exponent d, Signier-Operation D = S 203 6: Public-Key Krypto 6.3: Digitale Unterschriften

6.4: Diskrete Logarithmen( Diskrete Strukturen) Diffie-Hellman Schlüsselaustausch: Diskreter Logarithmus: Primzahl p und Generator g festgelegt. Alice: wählt a als geheimen Schlüssel öffentlicher Schlüssel: A = g a mod p. Bob: wählt b als geheimen Schlüssel öffentlicher Schlüssel: B = g b mod p. Geheimer Sitzungsschlüssel: K = g ab mod p. gegeben: Y g x (mod p); berechne : x Diffie-Hellman Problem : Gegeben A und B, berechne K. 204 6: Public-Key Krypto 6.4: Diskrete Logarithmen

ElGamal Verschlüsselung Schlüsselerzeugung Primzahl p und Generator g entweder extern festgelegt, oder Teil des öffentlichen Schlüssels wichtig: g ist erzeugendes Element der Gruppe Z p, d.h., alle i {1,..., p 1} können in der Form mit j N dargestellt werden geheim: a öffentlich: A = g a mod p. i = g j mod p 205 6: Public-Key Krypto 6.4: Diskrete Logarithmen

ElGamal Verschlüsselung Ver- und Entschlüsseln Verschlüsseln: Nachricht M Z p wähle b zufällig Chiffretext: (C 1, C 2 ) mit C 1 = g b mod p und C 2 = M A b mod p Entschlüsseln: ( Tafel) 206 6: Public-Key Krypto 6.4: Diskrete Logarithmen

Bemerkungen Chiffretexte sind doppelt so lang wie Klartexte. Wenn man zweimal die gleiche Nachricht M verschlüsselt, erhält man mit hoher Wahrscheinlichkeit zwei verschiedene Chiffretexte (im Unterschied zu RSA und Rabin). Es gibt auch ElGamal Unterschriften. Die Sicherheit der ElGamal Verschlüsselung beruht auf der Härte des Diffie-Hellman Problems. Unterschied zwischen Diffie-Hellman und ElGamal: Diffie-Hellman: g ist erzeugendes Element irgend einer Untergruppe von Z p. ElGamal: g ist erzeugendes Element der ganzen Gruppe Z p. Wichtig für die Effizienz praktischer Implementationen! 207 6: Public-Key Krypto 6.4: Diskrete Logarithmen

6.5: Sicherheitsparameter kurzfristig für mehrere Jahrzehnte Symmetrische Kryptosysteme 80 bit 100 bit RSA/Rabin n > 2 1300 n > 2 2500 Diffie-Hellman p > 2 1300 p > 2 2500 ord(g) > 2 160 ord(g) > 2 200 ElGamal p > 2 1300 p > 2 2500 ord(g) = p 1 ord(g) = p 1 208 6: Public-Key Krypto 6.5: Sicherheitsparameter

6.6: Schlussbemerkungen Sie sollten in der Lage sein, beispielhaft zu erläutern, wie Public-Key-Kryptographie grundsätzlich funktioniert, das RSA- Kryptosysstem als Chiffre zu erklären (auch die Schlüsselerzeugung), RSA-Beispiele mit kleinen Zahlen zu berechnen, Fragen zu Sicherheit und Korrektheit des RSA Kryptosytems zu beantworten, und all diese Erkenntnisse auf andere Public-Key Kryptosysteme zu übetragen, insbesondere auf: Rabin, das geschilderte Münzwurfprotokoll, digitale Unterschriften und Kryptosysteme, deren Sicherheit auf der vermuteten Schwierigkeit basiert, diskrete Logarithmen zu berechnen. 209 6: Public-Key Krypto 6.6: Schlussbemerkungen